COLDCARD RNG incident the public record, collected and explained
Informational only, and this site never asks for your seed words. details

Informational only. This is an open source collection of what others have published about the incident, together with an explanation of it. It is not financial, security or legal advice, and not a substitute for professional advice about your own situation. It is not affiliated with, endorsed by, or speaking for Coinkite. Material is attributed and quoted as published; where sources disagree their scenarios are kept separate with their assumptions rather than reconciled into one answer. Everything is meant to be checked against the linked evidence rather than taken on trust. Act on your own judgement about a particular situation. Editorial standards and corrections.

Do not disclose recovery material to a website, form, message or support account. This site never asks for it, and contributions containing recovery words or private keys are not accepted.

Some SecureRandom thoughts

android-securerandom-2013

https://android-developers.googleblog.com/2013/08/some-securerandom-thoughts.html

Organisation
Android Developers
Evidence role
Vendor statement
Published
2013-08-14
Source changes
0
Detected differences
0
Unreviewed
0
Copies held
1

Primary Android statement on improper PRNG initialization affecting some cryptographic applications, including Bitcoin wallets.

Every check is recorded, including checks that found no text change. A detected edit is therefore bounded between two checks. The publisher's exact save time is not observable from this record. Last checked .

  1. Earliest copy held Current
    seen · Captured here 12,106 chars
    Extracted text as captured
    ☰
    Android Developers Blog
    The latest Android and Google Play news for app and game
    developers.
    🔍
    Android Developers →
    Jetpack
    Kotlin
    Docs
    News
    Platform
    Android Studio
    Google Play
    Jetpack
    Kotlin
    Docs
    News
    Platform
    Android Studio
    Google Play
    Jetpack
    Kotlin
    Docs
    News
    More
    |
    14 August 2013
    Some SecureRandom Thoughts
    Share this post
    LinkedIn
    Twitter
    Facebook
    Email
    Copy link
    Link copied to clipboard
    Posted by Alex Klyubin, Android Security Engineer
    The Android security team has been investigating the root cause of the compromise of a bitcoin transaction that led to the update of multiple Bitcoin applications on August 11.
    We have now determined that applications which use the Java Cryptography Architecture (JCA) for key generation, signing, or random number generation may not receive cryptographically strong values on Android devices due to improper initialization of the underlying PRNG. Applications that directly invoke the system-provided OpenSSL PRNG without explicit initialization on Android are also affected. Applications that establish TLS/SSL connections using the HttpClient and java.net classes are not affected as those classes do seed the OpenSSL PRNG with values from /dev/urandom.
    Developers who use JCA for key generation, signing or random number generation should update their applications to explicitly initialize the PRNG with entropy from /dev/urandom or /dev/random. A suggested implementation is provided at the end of this blog post. Also, developers should evaluate whether to regenerate cryptographic keys or other random values previously generated using JCA APIs such as SecureRandom, KeyGenerator, KeyPairGenerator, KeyAgreement, and Signature.
    In addition to this developer recommendation, Android has developed patches that ensure that Android’s OpenSSL PRNG is initialized correctly. Those patches have been provided to OHA partners and have been checked into the Android tree. Applications which run exclusively on Android KitKat (4.4) or above do not need to take any special action to work around this bug.

    Excerpt only. The complete copy is held offline and backs quotations on this site. The original publication remains the canonical public source.

How to check this yourself

The excerpts and plain unified diffs above show the text this project held and how it changed. To verify a quotation, compare it against the page itself or against the Internet Archive's copies, which are independent of this project.

Complete captures are held offline rather than mirrored here, so this page shows diffs and excerpts. If a quotation is ever disputed, the full copy can be produced. Ask.