Coldcard 펌웨어 커밋 분석: 'runs' 한 단어가 비트코인 자금을 위험에 빠뜨린 방법
When random.bytes() runs but doesn't work

게스트 작성자 ddustin이 Coldcard 펌웨어의 취약한 엔트로피 버그를 분석합니다. 문제의 커밋은 메시지가 'runs' 한 단어뿐인데 1534줄의 코드를 변경했고, 하드웨어 RNG를 비활성화하는 `#define MICROPY_HW_ENABLE_RNG (0)` 코드가 포함되어 있었습니다. 이로 인해 지갑 생성 시 사용되는 `random.bytes()`가 안전하지 않은 Yasmarang 난수 생성기를 사용하게 되었습니다. 개발자가 C 코드를 제대로 이해하지 못한 채 컴파일 오류를 무시하고 임시방편으로 처리한 결과로 보입니다.
당신이 배송하는 코드를 반드시 이해해야 합니다. 그게 전부입니다. 변명의 여지가 없습니다.