AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 37 Bitcoin

Require external entropy for all new master seed wallets - with new options dice/coin/mash

Public commit record

What the developer wrote

Authored by scgbckbone

78/100 · Adequate
Require external entropy for all new master seed wallets - with new options dice/coin/mash

Deduplicate dice and coin collection while retaining separate mash handling. Capture raw mash press edges with the DWT CPU cycle counter (~8.33ns at 120MHz) before debounce. Credit two bits per inter-press gap, requiring 65 presses for 64 credited gaps; key identity is mixed in but receives no entropy credit.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Names security-relevant behavior explicitly
The short version

What changed, and why it matters

This commit changes how new COLDCARD wallets are created: instead of relying only on the device's internal random-number generators, users must now add their own physical randomness by either mashing keys, rolling dice, or flipping coins. The internal random sources are still used, but the user's extra randomness is mixed in. This is a security improvement meant to reduce the risk that a hidden flaw in the device's random-number hardware could produce a predictable wallet. The change also adds checks to catch obviously biased dice or coin results.

Recommended action

No immediate action is required; this is a defensive hardening change. Users and auditors should verify that the new entropy collection UX is clear, that the minimum entropy thresholds are enforced, and that the key-mash IRQ path cannot lose or duplicate edge timestamps under load. Firmware testers should confirm the simulator fallback (utime.ticks_us()) does not affect real-device behavior.

Security signals we found

01

Mandatory user-supplied entropy for new master seeds

02

Raw GPIO edge timing captured in hard IRQ before debounce

03

DWT CYCCNT used for high-resolution timing of key-mash events

04

Domain-separated SHA-256d mixing of base seed and supplemental entropy

05

Distribution checks for biased dice/coin input

06

Sensitive intermediate buffers blanked after seed derivation

07

Removal of optional dice-roll remix from word-approval screen

Risk score

Why this scored 37/100

Our methodology →
Potential impact 5/30
Exploitability 5/25
Stealth signal 5/15
Affected reach 10/15
Confidence 8/10
Evidence quality 4/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.