random.bytes()는 실행되지만 작동하지 않을 때 | Hacker News
When random.bytes() runs but doesn't work | Hacker News
TL;DR AI
1분핵심 요약
Coldcard 지갑의 RNG 버그는 단순한 플래그 실수가 아니라, MicroPython의 하드웨어 난수 경로를 자체 코드로 바꾸는 큰 변경 과정에서 생겼다.
정의 여부를 확인하는 체크와 값 비교가 뒤섞이면서, 의도한 STM32 TRNG 대체 경로가 활성화되지 않았다.
그 결과 보안이 약한 PRNG 기반 폴백이 사용될 수 있었고, 테스트에서도 약한 난수와 진짜 난수가 비슷해 보여 문제를 알아채기 어려웠다.
암호화 장치는 진짜 난수가 없을 때 안전하게 실패해야 하며, 숨은 PRNG 폴백은 키 생성과 전체 보안을 훼손할 수 있다.



