취약점의 근원은 2021년 3월 1일 커밋에서 발생한 펌웨어 빌드 오류이며, Coldcard Mk3 펌웨어 버전 4.0.1부터 포함됐습니다. 콜드카드 기기에는 전용 하드웨어 진정한 난수 생성기(TRNG)가 탑재되어 있습니다. 문제의 펌웨어는 이 TRNG를 건너뛰고 소프트웨어 기반의 가짜 난수 생성기(Pseudo-Random Number Generator)로 대체하도록 만들었습니다.
암호학적으로 안전한 엔트로피 대신, 이 소프트웨어는 칩의 일련번호와 내부 클록이라는 예측 가능한 입력값을 바탕으로 시드를 생성했습니다. 이로 인해 의도했던 256비트의 강력한 엔트로피가 극도로 작은 수준으로 떨어졌습니다. 취약한 기기에서 생성된 시드 문장은 더 이상 '무작위'가 아니었습니다. 일련번호와 클록 값은 오프라인에서 추측하거나 무차별 대입(Brute-force)으로 알아낼 수 있었기 때문에, 공격자는 물리적 기기를 만지지 않고도 해당 지갑의 전체 시드 문장(12개 또는 24개 단어)을 재구성할 수 있었습니다.
공격자(들)는 오프라인에서 대규모 시드 열거(Enumeration)를 수행했습니다. 즉, 취약한 펌웨어 버전에서 나올 수 있는 모든 약한 시드를 계산하고, 이에 해당하는 개인 키를 추출한 뒤 잔액을 스캔하고 자금을 빼돌렸습니다. 온체인 분석 기업 갤럭시 리서치(Galaxy Research)는 주요 도난 경로를 추적하고 최소 3개의 서로 다른 공격자 그룹(cluster)을 확인했습니다.
여러 소식통은 AI 기반 코드 감사가 이 취약점 발견에 사용됐을 가능성을 제기했습니다. 또한 AI 도구는 대규모 오프라인 시드 열거 및 잔액 스캐닝을 가능하게 하여 이번 해킹 규모를 현실화한 핵심 요소로 지목됩니다. 이 사건은 'AI 기반 취약점 발견의 새로운 시대'를 알리는 신호탄으로 받아들여지며 업계에 큰 논란을 일으켰습니다.
코인킨트의 대응은 신속했습니다.
피해자들의 반응은 혼란 그 자체였습니다. 많은 사용자들이 자신의 자금이 이미 인출된 후에야 취약점을 알게 됐습니다. 7월 30일 오후, 소셜 미디어에는 빈 지갑을 확인했다는 신고가 쇄도했습니다. 커뮤니티 대응도 혼란스러워서, 지갑 상태를 확인해주는 여러 경쟁 사이트가 등장했지만 그중 일부는 피싱 사이트였습니다. 시드 복원 문장 재구성 공격의 피해자들은 중앙화된 관리자에게 도움을 요청할 곳이 없어 사실상 속수무책입니다.
경쟁사(레저)의 대응: 레저(Ledger)는 자사 기기가 영향을 받지 않았다고 공식 발표했습니다. 레저는 보안 칩에 내장된 인증된 TRNG를 사용하여 모든 복구 문장에 대해 완전한 256비트 엔트로피를 생성한다고 밝혔습니다.
도난 자금은 일부 세탁 시도가 있었음에도 불구하고, 대부분 미사용 상태로 추적되며 사실상 동결돼 있습니다.
자금이 공개된 비트코인 주소에 있고 실시간으로 추적되고 있기 때문에, 공격자들은 탐지되지 않고 대규모로 현금화하는 데 막대한 어려움을 겪고 있습니다. 자금은 사실상 동결됐지만 피해자에게 반환되지는 않았으며, 최신 보도 시점까지 법 집행 기관의 압수는 공식적으로 확인되지 않았습니다.