하나의 함수가 변경되었고, 보안 모델도 함께 변경되었습니다.
2021년 3월, 지갑 생성이 보드 전용 RNG 경로에서 ngu.random.bytes(). 빌드가 해당 호출을 MicroPython의 소프트웨어 폴백으로 해결했습니다. 의도된 RNG 코드는 펌웨어에 존재했지만, 시드 생성이 이를 도달하지 못했습니다.
사건 파일 · 취약한 시드 생성
지갑이 모든 단어를 받아들였고, 백업이 복원되었으며, 체크섬이 통과했습니다. 그러나 이는 비밀이 추측하기 어려웠다는 증거가 되지 않습니다. Coldcard, Trust Wallet, Libbitcoin 모두 위험할 정도로 작은 탐색 공간을 가진 생성 경로를 제공했습니다. 이것이 증거입니다.
1차 출처 원장
출처, 날짜, 확정 발견, 한계. 그 외는 해설.
| 기록 | 게시됨 | 설정 내용 | 제한 |
|---|---|---|---|
| Coinkite 자문 ↗벤더 공개 | 2023년 8월 1일 업데이트 | 영향을 받는 릴리스, ≈40/72비트 추정치, 주사위/패스프레이즈 조건, 수정된 버전 및 마이그레이션 순서. | 추정치는 예비 단계입니다. 자문은 도난 규모를 수치화하지 않습니다. |
| Ledger Donjon ↗CVE-2023-31290 | Trust Wallet 확장 생성기의 엔트로피가 32비트에 불과했습니다. Donjon이 전체 시드 세트를 생성했습니다. | 새로 생성된 확장 지갑은 범위에 포함되었으며, 가져온 시드는 제외되었습니다. | |
| Milk Sad ↗CVE-2023-39910 | bx 3.0.0–3.6.0 확인된 악용 가능; 2,600개 이상의 지갑이 관찰됐으며 ≈$900K의 연관 손실. |
구버전에 대한 주장 bx 버전은 공개 시점에 아직 예비 단계에 머물러 있습니다. |
|
| BIP39 ↗배포된 사양 | 니모닉은 초기 엔트로피 128–256비트와 체크섬을 인코딩합니다. 컴퓨터가 생성한 무작위성을 전달합니다. | 이 형식은 지갑이 실제로 엔트로피를 안전하게 생성했는지를 인증할 수 없습니다. |
대화형 · 비밀 입력 없음
문서화된 사례를 선택한 뒤 합성 탐색 속도를 변경합니다. 모델은 상태 공간 크기만 비교하며 시드, 주소, 장치 식별자를 요구하지 않습니다.
올바르게 읽으세요. 후보 파생 및 검증 비용은 지갑, 체인, 공격 제약에 따라 다릅니다. 이는 투명한 키스페이스 비교이며, 기준은 초당 10억 후보, 표시된 시간 내에 특정 지갑이 해킹될 것이라는 예측이 아닙니다.
Coldcard · 2026년 7월 30일 공개
이는 Coinkite의 자체 조사 결과입니다. 펌웨어 통합 오류로 인해 지갑 생성이 장치가 사용해야 할 하드웨어 RNG가 아니라 MicroPython의 결정적 폴백으로 전송되었습니다. 결과적인 단어들은 정상처럼 보였고, 지갑은 동작했지만 검색 공간은 그렇지 않았습니다.
2021년 3월, 지갑 생성이 보드 전용 RNG 경로에서 ngu.random.bytes(). 빌드가 해당 호출을 MicroPython의 소프트웨어 폴백으로 해결했습니다. 의도된 RNG 코드는 펌웨어에 존재했지만, 시드 생성이 이를 도달하지 못했습니다.
이는 Coinkite가 현재 제시한, 영향을 받은 Mk2/Mk3 시드에 대한 예비 추정치입니다. 공격 모델은 장치와 타이밍 상태를 제한하고, 공개 주소를 통해 공격자는 오프라인으로 후보를 테스트할 수 있게 됩니다.
expected ≥ 2¹²⁸→estimated ≈ 2⁴⁰후속 모델은 보안 요소 소재를 상태에 혼합했지만, 재시드 경로에서 살아남은 부분은 일부에 불과합니다. Coinkite는 약 72비트라고 추정합니다. 수정된 펌웨어 버전은 Mk4/Mk5용 5.6.0, Q용 1.5.0Q, Edge용 6.6.0X/6.6.0QX입니다. 해당 릴리스 이전에 생성된 시드는 펌웨어를 업데이트해도 안전해지지 않습니다.
expected ≥ 2¹²⁸→estimated ≈ 2⁷²펌웨어는 다음 시드를 수정할 수 있지만, 이미 자금을 제어하고 있는 시드는 재작성할 수 없습니다. Coinkite는 영향을 받은 사용자에게 수정된 펌웨어에서 완전히 새로운 시드를 생성하고 자금을 옮기도록 안내합니다.
새 백업, 지문 및 수신 주소를 확인하십시오. 먼저 소액을 테스트로 보내고, 도착 확인 후 나머지를 이동하십시오.Coinkite 공식 마이그레이션 안내를 요약한 내용
이번이 처음이 아닙니다
‘이론적 위험’이 아닙니다. ‘사용자 위생 부실’도 아닙니다. 실제 작동하는 지갑이 공격자가 탐색할 수 있는 공간에서 유효한 구문을 생성했으며, 이후 실제 자금이 이동했습니다.
사례 01 · COLDCARD · 공급업체 보안 권고
사례 02 · TRUST WALLET · CVE-2023-31290
CASE 03 · MILK SAD · CVE-2023-39910
bx seed Libbitcoin Explorer 3.0.0–3.6.0에서단어 수만으로는 아무것도 증명하지 못한다
BIP39는 엔트로피를 읽을 수 있는 단어로 변환하고 체크섬을 추가한다. 엔트로피가 어디서 왔는지는 검증하지 않는다. 2³²개의 예측 가능한 상태 중 하나를 제공하면 완전히 유효한 24단어 구문을 반환한다. 체크섬은 통과한다. 공격자는 여전히 2³²개의 후보만을 갖게 된다.
유일하게 유용한 질문
현재 저장된 위치가 아니라, 언제, 어떤 릴리즈에서, 어떤 난수원으로 생성되었는지. 8가지 사실. 시드 스캔 없음. 허위 인증서 없음.
답변이 실제로 보여주는 것
갭
없음. 감사는 이 브라우저 탭에서 실행됩니다. 요청이 전송되지 않고, 아무것도 저장되지 않으며, 결과를 확인할 수 없습니다. 숫자는 선택한 격차를 순위 매길 뿐이며, 기존 시드의 엔트로피를 측정할 수 없습니다.
생성 경로가 영향을 받았다면
벤더의 정확한 권고를 사용하십시오. 순서가 중요합니다: 먼저 검증하고, 소량을 테스트하고, 마지막에 이동합니다. 패닉은 하나의 손상된 시드가 두 개의 손실된 지갑이 되는 원인입니다.
자금을 건드리기 전에
대체 시드 생성
두 번째 사고를 만들지 마십시오
원치 않는 복구 제안을 무시하십시오. 그들은 시드를 필요로 하지 않습니다.
PhishDestroy의 요청
누군가 지갑을 무차별 대입(brute‑force) 하겠다고 제안하거나, 사기꾼을 “hack back” 하겠다고 하거나, 선불 비용을 받고 복구를 보장한다면, 이는 두 번째 공격이라고 가정하세요. 상대는 원래 범죄 조직일 수도 있고, 피해자 명단을 구매한 사람일 수도 있습니다. 책임 있는 전문가도 자신이 통제할 수 없는 결과를 보장할 수 없습니다.
우리가 이것을 썼다고 해서 우리를 믿지 마세요. AI가 확신에 차 보인다고 해서 믿지 마세요. 충격 상태에서 자신의 확신에 의존하지 마세요. 잠시 멈추고, 독립적으로 검증하세요. 당신을 잘 알고, 금전적 이해관계가 없는 사람에게 이야기하세요.
압박, 비밀 유지, 죄책감, “당신을 위해 거래를 했어요”라는 말, 가족과의 대화를 금지하는 조치, 원격 접근 소프트웨어, 새로운 세금·가스·활성화 수수료, 혹은 금전 대여 요청 등은 모두 경고 신호입니다. 연락을 끊고, 어떤 결정도 내리기 전에 충분히 잠을 자세요.
내부에서는 설득력 있게 보이는 사기도 외부에서는 명백히 드러납니다. 요약이 아니라 원본 메시지를, 사건에 관여하지 않은 가까운 사람에게 공유하세요. 그들의 독립적인 시각은 비용이 들지 않습니다.
거래 해시, 지갑 주소, URL, 사용자명, 전화번호, 메시지, 음성 메모, 영수증 및 타임스탬프를 저장하세요. 지역 경찰 및 Chainabuse에 신고하십시오. 거래소가 자산을 동결하더라도 법적 반환은 일반적으로 공식 사건, 소유 증명 및 귀하의 협조가 필요합니다.
손실을 이용해 무단 접근, 절도, 자금 세탁, 주택 담보 대출 등으로 끌어들이거나, 전화상 낯선 사람이 지시하는 행위에 가담하도록 하지 마세요.
“mega‑brute”와 같이 수백만 개의 키를 검색해 비트코인을 찾겠다고 약속하는 도구나 프로그램을 다운로드하지 마세요. 바이너리는 지갑 파일, 비밀번호 및 시드 구문을 탈취하고, 컴퓨터를 봇넷에 연결하거나 GPU로 채굴을 수행할 수 있습니다. VirusTotal이 알려진 탐지를 보여줄 수 있지만, 결과가 깨끗하다고 해서 안전하다는 증거는 아닙니다. 코드를 직접 감사하고 실행을 격리할 수 없으면 실행하지 마세요. 소유하지 않은 지갑에 접근을 시도하면 심각한 법적 책임에 처할 수 있습니다.
PhishDestroy는 자금을 회수하거나 복구 조언을 제공하고, 개인 복구 사례를 처리하거나 유료 복구 대행자를 추천하지 않습니다. 우리의 역할은 피싱 및 사기를 식별하고, 증거를 보존하며, 레지스트라, 호스트 및 보안 서비스 등을 통해 인프라를 차단하는 것입니다. 자산 회수는 법 집행기관, 거래소 및 법적으로 자산을 동결하거나 반환할 수 있는 기타 기관의 업무이며, 우리는 그 과정에 참여하지 않습니다. 신고가 환불을 보장하지는 않지만 주소를 연결하고 증거를 보존하며 다음 표적에게 경고할 수 있습니다. 침묵은 그렇지 못합니다.
정당한 신고가 당신의 시드 구문이나 개인 키를 요구하지는 않습니다. 경찰, 거래소, 조사관, PhishDestroy, AI, 혹은 당신을 돕는다고 주장하는 누구에게도 절대 보내지 마세요.
증거 경계
비밀을 수집하지 않고 답변을 알려진 Coldcard 권고 조건에 매핑하십시오.
누락된 출처, 백업, 복구 및 마이그레이션 제어를 드러내십시오.
시드의 단어나 공개 주소만으로 기존 시드의 엔트로피를 측정할 수 없습니다.
지갑이 손상되지 않았고, 복구 가능하며, 자금을 넣기에 안전함을 증명하십시오.
마법 같은 답은 없습니다
아래 모든 답변은 명세서 또는 사고 공개 내용에 근거합니다.
아니요. BIP39는 인코딩과 체크섬을 정의합니다. 약한 생성기는 작은, 예측 가능한 상태 집합에서 유효한 구문을 생성할 수 있습니다.
아니요. 업데이트는 향후 생성만 복구할 수 있습니다. 2026년 Coldcard 문제에 대해 Coinkite는 영향을 받은 사용자가 수정된 펌웨어에서 새 시드를 생성하고, 독립 주사위 예외가 적용되지 않는 한 자금을 마이그레이션하도록 안내합니다.
기본 엔트로피가 안전할 경우에만 그렇습니다. 24개의 단어는 256비트를 인코딩할 수 있지만, 32비트 생성기 상태를 24단어로 변환해도 256비트의 예측 불가능성을 만들지는 못합니다.
아니요. 동일한 시드는 동일한 키를 파생합니다. 새 장치는 이후 사용을 보호할 수 있지만, 이미 존재하는 키 자료에 엔트로피를 추가할 수는 없습니다.
절대 하지 마세요. 일반적으로 단어만으로 원본 생성기의 품질을 증명할 수 없으며, 이를 웹사이트에 입력하면 지갑의 루트 비밀이 노출됩니다.
아니요. 이는 생성 경로에 대한 당신이 알고 있는 정보를 기록할 뿐이며, 과거 엔트로피를 검사하거나 지갑을 인증할 수 없습니다. 알 수 없는 생성기 버전이나 적용 가능한 권고가 결과를 무시합니다.
원본 읽기
아래에 공급업체 권고, 소스 경로 분석 및 기술 공개가 있습니다. 읽어보세요. 이 사례 파일이 업데이트될 당시 Coldcard 조사 단계는 아직 진행 중이었습니다.
영향을 받는 모델 및 릴리스 트랙, 주사위 예외, 핫픽스 버전 및 마이그레이션 안내. 2026년 7월 30일 발행; 2026년 8월 1일 업데이트.
근본 원인, 현재 40비트/72비트 추정치, 빌드 실패 및 복구 세부 사항.
독립적인 소스 경로 분석, 주의 사항 및 탐색 공간 경계. Block은 분석이 초기 단계였으며 완전한 실증 검증이 아니라고 언급합니다.
WebAssembly 생성 경로에서 32비트 엔트로피와 가능한 모든 시드의 열거.
Libbitcoin Explorer의 32비트, 시간 기반 시드 Mersenne Twister; 2,600개 이상의 관찰된 지갑과 약 90만 달러 규모의 연관 손해.
엔트로피, 체크섬 및 니모닉 길이 관계; 사양에서는 니모닉이 컴퓨터가 생성한 무작위성을 전달한다고 명시합니다.
현재 세대, 주사위 및 백업 안내. 2026년 이슈에 대응할 때는 일반 문서보다 권고를 우선 따르세요.
왜 소프트웨어 패치가 이전에 생성된 지갑을 고치지 못하고, 약한 자료를 가져와도 보호되지 않는지에 대한 설명.