Coldcard 엔트로피 결함이란?
하드웨어 지갑의 전체 보안 모델은 한 가지 전제 위에 서 있습니다. 지갑이 사용자에게 건네는 12개 또는 24개의 단어가 진짜 예측 불가능한 난수에서 나왔다는 전제입니다. 5년 동안 일부 COLDCARD 기기는 이 전제를 조용히 깨고 있었고, 2026년 8월 초에는 공격자들이 그 시드가 보호하던 주소들에서 수천 개의 비트코인을 쓸어 갔습니다.
Coldcard 엔트로피 결함은 COLDCARD 하드웨어 지갑 펌웨어의 시드 생성 결함으로, 복구 구문이 BIP-39 표준이 요구하는 것보다 훨씬 낮은 무작위성으로 만들어지게 했습니다. COLDCARD를 만드는 비트코인 전용 제조사 Coinkite는 2026년 7월 30일 권고문을 게시했고, 2026년 8월 1일 오후 2시 35분 EDT에 이를 업데이트했습니다 . 영향을 받은 펌웨어에서 생성된 시드는 Mk4, Mk5, Q 기기에서 대략 72비트의 엔트로피를 가지며, Mk2와 Mk3에서는 약 40비트로 추정됩니다. 표준 12단어 BIP-39 시드가 제공해야 하는 128비트에 크게 못 미치는 수준입니다 .
간단히 말하면: 2021년 3월 COLDCARD 펌웨어 변경으로 시드 생성 과정에서 하드웨어 난수 생성기가 약한 소프트웨어 PRNG로 조용히 대체되었습니다. 영향을 받은 Mk2/Mk3 시드는 128비트 대신 대략 40비트의 엔트로피만 가집니다. Galaxy Research는 약 7,300개 주소에서 1,596 BTC가 쓸려 나간 사실을 확인했습니다 .
근본 원인은 2021년 3월로 거슬러 올라갑니다. 당시 Coinkite는 새로운 암호화 라이브러리를 COLDCARD 펌웨어 4.0.x에 통합했습니다. 매크로가 활성화되었는지가 아니라 존재하는지만 확인한 설정 검사 때문에, 영향을 받은 빌드는 STM32 하드웨어 난수 생성기 대신 결정론적 소프트웨어 PRNG로 떨어졌습니다. 이 PRNG는 칩의 고유 ID와 타이머 레지스터만으로 시드가 설정되었고, 이후 새로운 엔트로피는 수집되지 않았습니다 .
개인 노출 여부를 판단할 때 중요한 점은 두 가지입니다. 첫째, 이는 원격 장악이 아니라 시드 생성 결함입니다. 기기가 네트워크를 통해 침해된 것은 아니며, 자금은 시드 자체가 약하게 만들어진 경우에만 위험합니다. 둘째, 취약성은 하드웨어가 아니라 복구 구문을 따라갑니다. 같은 단어들을 다른 지갑 브랜드로 가져와도 달라지는 것은 없습니다 .
실질적인 결과는 이미 온체인에서 측정되고 있습니다. Galaxy Research는 취약한 단일 서명 주소들에서 프로그램 방식으로 자금이 이동한 사례를 추적했으며, 약 7,300개 주소에서 총 1,596 BTC가 빠져나간 것으로 확인했습니다. 2026년 8월 3일 표시된 의심스러운 네 번째 물결이 검증되면 이 수치는 2,055 BTC 수준까지 올라갑니다 . Coinkite는 2026년 7월 31일 수정된 펌웨어를 배포했지만, 권고문은 업데이트가 기존 시드를 복구하지는 않는다고 명확히 밝히고 있습니다 .
약한 PRNG로 조용히 대체되며 Coldcard의 무작위성이 깨진 과정
결함은 알고리즘이 망가진 것이 아니라 빌드 설정 불일치였다. COLDCARD 펌웨어는 STM32의 하드웨어 난수 생성기를 호출한다고 믿고 있었지만, 실제로는 결정론적 소프트웨어 PRNG를 호출하고 있었다. Coinkite는 2021년 3월 COLDCARD 펌웨어 4.0.x에 새로운 암호화 라이브러리인 libngu를 통합했다 . 그 릴리스 이후 영향을 받은 빌드에서의 시드 생성은 예측 가능한 소스에서 난수를 가져왔고, 기기 화면이나 생성된 BIP-39 단어 어디에도 이를 드러내는 외부 징후는 없었다 .
그 작동 방식은 하나의 전처리기 매크로에서 갈렸다. COLDCARD의 프로덕션 보드 설정은 MICROPY_HW_ENABLE_RNG를 0으로 정의한다. Coinkite가 MicroPython의 내장 구현에 의존하지 않고 자체 하드웨어 RNG 래퍼를 제공하기 때문이다. 하지만 libngu 라이브러리는 그 매크로가 활성화되어 있는지가 아니라 존재하는지를 확인했다. 값 검사가 필요한 곳에서 #ifdef 방식의 검사를 한 것이다. 매크로가 정의되어 있기는 했고 단지 0으로 정의되어 있었기 때문에, 이 검사는 잘못된 이유로 통과했고 빌드는 하드웨어 경로 없이 컴파일됐다 .
그 결과 빌드는 MicroPython의 Yasmarang으로 빠졌다. Yasmarang은 키 재료가 아니라 범용 스크립팅을 위해 만들어진 작은 결정론적 의사난수 생성기다. Yasmarang은 시작 시 칩의 고유 ID와 타이머 레지스터만으로 시드가 설정됐고, 이후에는 새로운 엔트로피를 수집하지 않았다 . 이 두 입력은 모두 제약이 있다. 칩 고유 ID는 기기마다 고정되어 있고 웨이퍼와 로트에 따라 일부 구조화되어 있으며, 시드 생성 시점의 타이머 레지스터 값은 좁고 열거 가능한 범위 안에 놓인다. 제약된 입력으로 시드가 설정된 결정론적 생성기가 만들어내는 탐색 공간은 12단어 BIP-39 문구가 명목상 인코딩하는 128비트가 아니라 바로 그 입력들의 범위로 제한된다.
실제 노출 정도가 하드웨어 세대별로 달라지는 이유가 여기에 있다. Coinkite는 영향을 받은 펌웨어에서 생성된 Mk4, Mk5, Q 시드의 유효 엔트로피를 대략 72비트로, Mk2/Mk3의 경우를 대략 40비트로 본다 . Block 연구진은 조건부 탐색 공간 상한을 2^40.7 및 2^73.3 미만으로 설명하면서도, 더 높은 수치가 “73비트 암호학적 보안과 같지는 않다”고 경고했다. Mk4/Mk5/Q에서 재현 가능한 탐색 공간은 대략 40억 개 가능성으로, 일반 소비자용 하드웨어도 열거할 수 있는 작업량이다 .
이 결함이 오픈소스 펌웨어 안에서 5년 넘게 살아남은 이유는 세 가지 특징으로 설명된다.
- 암호화 코드가 아니라 보드 설정에 숨어 있었다. 시드 파생 로직만 감사해서는 드러나지 않는다. 하드웨어 RNG가 실제로 호출되고 있는지 확인하려면 프로덕션 빌드 설정을 읽어야 했다 .
- 겉보기에는 정상적인 출력을 만들었다. Yasmarang은 체크섬 검증을 통과하는 올바른 형식의 12단어 및 24단어 문구를 내보내므로, 기기 경고나 지갑 가져오기, 주소 확인 어디에서도 이를 표시하지 못했다.
- 잘못된 쪽으로 조용히 실패했다. 매크로가 없었다면 빌드 오류가 났을 것이다. 하지만 0으로 정의된 매크로는 조용히 통과했고, 이는 프로덕션에 도달할 가능성이 가장 높은 실패 방식이다.
Block의 보안 연구진은 이 결함을 추적하고 문서화했으며, 그 기원을 2021년 펌웨어 변경으로 특정했다. Core Lightning 개발자 Dustin Dettmer도 그 타임라인 재구성에 기여했다 . 발행 시점 기준으로 CVE 식별자는 아직 배정되지 않았고, Coinkite는 전체 기술 검토가 아직 진행 중이라고 밝혔다. 즉 어떤 빌드 산출물이 실제로 fallback 경로와 함께 배포됐는지에 대한 권위 있는 설명은 아직 남아 있다 .
어떤 Coldcard 모델과 펌웨어 버전이 영향을 받나요?
모든 COLDCARD 하드웨어 지갑 모델이 엔트로피 결함의 영향을 받지만, 취약한 펌웨어 범위와 수정 릴리스는 세대별로 다릅니다. Mk2와 Mk3 기기는 펌웨어 4.0.x부터 4.1.9까지가 영향을 받으며, 4.2.0에서 수정되었습니다 . Mk4와 Mk5는 표준 릴리스 5.6.0 이전, 또는 Edge 6.6.0X 이전 버전이 영향을 받습니다. Q는 표준 1.5.0Q 이전, 또는 Edge 6.6.0QX 이전 버전이 영향을 받습니다. 모든 수정 릴리스의 빌드 날짜는 2026년 7월 31일입니다 .
| 모델 | 영향받는 펌웨어 | 수정 릴리스(2026년 7월 31일자) | 영향받는 빌드의 추정 시드 엔트로피 |
|---|---|---|---|
| COLDCARD Mk2 / Mk3 | 4.0.x부터 4.1.9까지 | 4.2.0 | 약 40비트 |
| COLDCARD Mk4 / Mk5 | 5.6.0 이전 모든 버전(표준); 6.6.0X 이전(Edge) | 5.6.0 표준 / 6.6.0X Edge | 약 72비트 |
| COLDCARD Q | 1.5.0Q 이전 모든 버전(표준); 6.6.0QX 이전(Edge) | 1.5.0Q 표준 / 6.6.0QX Edge | 약 72비트 |
| TAPSIGNER / OPENDIME / SATSCARD | 없음 — 별도 코드베이스 | 해당 없음 | 영향 없음 |
Mk2/Mk3의 약 40비트와 Mk4/Mk5/Q의 약 72비트라는 차이는 우선순위 판단에 중요합니다. Coinkite는 Mk2/Mk3 사례를 둘 중 더 심각한 경우로 설명하며, 12단어 BIP-39 시드가 가져야 할 128비트에 비해 추정 엔트로피가 40비트라고 밝혔습니다 . Block 연구진은 노출 범위를 2^40.7 및 2^73.3 미만의 조건부 검색 공간 상한으로 설명하면서도, 더 높은 수치가 "73비트 암호학적 보안과 동일하지는 않다"고 경고했습니다 . 실제로 Mk4/Mk5/Q에서 재현 가능한 검색 공간은 대략 40억 개의 후보 시드로 계산됩니다. 이는 일반 소비자용 하드웨어로도 열거 가능한 규모이기 때문에, 이 특정 실패 모드에서는 신형 모델이 구형 모델보다 의미 있게 더 안전하다고 보기 어렵습니다 .
Coinkite의 다른 제품들은 영향 범위 밖에 있습니다. TAPSIGNER, OPENDIME, SATSCARD는 서로 다른 코드베이스에서 실행되며 문제가 된 라이브러리를 통합한 적이 없으므로 공식적으로 영향을 받지 않습니다 . 이 구분은 분명히 짚어둘 필요가 있습니다. NFC 카드들이 COLDCARD 제품군과 같은 브랜딩을 공유하다 보니, 전반적인 경고 속에 함께 휩쓸렸기 때문입니다.
버전 표를 읽을 때는 두 가지 실무적인 기준이 중요합니다. 첫째, 관련 있는 펌웨어 버전은 오늘 기기에 설치된 버전이 아니라 시드가 생성될 당시 실행 중이던 버전입니다. 지난주에 5.6.0으로 업데이트한 Mk4라도, 해당 시드가 5.5.x에서 생성되었다면 여전히 약한 시드를 보유하고 있는 것입니다. 둘째, COLDCARD 다운로드 페이지는 이제 취약한 버전을 명시적으로 표시하므로, 설정 당시 펌웨어 기록을 보관한 사용자는 기억에 의존하지 않고 공개 목록과 빌드를 대조할 수 있습니다 . 어떤 펌웨어에서 시드가 생성되었는지 확인할 수 없는 소유자는 해당 시드가 영향을 받았다고 보고 마이그레이션을 계획해야 합니다.
노출 기간은 어떤 기준으로 보아도 깁니다. 이 결함은 2021년 3월 통합과 함께 코드베이스에 들어갔고, 2026년 7월 31일 릴리스까지 남아 있었으며, 5년이 넘는 기간과 세 개의 하드웨어 세대에 걸쳐 영향을 미쳤습니다 . 위에 나열된 모델에서 이 기간 안에 생성된 모든 COLDCARD 시드는 반대로 입증되기 전까지 취약한 것으로 간주해야 합니다.
지금까지 도난당한 비트코인은 얼마나 되나?
Galaxy Research는 검증된 세 차례의 스윕에서 COLDCARD로 생성된 주소 약 7,300개에서 1,596 BTC가 빠져나간 것을 확인했으며, 의심되는 네 번째 스윕까지 포함하면 추정치는 약 2,055 BTC로 늘어납니다 . 스윕은 Coinkite가 보안 공지를 게시한 날과 같은 2026년 7월 30일 02:14 UTC에 시작됐고, 계속 조금씩 빠져나간 것이 아니라 몇 차례의 뚜렷한 폭발적 움직임으로 진행됐습니다 . 매체마다 달러 환산 추정치는 아직 엇갈리므로, BTC 수량이 더 확실한 수치입니다.
첫 번째 스윕이 가장 집중적이었습니다. 한 주체가 약 500개의 단일 서명 지갑에서 25분 만에 594 BTC를 쓸어갔습니다 . 그날 전체 활동을 합산하면, 7월 30일의 더 넓은 스윕은 41분 동안 1,196개 주소에서 1,082.65 BTC를 빼냈습니다 . 한 시간 안에 수천 개 주소를 열거하고, 확인하고, 지출한 이 처리량은 연구자들이 Mk4, Mk5, Q 시드에 대해 설명한 약 40억 개 가능성의 검색 공간과도 맞아떨어집니다. 이 정도 공간은 일반 소비자용 하드웨어로도 열거할 수 있습니다 .
| 스윕 | 날짜(2026년) | 유출 BTC | 피해 주소 | 상태 |
|---|---|---|---|---|
| 1차 스윕(초기 집중 발생) | 7월 30일, 02:14 UTC부터 | 25분 만에 594 BTC | 단일 서명 지갑 약 500개 | 확인됨 |
| 1차 스윕(첫날 전체 합계) | 7월 30일 | 41분 만에 1,082.65 BTC | 1,196 | 확인됨 |
| 2차 스윕 | 8월 1일 | 284.4 BTC | 2,889 | 확인됨 |
| 3차 스윕 | 8월 1일(이후 별도 클러스터) | 207.73 BTC | 별도 클러스터 | 확인됨 |
| 4차 스윕 | 8월 3일 포착 | 448.7 BTC(추정) | 709 | 의심, 미검증 |
| 합계 | 7월 30일 – 8월 3일 | 확인 1,596 BTC, 4차 스윕 검증 시 약 2,055 BTC | 확인 약 7,300개 | 진행 중 |
이후 스윕은 성격이 달랐습니다. 더 넓고 얕았습니다. 8월 1일의 2차 스윕은 2,889개 주소에서 284.4 BTC를 가져갔습니다. 초기 집중 발생 때보다 주소 수는 거의 여섯 배였지만, 비트코인 수량은 대략 절반 수준이었습니다. 같은 날 세 번째 스윕은 별도 클러스터에서 207.73 BTC를 빼냈습니다 . 이 패턴은 누가 스윕을 하고 있는지를 보여줍니다. Galaxy는 최소 15명의 서로 다른 공격자를 집계했는데, 이는 하나의 조직이 비공개 목록을 따라 움직였다기보다 공개적으로 문서화된 약점에 모방 공격자들이 몰려들었다는 뜻입니다 .
Galaxy의 리서치 책임자 Alex Thorn은 8월 1일 "2021년 3월 펌웨어 업데이트 이후 생성된 모든 단일 서명 Coldcard 주소를 대상으로 활성 스윕 공격이 진행 중"이라고 쓰며, 이 스윕을 프로그램 방식으로 이뤄지고 있고 "아마도 대규모 언어 모델로 조율됐을 것"이라고 설명했습니다 (source: Cointelegraph, 2026-08).
앞으로의 전개를 좌우할 온체인 세부 사항은 두 가지입니다. 첫째, 도난당한 비트코인의 약 90%는 아직 이동하지 않았고, 확인된 첫 세 차례 스윕에서 나온 코인 중 어느 것도 스윕 이후 움직이지 않았습니다 . 따라서 자금은 여전히 눈에 보이고 추적 가능합니다. Galaxy가 공격자 통제 의심 주소 약 600개를 연방 수사기관, 컴플라이언스 업체, 업계 공동 사이버 조사자들에게 보고한 이유도 여기에 있습니다 . 둘째, 빠져나간 코인들은 평균 3.18년 동안 휴면 상태였습니다. 피해자가 몇 년 전 기기를 설정한 뒤 거의 건드리지 않은 장기 보유자 쪽으로 크게 치우쳐 있었다는 의미입니다 .
아직 마이그레이션하지 않은 시드를 보유한 사람에게 실질적인 의미는 분명합니다. 휴면 상태는 여기서 아무런 보호가 되지 않습니다. 공격자들은 열거된 키 공간에서 주소를 파생해 체인과 대조하고 있으므로, 2021년 이후 한 사토시도 움직이지 않은 주소도 지난주 사용한 주소와 똑같이 접근 가능합니다. 중요한 변수는 지갑이 얼마나 조용히 방치돼 있었는지가 아니라, 해당 시드가 영향을 받은 펌웨어에서 생성됐는지 여부입니다.
시드가 위험한지 확인하고 안전하게 이전하는 방법
Coldcard 시드는 영향을 받은 펌웨어에서 생성됐고 충분한 주사위 굴림 시퀀스에서 나온 것이 아니라면 위험합니다. 유일한 해결책은 새 시드를 만들고 자금을 옮기는 것입니다. Coinkite의 공지는 많은 사용자가 헷갈리는 지점을 분명히 짚습니다. “펌웨어를 업데이트해도 기존 시드가 바뀌거나 복구되지는 않습니다” . 패치는 결함 있는 난수 생성기가 새 약한 시드를 만들지 못하게 막을 뿐, 이미 그 시드에서 파생된 개인키에는 아무것도 해주지 않습니다. 같은 복구 문구를 다른 지갑 브랜드에 복원해도 도움이 되지 않습니다. 취약성은 하드웨어가 아니라 문구 자체를 따라가기 때문입니다 .
영향을 받는 대상을 좁혀 주는 예외는 두 가지입니다. 첫 번째는 주사위입니다. 공정하고 독립적이며 비공개로 굴린 6면체 주사위를 최소 50회 사용해 만든 시드는 문제가 된 코드 경로를 완전히 우회합니다. 주사위 전용 방식은 기기의 PRNG에서 값을 뽑지 않고 굴림 시퀀스를 SHA-256으로 직접 해시하기 때문입니다 . D6 주사위 한 번은 대략 2.585비트의 엔트로피를 제공하므로 50회면 128비트 기준을 넘고, 99회 이상이면 약 256비트에 가까워집니다 . 단서가 중요합니다. 50회 미만이었거나, 몇 번 굴렸는지 알 수 없거나, 카메라나 다른 사람이 볼 수 있는 곳에서 굴렸거나, 2022년에 무엇을 했는지 단순히 확신이 없다면 그 시드는 다시 이전 대상에 들어갑니다 .
두 번째 예외는 BIP-39 패스프레이즈지만, 들리는 것만큼 강한 예외는 아닙니다. 강력하고 고유한 패스프레이즈는 시드 공간을 열거하는 공격자가 여전히 넘어야 하는 독립적인 장벽입니다. 하지만 Coinkite는 이를 해결책이 아니라 이전 전까지의 임시 방어막으로 설명합니다 . 짧거나, 다른 서비스에서 재사용했거나, 패턴이 있거나, 인용문에서 가져왔거나, 그 밖에 흔한 형태의 패스프레이즈는 추측 가능하다고 봐야 합니다. 그리고 기본 시드가 이미 탐색 가능한 범위로 줄어든 상황이라면 공격자는 비교적 낮은 추가 비용으로 그 위에 패스프레이즈 사전을 얹을 수 있습니다 .
Coinkite가 공개한 이전 절차는 정해진 순서대로 진행됩니다. 단계를 건너뛰면 자금을 두 번 잃을 수 있습니다.
- 노출 여부를 확인합니다. 시드가 영향을 받은 펌웨어에서 생성됐는지 확인합니다. 시드 생성 당시 사용한 펌웨어 버전과 요건을 충족하는 주사위 시퀀스를 사용했는지 확인하세요 .
- 먼저 펌웨어를 업데이트합니다. 새로 무엇이든 생성하기 전에 해당 모델용 수정 릴리스를 설치하세요. 패치된 모든 빌드는 2026년 7월 31일자로 되어 있으며, Coldcard 다운로드 페이지는 이제 취약한 버전을 명확히 표시합니다 .
- 패치된 기기에서 대체 시드를 생성합니다. 이전 시드에서 파생한 것이어서는 안 됩니다.
- 자금을 옮기기 전에 새 백업과 지갑 핑거프린트를 확인합니다. 그래야 지갑이 아직 비어 있을 때 필사 오류를 발견할 수 있습니다.
- 기기 화면에서 수신 주소를 확인합니다. 데스크톱 또는 모바일 소프트웨어에 표시되는 주소와 비교하세요.
- 소액 테스트 거래를 보냅니다. 도착했는지, 그리고 다시 사용할 수 있는지 확인합니다.
- 남은 자금을 새 지갑으로 옮깁니다.
- 이전이 완전히 확인될 때까지 기존 백업을 보관합니다. 손상된 시드는 남겨진 모든 것, 잔돈 출력과 잊고 있던 계정까지 여전히 통제합니다 .
시점과 관련해 실무적으로 기억할 점이 두 가지 있습니다. 2026년 7월 30일 02:14 UTC부터 스윕이 프로그램 방식으로 실행돼 왔기 때문에, 영향을 받은 시드에 일반 단일 서명 잔액을 보유한 사람에게 이전은 단순한 작업이 아니라 시간 싸움입니다 . 또한 구매자가 믿는 물리적 보증, 즉 일치하는 봉투 번호가 있는 변조 방지 봉투, 투명 케이스, 펌웨어 서명 검사, GENUINE LED는 기기가 정품이며 변경되지 않았음을 확인해 줍니다 . 하지만 그 어떤 것도 엔트로피가 부족한 상태로 만들어진 시드에 나중에 엔트로피를 더해 줄 수는 없습니다.
콜드카드 불안감을 타고 번지는 피싱 공세
이제 2차 공격 흐름은 암호학이 아니라 사회공학으로 콜드카드 소유자를 겨냥하고 있다. Proofpoint는 콜드카드를 사칭해 조작된 "coordinated hardware audit"을 완료하라고 유도하는 캠페인을 문서화했다. 사용자는 복제 사이트로 이동하고, 그곳의 "Start Hardware Audit" 버튼은 GitHub에 호스팅된 배치 파일을 내려받게 한다 . 이 파일은 합법적인 원격 접속 도구인 ScreenConnect를 설치하고, 운영자에게 피해자 컴퓨터 제어권을 넘겨 데이터 탈취, 금전 탈취 또는 후속 랜섬웨어 공격으로 이어질 수 있게 한다 . 이 미끼가 통하는 이유는 합법적인 권고문들이 지금 사용자에게 요구하는 행동과 정확히 닮아 있기 때문이다. 즉, 장치를 긴급히 점검하라는 것이다.
이 작전은 자동화가 아니라 사람이 맡고 있다. Proofpoint는 가짜 사이트의 지원 채팅에서 챗봇이 아닌 실제 사람이 피해자에게 설치 과정을 단계별로 안내하고 있음을 확인했다 . 방어자에게 이 세부 사항은 중요하다. 실시간 운영자는 사용자의 망설임에 맞춰 대응하고, 반박에 답하며, 정적인 피싱 페이지로는 만들 수 없는 정당성을 꾸며낸다. 보안 경고 앞에서 멈칫한 사용자는 막다른 화면이 아니라 안심시키는 답변을 받는다.
공격 체인의 형태를 주목해야 한다. 여기서는 엔트로피 결함을 전혀 악용하지 않는다. 앞서 설명한 스윕은 피해자와 접촉할 필요가 없지만, 이 캠페인은 정반대로 겁먹은 소유자의 전적인 협조가 필요하다. ScreenConnect는 서명된 상용 라이선스 소프트웨어라 백신 도구가 차단할 가능성이 낮다. 따라서 악성 단계는 바이너리 자체가 아니라 그것을 설치하도록 내주는 동의다.
경쟁 지갑 업체들은 곧바로 대응 원칙을 공개했다. Trezor는 지갑 백업을 웹사이트, 채팅창, 데스크톱 애플리케이션이 아니라 반드시 장치 자체에만 입력하라고 경고했다 . Foundation은 복구 문구를 절대 요구하지 않으며, 사용자에게 소프트웨어 설치를 지시하지도 않는다고 단호히 밝혔다 . 사용자가 그 순간 바로 적용할 수 있는 점검 기준으로 정리하면 다음과 같다.
- 어떤 업체도 사용자의 컴퓨터가 필요한 "audit"을 진행하지 않는다. 펌웨어 점검은 다운로드한 실행 파일이 아니라 장치 화면에서 이뤄진다.
- 복구 문구는 오직 하드웨어 지갑 자체에만 입력한다. 이를 요구하는 웹 양식, 채팅 상담원, 지원 앱은 예외 없이 적대적이다 .
- GitHub에 호스팅된 파일이라고 해서 신뢰 신호가 되는 것은 아니다. 공격자들은 바로 그 도메인이 그럴듯해 보이기 때문에 이 플랫폼을 사용한다 .
- 권고문은 업체 도메인을 직접 입력해 찾아가야 한다. 기준점은 Coinkite의 자체 권고문과 버전이 표시된 다운로드 페이지이지, 이메일, DM, 검색 광고로 들어온 링크가 아니다 .
- 긴박함이 단서다. 이전은 시간에 민감하지만, 출처를 먼저 확인한다고 해서 무너지는 합법적인 절차는 없다.
실질적인 위험은 겹겹이 커진다. 영향을 받지 않은 펌웨어에서 시드를 생성했거나 50회 이상의 주사위 굴림으로 보호한 소유자는 암호학적 노출이 전혀 없을 수 있다. 그런데도 공포에 휩쓸려 사기성 지원 채널에 응답하면 모든 것을 잃을 수 있다 . 공개 사고가 벌어지는 동안에는 사건 자체가 피싱의 명분이 되고, 2차 공세는 1차 공격이 건드리지 못한 사람들까지 자주 붙잡는다.
Ledger, Trezor, Foundation은 Coldcard와 어떻게 차별화하고 있나
경쟁 하드웨어 지갑 업체들은 Coldcard 엔트로피 실패 이후 각자의 무작위성 구조를 공개하며 대응했다. 저마다 다른 구조적 안전장치가 있었다면 이 결함을 잡아냈을 것이라고 주장했다. Ledger는 인증된 실리콘을, Trezor는 여러 출처의 엔트로피 혼합을, Foundation은 재현 가능한 오픈소스 빌드를 내세운다. 세 업체의 입장에서 공통으로 드러나는 점은, 어느 업체도 Coldcard의 특정 결함이 종류 면에서 유일했다고 주장하지 않는다는 것이다. 다만 자신들의 설계에는 조용히 실패하는 단일 코드 경로가 우회할 수 없는 두 번째 점검 장치가 있다는 주장이다 .
Ledger의 제품 보안 책임자인 Vincent Bouzon은 회사가 인증된 Secure Element 내부에 내장된 진정 난수 생성기에서 엔트로피를 끌어오며, 해당 엔트로피는 AIS-31 PTG.2 표준과 Common Criteria 평가에 따라 인증됐다고 말했다. 그의 표현은 승리를 선언하기보다는 의도적으로 좁게 잡혀 있었다. "이번 Coldcard 사건은 특정 구현 하나의 실패이지, 안전한 자기보관에 대한 판결이 아니다" . 그 안에 담긴 논리는 제3자 인증이 외부 기관으로 하여금 엔트로피 소스를 시험하게 만든다는 것이다. 이는 잘못된 조건을 조용히 평가한 빌드 플래그에서는 끝내 일어나지 않았던 바로 그 단계다.
Trezor의 최고기술책임자 Tomáš Sušánka는 다른 접근법을 설명했다. 기기가 자체 무작위성을 호스트 컴퓨터가 제공하는 무작위성과 섞고, 지갑 생성 과정에서 엔트로피 검사를 실행한다는 것이다. 그는 "전체 업계가 얻어야 할 교훈은 무작위성이 단일 출처에 의존해서는 안 된다는 점"이라고 말했다 . Foundation 최고경영자 Zach Herbert는 Passport가 별도 하드웨어 구성요소에서 나온 무작위성을 결합하고, 재현 가능한 빌드를 갖춘 오픈소스 펌웨어를 배포한다고 말했다. 동시에 탐지 지연에 대해 더 날카롭게 지적했다. "버그 자체는 Coldcard에 특정된 것이었다... 더 큰 경고는 이것이 5년 넘게 발견되지 않았다는 점" .
| 업체 / 발언자 | 밝힌 엔트로피 구조 | 조용한 RNG 폴백에 대한 안전장치 주장 |
|---|---|---|
| Ledger — Vincent Bouzon, 제품 보안 책임자 | 인증된 Secure Element에 내장된 TRNG | AIS-31 PTG.2 및 Common Criteria에 따른 엔트로피 인증(외부 평가) |
| Trezor — Tomáš Sušánka, CTO | 기기 무작위성과 호스트 컴퓨터 무작위성 혼합 | 지갑 생성 중 엔트로피 검사 실행, 단일 진실 공급원 없음 |
| Foundation — Zach Herbert, CEO | 별도 하드웨어 구성요소에서 나온 무작위성 결합 | 재현 가능한 빌드를 갖춘 오픈소스 펌웨어로, 배포 바이너리를 독립적으로 검증 가능 |
| Coinkite — Rodolfo Novak, CEO | STM32 TRNG를 감싼 자체 하드웨어 RNG 래퍼 | 결함 당시에는 없음. 2026년 7월 31일 수정 펌웨어 공개, 사과 발표, 보상 프로그램 없음 |
지갑 제조사 밖에서는 거래소와 커스터디 업계 관계자들이 마케팅성 주장보다 표준을 요구했다. Kraken 최고보안책임자 Nick Percoco는 독립적인 엔트로피 검증을 포함하는 업계 전용 보증 표준을 제안했다. Onramp Bitcoin 제품 책임자 Michael Tanguma는 오래 버틸 답은 구조에 있다고 주장했다. "오늘날 현실적으로는 멀티시그와 독립적으로 생성된 엔트로피가 필요하다... 실제로 확장 가능한 완화책은 구조적이다. 단일 기기, 업체, 기관 하나가 틀렸다고 해서 자금이 사라지지 않는 구성" . 개발자 Jameson Lopp은 RNG 실패가 이 업계에서 역사적 선례가 있다고 지적했고, Core Lightning 개발자 Dustin Dettmer는 결함의 기원을 2021년 3월 펌웨어 변경으로 특정하는 데 도움을 줬다 .
Coinkite 자체의 태도는 보상 재원 마련 없는 사과에 가까웠다. 최고경영자 Rodolfo Novak은 X에서 공개적으로 사과하며 "펌웨어 버그에 대한 전적인 책임"을 인정했고, 피해 보유자를 위한 보상 프로그램은 발표되지 않았다 . 여러 Bitcoin 개발자들은 별도로 이 회사의 취약점 제보 처리 이력과 통상적인 버그 바운티 프로그램 부재를 비판했다 . 이런 경쟁 업체들의 주장을 평가하는 독자에게 유용한 기준은 어느 업체가 가장 자신 있게 들리는지가 아니라, 어떤 안전장치가 외부에서 검증 가능한지다. 인증 보고서, 재현 가능한 빌드 증명, 사용자가 제공하는 엔트로피는 모두 제3자가 확인할 수 있지만, 하드웨어 RNG가 호출되고 있다는 보증은 그렇지 않다.
콜드카드와 하드웨어 지갑 보안, 앞으로의 과제
당장의 엔지니어링 작업은 끝났지만, 제도적 대응은 이제 막 시작된 수준이다. Coinkite는 영향을 받은 세 제품군을 모두 패치했고, 수정 릴리스 날짜는 2026년 7월 31일로 표시돼 있다 . 다운로드 페이지도 이제 취약한 버전을 명시적으로 표시한다 . 아직 풀리지 않은 문제는 책임이다. 보상 프로그램은 발표되지 않았고, CEO 로돌포 노박이 X에서 “펌웨어 버그에 대한 전적인 책임”을 인정하며 공개 사과한 것이 지금까지 회사가 내놓은 유일한 공식 제스처다. 여러 비트코인 개발자들은 Coinkite의 취약점 제보 대응 이력과 통상적인 버그 바운티가 없다는 점도 비판했다 .
조사도 동시에 진행되고 있다. Galaxy Research는 공격자가 통제한 것으로 의심되는 주소 약 600개를 연방 수사기관, 컴플라이언스 업체, 업계 공동 사이버 조사 담당자들에게 전달했다 . 이번에는 그 전달의 의미가 평소보다 크다. Galaxy는 단일 조직이 아니라 최소 15명의 서로 다른 공격자를 집계하고 있기 때문에, 회수 작업도 한 행위자의 현금화 경로가 아니라 여러 독립 클러스터를 추적해야 한다 .
앞으로 몇 주 동안 이 사건이 수습 국면으로 가는지, 아니면 더 커지는지를 판단하려면 세 가지 구체적인 지표를 보면 된다.
- 4차 유출 확인 여부. 8월 3일 포착된 의심스러운 4차 유출은 709개 주소에서 448.7 BTC 규모로 추정된다. 확인될 경우 Galaxy의 총계는 1,596 BTC에서 약 2,055 BTC로 늘어난다 .
- 잠잠하던 탈취 자금의 이동. 탈취된 비트코인의 약 90%는 아직 이동하지 않았고, 확인된 첫 세 차례 유출분의 코인은 전혀 움직이지 않았다 . 거래소나 믹싱 서비스로 흘러가기 시작한다면, 주소가 공유됐음에도 공격자들이 현금화 경로를 시험하고 있다는 신호가 된다.
- 새로운 스윕이 계속되는지 여부. 빠져나간 코인들은 평균 3.18년 동안 휴면 상태였다 . 이는 아직 이전하지 않은 피해자일수록 자기 주소를 지켜보고 있을 가능성이 가장 낮다는 뜻이다.
업계 차원의 파장은 한 업체를 훨씬 넘어선다. Kraken CSO 닉 퍼코코는 독립적인 엔트로피 검증을 포함한 업계별 보증 기준을 제안했고, Foundation CEO 잭 허버트는 오래 남을 문제를 심각도보다 지속 기간으로 짚었다. 이 결함은 “5년 넘게 발견되지 않았다” . 오픈소스도 이를 잡아내지 못했다. 하드웨어 RNG가 실제로 호출됐는지를 확인하려면 생산 보드 구성 파일을 읽어야 했기 때문이다. 앞으로는 Coinkite뿐 아니라 여러 업체 전반에서 다중 출처 난수 설계, 제3자 재현 가능 테스트 벡터, 공장 단계의 엔트로피 테스트에 대한 압박이 커질 것이다. Onramp의 마이클 탕구마는 구조적 논점을 분명히 말했다. 확장 가능한 완화책은 “하나의 기기, 공급업체, 기관이 잘못되더라도 자금을 잃지 않는” 설정이다 .
구체적인 결론은 이렇다. 2021년 3월 이후 Coldcard에서 생성한 시드를 보유하고 있고, 최소 50회의 개인 주사위 굴림을 더하지 않았다면 보상 발표나 CVE를 기다리지 말고 지금 이전해야 한다. 둘 다 아직 나오지 않았고, 이미 약 7,300개 주소가 털렸다 . 단일 업체의 오류를 감수할 수 없을 만큼 큰 잔고라면, 구조적인 답은 서로 다른 기기 브랜드에서 독립적으로 생성한 엔트로피를 사용하는 멀티시그다. 그래야 하나의 구현 결함이 전체 포지션을 쓸어갈 수 없다.
자주 묻는 질문
내 Coldcard 시드도 엔트로피 결함의 영향을 받나요?
오늘 설치된 버전이 아니라, 시드가 처음 생성된 순간 기기에서 실행 중이던 펌웨어 버전을 확인하세요. 영향을 받는 범위는 Mk2/Mk3 펌웨어 4.0.x부터 4.1.9까지, Mk4/Mk5는 표준 5.6.0 또는 Edge 6.6.0X 이전의 모든 버전, Q는 표준 1.5.0Q 또는 Edge 6.6.0QX 이전의 모든 버전입니다 . 결함이 있는 라이브러리가 도입된 2021년 3월 펌웨어 릴리스 이전에 생성된 시드는 노출 기간 밖에 있습니다 . 공정하고, 비공개이며, 서로 독립적인 6면체 주사위를 최소 50번 굴려 만든 시드도 이 경로의 영향을 받지 않습니다. D6 주사위 한 번은 2.585비트를 제공하고, 주사위 전용 워크플로는 굴림 순서를 SHA-256으로 직접 해시하기 때문입니다 . 굴린 횟수를 알 수 없거나, 굴림 과정이 노출됐거나, 원래 펌웨어 버전을 확인할 수 없다면 해당 시드는 노출된 것으로 보고 이전하세요.
Coldcard 펌웨어를 업데이트하면 이미 생성된 시드도 고쳐지나요?
아니요. Coinkite는 "updating the firmware does not change or repair an existing seed"라고 명확히 밝힙니다 . 2026년 7월 31일 자 패치 릴리스는 이후의 시드 생성만 보호합니다. 애초에 수집되지 않은 엔트로피를 약한 복구 문구에서 이미 파생된 키에 나중에 더할 수는 없습니다 . 같은 문구를 다른 지갑 브랜드에 복원해도 도움이 되지 않습니다. 취약성은 하드웨어가 아니라 문구 자체를 따라가기 때문입니다. 유일한 해결책은 먼저 펌웨어를 업데이트하고, 패치된 빌드에서 대체 시드를 생성한 뒤, 새 백업과 지갑 핑거프린트를 확인하고, 기기 화면에서 수신 주소를 확인하고, 소액 테스트 거래를 보낸 다음, 남은 잔액을 옮기는 것입니다. 마이그레이션이 완전히 확인될 때까지 기존 백업은 보관하세요.
TAPSIGNER, OPENDIME 또는 SATSCARD도 영향을 받나요?
아니요. Coinkite는 TAPSIGNER, OPENDIME, SATSCARD가 공식적으로 영향을 받지 않는다고 확인했습니다. 이 제품들은 서로 다른 코드베이스에서 동작하며, MicroPython의 Yasmarang PRNG로 조용히 폴백하던 `libngu` 빌드 경로를 포함한 적이 없기 때문입니다 . 결함은 4.0.x 시리즈 이후의 COLDCARD 펌웨어에 한정됐습니다. 이 펌웨어에서는 프로덕션 보드가 `MICROPY_HW_ENABLE_RNG`를 0으로 설정하는데, 라이브러리는 해당 매크로가 활성화됐는지가 아니라 존재하는지만 확인했습니다 . 해당 카드 제품 보유자는 이 권고 때문에 자금을 이전할 필요는 없습니다. 다만 Coldcard 지원팀을 사칭하는 피싱 캠페인은 더 넓은 Coinkite 고객층을 무차별적으로 노리고 있습니다 .
BIP-39 패스프레이즈가 영향을 받은 시드를 보호해 주나요?
강력하고 고유한 BIP-39 패스프레이즈는 약한 시드 공간을 열거하는 공격자가 여전히 넘어야 하는 독립적인 장벽이 됩니다. 하지만 Coinkite는 이를 영구적인 대체 수단이 아니라 마이그레이션 전까지의 임시 보호책으로 봅니다 . 회사는 약하거나, 재사용됐거나, 패턴이 있거나, 인용문이거나, 그 밖에 흔한 패스프레이즈는 추측 가능하다고 봅니다. 기억하기 쉬운 문구를 선택한 사람에게는 이 장벽이 사실상 사라지는 셈입니다 . 이는 기본 검색 공간이 작기 때문에 중요합니다. 연구자들은 Mk4/Mk5/Q에서 재현 가능한 공간을 대략 40억 가지로 보며, 일반 소비자용 하드웨어에서도 열거할 수 있는 수준이라고 설명합니다. Mk2/Mk3 시드는 12단어 시드가 가져야 할 128비트가 아니라 약 40비트 수준으로 추정됩니다 . 패스프레이즈는 시간을 벌기 위한 용도로만 쓰고, 새로 생성한 시드로 이전하세요.
지금까지 Coldcard 스윕으로 도난당한 비트코인은 얼마나 되나요?
Galaxy Research가 확인한 총액은 2026년 8월 초 기준 약 7,300개 주소에서 빠져나간 1,596 BTC입니다. 8월 3일에 포착된 의심스러운 네 번째 물결, 즉 709개 주소에서 약 448.7 BTC가 빠져나간 것으로 추정되는 사건이 확인되면 총액은 약 2,055 BTC로 늘어납니다 . 첫 번째 물결은 2026년 7월 30일 02:14 UTC에 시작됐습니다. 한 주체가 25분 동안 약 500개의 단일 서명 지갑에서 594 BTC를 쓸어갔고, 같은 날 전체로는 41분 동안 1,196개 주소에서 1,082.65 BTC가 빠져나갔습니다 . Galaxy는 최소 15명의 서로 다른 공격자를 집계했으며, 도난당한 비트코인의 약 90%는 아직 이동하지 않았고, 처음 세 차례 확인된 물결에서 나온 코인은 하나도 움직이지 않았다고 보고합니다. 매체별 달러 환산 총액은 차이가 크므로, BTC 수치가 더 안정적인 기준점입니다 .