연구 노트, 2026년 9월 3일. 이 글은 확인된 사실, 업체의 설명, 온체인 추정치, 그리고 Aperture의 자체 분석을 구분한다. 이 글을 작성할 당시 Coinkite의 공식 기술 사후 분석 보고서는 아직 공개되지 않았다. 조사 기관이 추가 거래를 사건과 연계하면서 손실 총액도 달라졌으므로, 아래 수치는 최종 집계가 아니라 특정 시점에 기록한 스냅숏이다.

2026년 7월, 자신의 키가 Coldcard 하드웨어 지갑으로 보호된다고 믿던 소유자들의 주소 수천 개에서 비트코인이 사라졌다. 가장 먼저 바로잡아야 할, 그리고 가장 중요한 사실이야말로 이 사건의 본질을 가장 잘 드러낸다. 기기는 원격으로 침해된 것이 아니었다. 펌웨어 오류로 일부 지갑을 생성할 때 사용된 무작위성이 약해졌다. 공격자는 다른 곳에서 축소된 키 공간을 탐색하고 후보 개인 키를 복구한 뒤, 파생 주소를 공개 비트코인 블록체인과 대조하여 하드웨어에 손대지 않고도 일치하는 주소의 자금을 지출할 수 있었다.

금고가 물리적으로 아무리 견고해도, 그 안에 넣은 비밀이 처음부터 예측 가능했다면 실패할 수 있다.

이 사건이 한 업체를 훨씬 넘어 중요한 이유가 여기에 있다. 하드웨어는 곧 안전, 구성 요소가 많을수록 보호가 강함, 기능 목록이 길수록 높은 보증 수준이라는 안이한 지름길에 의문을 제기한다. 어느 것도 위협 모델이 아니다. 보안은 엔트로피, 펌웨어, 하드웨어, 빌드 과정, 배포, 인터페이스, 백업, 운영자 행동, 물리적 안전으로 이루어진 전체 시스템에서 나오며, 외부인이 그 주장을 검증할 수 있게 하는 증거에서도 나온다.

Coldcard에 무슨 일이 있었나

Coinkite의 공식 권고문에 따르면, 영향을 받은 펌웨어는 결함이 있는 시드 생성 경로를 사용했다. Mk2 또는 Mk3에서 펌웨어 4.0.1부터 4.1.9까지를 사용해 생성한 지갑 시드는 충분한 양의 비공개·독립 주사위 엔트로피를 추가했거나, 강력하고 고유한 BIP39 패스프레이즈로 추가 장벽을 만들지 않은 경우 위험에 노출되었다. 이 권고문은 수정된 Standard 또는 Edge 릴리스 이전에 Mk4, Mk5, Q 기기에서 생성된 시드도 다룬다. Coinkite에 따르면 이들 후속 기기에서는 의도한 128비트가 아니라 약 72비트의 엔트로피가 제공되었다.

문제는 2021년 3월 배포된 펌웨어에서 시작되어 수년간 잠복했다. 하드웨어 보호 기능은 주어진 비밀을 정상적으로 보호했지만, 문제는 비밀 생성 과정이 기대한 수준의 불확실성을 제공하지 못했다는 데 있었다. 공격자가 실현 가능한 비용으로 가능한 시드를 열거할 수 있게 되자, 공개 블록체인은 해당 시드가 자금이 있는 주소에 대응하는지 판별하는 완벽한 검사 수단이 되었다. 주소를 파생하고, 잔액을 찾고, 복구한 키로 서명하면 됐다. 피싱 메시지, USB 세션, 도난당한 배송물, 물리적 접근은 필요하지 않았다.

약한 엔트로피가 치명적인 이유

지갑 시드가 사람 눈에 무작위처럼 보인다고 해서 안전한 것은 아니다. 어떤 공격자도 그 배후의 가능성을 현실적으로 구별하거나 열거할 수 없을 때 비로소 안전하다. 엔트로피는 1비트 늘 때마다 탐색 공간이 2배가 된다. 128비트에서 72비트로 줄어드는 것은 시드가 ‘조금 약해지는’ 정도가 아니라, 작업량을 2배로 만드는 단계가 56번 사라지는 것이다. 유효 탐색 공간이 더 작아지면 천문학적으로 불가능했던 탐색이 하나의 공학 프로젝트로 바뀐다.

복구 단어는 구문상 여전히 유효하다. 주소도 평범해 보인다. 하드웨어는 정상적으로 서명한다. 백업도 올바르게 복원된다. 이는 조용한 실패다. 눈에 보이는 모든 절차가 성공하는 동안에도 보안의 전제는 이미 무너져 있을 수 있다. 바로 그렇기 때문에 난수 생성에는 연결 경로를 둘러싼 결정론적 테스트, 엔트로피 소스를 대상으로 한 실제 기기 계측, 그리고 검토된 소스와 출하 펌웨어를 연결하는 릴리스 증거가 필요하다.

절도는 여러 차례에 걸쳐 전개되었다

7월 30일, 최초로 보고된 일괄 이체에서 약 25분 동안 약 500개 주소의 약 594 BTC가 이동했다. 후속 귀속 분석으로 사건의 범위는 더 넓어졌다. 8월 5일 발표된 TRM Labs 평가는 당시 스냅숏을 기준으로 4차례에 걸쳐 5,200개가 넘는 주소에서 약 1,816 BTC, 약 1억 1,600만 달러가 이동한 것으로 누적 집계했다. 다른 조사자들은 서로 다른 확인 기준을 사용했고, 이후 다소 다른 총액을 보고했다. 따라서 이 수치는 확정된 최종 원장이 아니라 사건의 규모를 보여 주는 근거로 읽어야 한다.

Coinkite의 현재 보안 상태 페이지에는 공식 사후 분석이 여전히 진행 중이며, 보고된 손실 각각이 모두 개별적으로 귀속되었다고 주장하지 않는다는 점이 명시되어 있다. 이러한 불확실성은 사건을 축소할 이유가 아니다. 오히려 검증된 메커니즘, 관측된 거래, 분석적 귀속, 최종 포렌식 결론을 구분해야 할 이유다.

펌웨어 업데이트로 기존 시드는 복구되지 않는다

영향을 받을 수 있는 사용자가 반드시 알아야 할 실무적 사실이다. 수정된 펌웨어는 앞으로 생성할 시드의 문제를 바로잡을 뿐, 이미 존재하는 시드에 엔트로피를 소급해 더할 수는 없다. 그 시드에서 새 하드웨어로 복원한 지갑도 동일하게 취약한 비밀의 통제를 받는다. 금속 외장을 교체하거나, 모바일 앱을 설치하거나, 단어를 다른 브랜드로 옮겨도 키는 바뀌지 않는다. 자금은 새로 생성하고 독립적으로 보호한 시드에서 파생된 주소로 옮겨야 한다.

2026년 9월 3일에 확인한 바에 따르면, Coldcard 상태 페이지는 Mk4/Mk5 Standard 5.6.1과 Q Standard 1.5.1Q를 권장 Standard 릴리스로 제시했다. 최소 수정 버전은 Mk2/Mk3 4.2.0 이상, Mk4/Mk5 Standard 5.6.0 이상, Q Standard 1.5.0Q 이상, Mk4/Mk5 Edge 6.6.0X 이상, Q Edge 6.6.0QX 이상이었다. 릴리스 트랙은 중요하다. 숫자가 더 높은 Edge 버전이 수정된 Standard 릴리스와 자동으로 동등한 것은 아니다.

영향을 받았을 가능성이 있다면

  1. 기기 외장에만 의존하지 마라. 모델, 릴리스 트랙, 시드 생성 당시 사용한 펌웨어, 그리고 공식적인 독립 주사위 예외 조건이 명백히 적용되는지를 확인하라. 확신할 수 없다면 해당 시드가 영향을 받은 것으로 간주하라.

  2. 공식 지침만 따르라. Coldcard 권고문과 보안 상태 페이지를 직접 열고, 서명된 펌웨어와 공개된 해시를 검증하며, 요청하지 않은 ‘마이그레이션 지원’은 거부하라. 정당한 지원 담당자라면 복구 문구를 요구하지 않는다.

  3. 수정된 환경에서 완전히 새로운 시드를 생성하라. 기존 문구의 단어를 수정하거나 섞거나 덧붙이지 마라. 새 지갑에는 새로운 엔트로피가 필요하다. 자산 규모가 크다면 한 업체의 시드 생성 경로가 유일한 신뢰의 뿌리가 되지 않도록 독립적인 구현체나 적절히 설계된 다중 서명 정책을 고려하라.

  4. 자금을 넣기 전에 복구를 검증하라. 백업을 비공개로 기록하고 통제된 절차에서 복구한 다음, 예상한 공개 지문 또는 수신 주소가 맞는지 확인하라. 한 번도 시험하지 않은 백업은 가정일 뿐이다.

  5. 소액을 먼저 시험 이체한 뒤 나머지를 옮겨라. 전체 잔액을 옮기기 전에 목적지와 컨펌을 확인하라. 성급한 즉흥 대응은 피하되, 노출된 시드의 대응을 미뤄도 된다는 뜻으로 침착한 절차를 오해해서는 안 된다.

  6. 기존 시드를 폐기하라. 펌웨어를 업데이트하거나 나중에 강력한 패스프레이즈를 추가해도 기존 시드는 복구되지 않는다. 불필요한 비밀 사본은 남기지 않되, 세무 또는 법률상 필요한 기록은 보관하라.

Coinkite에 따르면, 영향을 받은 Add Dice Rolls 워크플로에서 공정하고 독립적이며 비공개로 이루어진 주사위 굴리기를 최소 50회 수행하면 주사위만으로 최소 128비트가 제공되었고, 99회 이상이면 약 256비트가 제공되었다. 정확한 조건이 중요하다. 수열이 기록되었거나, 타인에게 관찰되었거나, 편향되었거나, 독립적이지 않았거나, 확실하지 않다면 횟수만 보고 안전하다고 가정해서는 안 된다. 기존에 설정해 둔 강력한 BIP39 패스프레이즈는 추가 장벽이 될 수 있지만, Coinkite는 여전히 마이그레이션을 권고하며 패스프레이즈가 시드를 복구한다고 설명하지 않는다.

기기는 해킹되지 않았다 — 바로 그것이 더 깊은 경고다

모든 손실을 ‘하드웨어 지갑 해킹’이라고 부르면 서로 다른 여러 실패 유형이 하나의 극적인 표현으로 뭉뚱그려진다. 그러면 도움이 되었을 통제 수단이 무엇인지 흐려진다. Coldcard 사건에서 공격자는 피해자가 보유한 기기의 케이스, 키패드, USB 제어 기능, 보안 요소를 무력화하지 않았다. 루트 비밀을 열거할 수 있었기 때문에 기기를 우회했다.

보안 경계는 그 경계를 통과하는 대상만 보호한다. 보안 요소로 들어가는 키가 약하거나, 악성 펌웨어가 서명을 통해 키를 유출하거나, 화면이 공격자가 제어하는 목적지를 표시하거나, 사용자가 강압으로 이체를 승인하게 된다면, 전용 하드웨어가 있다는 사실만으로는 해당 공격에 답이 되지 않는다.

하드웨어 지갑의 손실은 모두 같은 모습이 아니다

문서화된 여러 사건과 연구 시연은 이 범주를 정밀하게 구분해야 하는 이유를 보여 준다. 하드웨어 지갑이 무용하다는 증거는 아니다. 하드웨어가 위험을 칩, 펌웨어, 공급망, 호스트 소프트웨어, 서명 프로토콜, 백업, 사람의 절차로 이루어진 또 다른 시스템으로 옮긴다는 뜻이다.

1. 결함 주입과 물리적 시드 추출

2020년, Kraken Security Labs가 공개한 자료에서는 Trezor One과 Model T 기기를 상대로 한 전압 글리칭 기법을 다뤘다. Kraken은 약 15분간 물리적으로 접근하면 암호화된 시드 자료를 추출할 수 있고, 이후 짧은 PIN은 무차별 대입으로 풀 수 있다고 보고했다. 실질적인 완화책은 기기에 저장하지 않는 강력한 BIP39 패스프레이즈였다. Kraken은 KeepKey를 대상으로 한 유사한 유형의 공격도 문서화했다.

이는 Coldcard와는 다른 위협이다. 대상 기기를 확보한 상태에서 실험실 수준의 결함 주입을 해야 한다. 변조 저항성은 선택한 마이크로컨트롤러와 저장 장치 설계에 달려 있으며, PIN이 반드시 높은 엔트로피의 암호화 비밀은 아니라는 점을 보여 준다.

2. 정상 하드웨어 서명 장치를 둘러싼 소프트웨어 침해

2023년 12월 발생한 Ledger Connect Kit 공급망 사고에서는 손상된 패키지를 불러오는 dApp에 악성 코드가 주입되었다. Ledger에 따르면 이 코드는 EVM 사용자를 속여 자금을 빼내는 거래에 서명하게 했다. 하드웨어 기기가 저절로 시드를 노출한 것이 아니라, 기기 주변 시스템이 적법한 서명자에게 악의적 의도를 제시했다.

이러한 실패 유형 때문에 ‘키가 기기를 벗어나지 않았다’는 조건은 필요하지만 충분하지 않다. 사용자, 호스트 또는 디스플레이가 서명 대상을 신뢰할 수 있게 이해하지 못하면, 안전한 키도 잘못된 거래를 충실히 승인할 수 있다. 명확한 거래 디코딩, 신뢰할 수 있는 디스플레이, 제한된 권한, 의존성 통제, 블라인드 서명에 대한 저항성은 모두 자산 보관 보안의 일부다.

3. 정상 서명을 통해 비밀을 유출하는 악성 펌웨어

Block 연구진은 실용적인 연구 공격을 발표했다. 이 공격에서 침해된 지갑 펌웨어는 겉보기에는 정상인 서명 속에 비밀 자료를 은밀히 인코딩한다. 연구진의 위협 모델은 공급망 침해, 내부자 행위, 빌드 시스템 침해, 서명 키 침해 등의 경로를 통한 펌웨어 침해를 가정한다. 서명된 거래 자체가 유출 채널이 된다면 에어 갭도 도움이 되지 않는다.

재현 가능 빌드, 여러 독립 빌더, 고정된 의존성, 보안 부팅, 다중 서명 구현의 다양성이 의미를 갖는 지점이 여기다. 이들은 사슬의 특정 연결 고리를 다룬다. 그렇다고 설계, 소스 또는 운영자가 저절로 인증되는 것은 아니다.

4. 백업 노출, 주소 바꿔치기, 강압

실제 절도 중 상당수는 실리콘을 전혀 공격하지 않는다. 공격자는 시드 백업을 훔치거나 촬영하고, 수신 주소를 바꿔치기하고, 지원 담당자를 사칭하고, 구매 또는 배송 절차를 침해하고, 기기와 취약한 PIN을 함께 확보하거나, 소유자에게 협조를 강요한다. 복구 문구는 설계상 이동 가능한 마스터 자격 증명이다. 이를 입수한 사람은 원래 기기가 어디에 있든 다른 곳에서 지갑을 복원할 수 있다.

복잡성이 보안을 악화시킬 수 있는 이유

복잡성이 정당화되는 경우도 있다. 별도 디스플레이는 거래 검토의 신뢰성을 높일 수 있다. 보안 요소는 물리적 추출 비용을 높일 수 있다. 다중 서명은 단일 키가 단일 실패 지점이 되는 문제를 없앨 수 있다. 그러나 추가되는 모든 메커니즘은 인터페이스, 상태, 업데이트 경로, 의존성, 복구 절차, 가정도 함께 만든다. 올바른 질문은 ‘복잡한가?’가 아니라 ‘각 구성 요소는 어떤 위협을 통제하며, 어떤 새로운 실패 모드를 도입하는가?’다.

Saltzer와 Schroeder의 고전적인 메커니즘 경제성 원칙은 점검과 이해가 현실적으로 가능하도록 보호 설계를 최대한 단순하고 작게 만들어야 한다고 말한다. 현대의 NIST 시스템 보안 지침도 마찬가지로 공격 표면 축소와, 규모가 크고 분석하기 어려운 다기능 구성 요소를 아키텍처 차원의 문제로 다룬다. 단순성은 통제 수단이 없다는 뜻이 아니다. 동작을 설명하고 시험하고 올바르게 운영할 수 없는 통제 수단을 추가하지 않는다는 뜻이다.

  • 코드가 많을수록 가능한 결함도 많아진다. 완전한 검토의 비용도 높아지고, 상호작용을 추론하기도 어려워진다.

  • 모드가 많을수록 구성 위험이 커진다. Standard와 Edge 펌웨어, 여러 시드 워크플로, 패스프레이즈 지갑, USB 경로와 에어 갭 경로, 백업 변형은 각각 따로 보면 안전할 수 있지만 함께 조합하면 혼란을 일으킬 수 있다.

  • 인터페이스가 많을수록 의미 변환 위험이 커진다. 하드웨어 화면, 호스트 앱, QR 형식, microSD 워크플로, 브라우저 커넥터, 네트워크 백엔드는 사용자가 정확히 무엇을 승인하는지에 관해 모두 일치해야 한다.

  • 의례적 절차가 많을수록 준수율이 낮아질 수 있다. 안전한 경로가 어렵다면 사람들은 검증을 건너뛰고, 업데이트를 미루고, 백업을 재사용하거나, 긴급 지침을 이해하지 못한 채 따르게 된다.

  • 확신이 클수록 손실도 증폭될 수 있다. ‘콜드’, ‘에어 갭’, ‘해킹 불가’로 홍보되는 제품은 사용자가 하나의 시드 뒤에 더 많은 가치를 집중하도록 부추길 수 있다. 집중은 숨은 결함 하나를 재앙적 결과로 바꾼다.

각 계층이 독립적일 때 심층 방어는 가치가 있다. 동일한 구현, 동일한 엔트로피 소스, 동일한 업체 또는 동일한 복구 비밀을 반복하는 것은 독립적인 방어가 아니다.

오픈 소스, 감사, 재현 가능 빌드, AI 검토는 동의어가 아니다

취약한 경로가 수년 동안 릴리스에 남아 있는 동안에도 펌웨어가 공개되어 있었고 재현 가능 빌드 문서가 존재했다는 점에서 Coldcard의 기록은 이례적으로 시사적이다. 그렇다고 공개성이 쓸모없다는 뜻은 아니다. 증거가 이용 가능하다는 것과 올바른 보안 속성을 실제로 검토했다는 것은 서로 다름을 보여 준다.

  • 오픈 소스는 외부인이 구현을 검토할 수 있다는 뜻이다. 누군가가 보안상 중요한 모든 경로를 검토했다거나 공개 소스 트리에서 설치된 바이너리가 생성되었다는 사실까지 입증하지는 않는다.

  • 독립 감사는 범위가 한정된 작업이다. 그 가치는 이름이 공개된 검토자, 정확한 커밋 또는 버전, 위협 모델, 시험한 속성, 제외 항목, 발견 사항, 개선 증거에 달려 있다. 범위가 없는 ‘감사 완료’는 구호에 불과하다.

  • 재현 가능 빌드는 독립적인 빌더들이 공개된 절차를 따라 결과물을 비교할 수 있게 한다. 결과가 일치하면 소스와 릴리스 산출물을 연결할 수 있지만, 소스가 올바르다는 사실까지 증명하지는 않는다.

  • App Store 심사와 코드 서명은 배포 및 플랫폼 통제를 제공한다. 그 자체만으로 App Store 바이너리가 공개 저장소와 비트 단위로 동일하다고 증명하지는 않는다.

  • AI 지원 검토는 대규모 코드베이스를 탐색하고, 적대적 가설을 생성하고, 불변 조건을 비교하고, 인간의 분석을 가속할 수 있다. 하지만 모델은 맥락을 놓치거나, 잘못된 전제를 받아들이거나, 그럴듯하지만 틀린 발견 사항을 내놓을 수도 있다. AI 검토는 하나의 추가 관점이지 인증 기관이 아니다.

Coldcard의 현재 상태 페이지는 범위를 표현하는 좋은 사례를 보여 준다. 해당 페이지는 실제 기기를 대상으로 한 RNG 계측, 소스 검토, 핫픽스 검토, 재현 가능 빌드와 주사위 경로 추적을 명시한 다음, 그러한 검사가 모든 펌웨어 바이너리에 대한 완전한 감사가 아니며 결함이 없음을 보장하지도 않는다고 분명히 밝힌다. 이런 문장은 조건 없는 인증 배지보다 더 가치 있다.

Aperture가 정직하게 주장할 수 있는 것

Aperture는 전용 하드웨어 서명 장치와는 다른 자산 보관 아키텍처, 즉 소스가 공개된 iPhone 및 iPad 애플리케이션을 기반으로 한다. 공개 저장소는 MIT 라이선스에 따라 모바일 클라이언트와 빌드 지침을 공개한다. 공개된 보안 모델은 지갑 비밀을 앱 범위의 iOS Keychain에 이 기기 전용 보호 방식으로 저장하고, 로컬 데이터베이스에는 복구 문구나 개인 키 대신 불투명 참조만 보관한다고 명시한다. 거래는 기기에서 구성하고 서명한 뒤, 서명된 데이터만 네트워크 인프라로 전송한다.

Apple의 플랫폼 보안 문서는 의무적 코드 서명, 신원이 확인된 개발자, 자동화 및 사람에 의한 App Store 심사, 샌드박싱, 런타임 서명 강제를 설명한다. Apple의 Keychain 문서는 항목별 보호와 Keychain 키 처리 과정에 Secure Enclave가 관여하는 방식을 설명한다. 이는 실제로 존재하는 플랫폼 통제다. 하지만 Aperture의 블록체인 개인 키 자체가 Secure Enclave 키라는 주장은 아니며, Aperture도 그런 주장을 하지 않는다.

Aperture는 제품 기능 범위도 의도적으로 좁힌다. 수탁형 계정이나 회사가 보유하는 복구 사본을 운영하지 않으며, 핵심 설계상 지갑을 매수·매도 창구, 스왑 엔진 또는 범용 인앱 브라우저로 만들지 않는다. 버전 2.40.12에는 사용자가 주사위, 동전 던지기 또는 숫자로 엔트로피를 만들 때 극단적인 반복, 편중, 예측 가능한 주기를 검사하는 물리적 무작위성 상태 검사가 추가되었다. 이 검사는 명백한 실패 패턴을 감지할 수 있지만, 물리적 과정이 공정하거나 비공개였음을 증명할 수는 없다.

Aperture는 하드웨어 지갑보다 더 안전할 수 있는가?

일부 위협 모델에서는 그렇다. 보편적으로 그렇다고 주장할 수는 없다. 휴대전화 지갑은 전용 기기의 제조·배송 경로를 피하고, 고가 자산을 보관한다는 사실을 눈에 띄게 드러내는 물건의 수를 줄이며, 서명된 업데이트를 신속히 배포하고 성숙한 샌드박싱을 제공하는 플랫폼을 이용할 수 있다. 또한 사용자가 올바르게 다룰 가능성이 더 높은 익숙한 인터페이스에 검토 가능한 구현을 제공할 수 있다. 기능 범위를 작게 유지하면 브라우저, 스왑, 승인, 기기 간 의미 변환과 관련된 위험 유형 전체를 없앨 수도 있다.

다른 위협 모델에서는 잘 설계된 별도 서명 장치가 중요한 경계가 된다. 휴대전화 운영체제나 지갑 프로세스가 침해되더라도, 물리적 분리와 독립적으로 신뢰할 수 있는 디스플레이는 네트워크에 연결된 호스트가 키를 획득하거나 오용하지 못하게 막을 수 있다. 기관 자금이나 삶을 바꿀 정도의 자산이라면, 더 강한 아키텍처는 휴대전화 한 대와 하드웨어 상자 한 대 중 어느 쪽이 낫느냐의 대결이 아니라 독립적인 구현, 독립적인 엔트로피, 분리된 장소, 문서화된 복구 절차를 사용하는 세심하게 시험된 다중 서명 정책일 수 있다.

따라서 ‘하드웨어’라는 단어로 분석을 끝내서는 안 된다. iPhone도 하드웨어다. 중요한 차이는 어떤 코드가 실행되는지, 어떻게 빌드되고 배포되었는지, 어디에서 비밀에 접근할 수 있는지, 사용자가 무엇을 검증할 수 있는지, 거래가 어떻게 표시되는지, 업데이트가 어떻게 이루어지는지, 어떤 단일 실패가 자금을 이동시킬 수 있는지에 있다.

Aperture에도 증거의 경계가 중요하다

Aperture 웹사이트는 현재 앱이 독립적인 감사를 받았고 재현 가능하게 빌드된다고 밝히고 있다. 공개 감사 레지스트리는 검토자 이름, 정확한 범위, 날짜, 검토 버전, 보고서, 발견 사항, 개선 조치, 해시, 재현성 자료를 게시하는 정식 기준 저장소로 지정되어 있다. 출판 시점에 이 레지스트리에는 그러한 구체적 자료가 아직 표시되지 않았다. 공개 GitHub 저장소에도 App Store 바이너리와의 일치 여부를 독립적으로 재현할 때 대조할 릴리스 산출물이 없었다.

따라서 이 글은 ‘App Store 바이너리의 모든 코드 줄이 안전하다고 입증되었다’, 여러 회사가 모든 동작을 인증했다거나, AI가 애플리케이션 전체를 검증했다고 주장하지 않는다. 그런 주장은 이용 가능한 공개 증거를 넘어선다. 기술적으로 올바른 구분은 소스 코드는 GitHub에 공개되어 있는 반면, Apple은 App Store를 통해 서명된 컴파일 바이너리를 배포한다는 것이다. 이 둘을 연결하려면 공개된 빌드 절차, 변경 불가능한 소스 리비전, 의존성 잠금, 확보한 App Store 산출물, Apple 서명 효과를 위한 정규화 절차, 일치 결과, 독립적인 검증 진술이 필요하다.

회의적인 제3자도 재현할 수 있을 만큼 충분한 증거가 주장에 포함될 때 검증은 가장 강해진다. Aperture 역시 모든 하드웨어 지갑 업체와 똑같이 엄격한 기준으로 평가받아야 한다.

대학 수준의 검증 패키지에 포함되어야 할 것

연구자, 감사자, 언론인, 기관 평가자에게 신뢰할 수 있는 지갑 보안 주장은 인증 배지가 늘어선 벽이 아니라 탐색 가능한 증거 사슬이어야 한다. 최소한 다음을 요구하라.

  1. 정확한 위협 모델. 원격 침해, 물리적 추출, 악성 업데이트, 빌드 시스템 침해, 약한 엔트로피, 거래 바꿔치기, 백업 절도, 강압, 가용성을 각각 구분해 명시하라.

  2. 변경 불가능한 검토 리비전. 검토 범위에 포함된 커밋, 의존성 그래프, 컴파일러와 SDK 버전, 빌드 플래그, 엔타이틀먼트, 구성을 식별하라.

  3. 이름이 공개된 독립 보고서. 검토자, 방법론, 날짜, 제외 항목, 심각도 기준, 발견 사항, 각 개선 항목을 종결하는 데 사용한 증거를 공개하라.

  4. 소스-바이너리 재현성. 정확한 공개 릴리스에 연결된 완전한 절차와 독립 빌드 결과를 제공하라. 비결정적 차이나 서명 과정에서 생성되는 차이가 있다면 설명하라.

  5. 엔트로피 경로 증거. 엔트로피 소스를 실제 하드웨어에서 시험하고, 실패 시 동작을 검증하고, 조용한 폴백을 거부하며, 릴리스 빌드가 사용한 정확한 경로를 추적하라. 통계적 출력 테스트만으로는 생성기가 올바르게 연결되었음을 증명할 수 없다.

  6. 적대적 거래 테스트. 수신자 바꿔치기, 수수료 조작, 적대적 메타데이터, 블라인드 서명 경계, 중단된 브로드캐스트, 각 디스플레이와 서명 장치 사이의 파서 불일치를 시험하라.

  7. 복구 및 업데이트 훈련. 부분 정보, 이전 버전, 마이그레이션, 분실한 기기, 업데이트로 기존 비밀을 복구할 수 없을 가능성까지 포함하여 현실적인 시간 압박 아래에서 지침을 시험하라.

  8. 지속적이고 다각적인 검토. 결정론적 테스트, 정적 분석, 인간 전문가, 퍼징, 실제 기기 테스트, AI 지원 검토를 상호 보완적 방법으로 사용하라. 각 방법이 무엇을 입증했고 무엇을 입증하지 못했는지 기록하라.

위협은 화면 밖으로 나올 수 있다

자가 보관은 수탁자를 없앨 수 있지만, 한 개인을 최종 승인 경계로 만들 수도 있다. 암호기법을 뚫지 못하는 도둑은 대신 소유자, 가족, 집, 직장 또는 공개 신원을 표적으로 삼을 수 있다. 전용 하드웨어는 그 사람이 자산 보관을 중시한다는 사실을 눈에 띄게 알리거나, 공격자가 찾을 것으로 기대하는 물리적 물체를 만들기 때문에 때로 이러한 표적화를 더 쉽게 할 수 있다. 잔액이 보인다면 휴대전화도 보유 자산을 노출할 수 있다. 어느 폼 팩터도 강압 문제를 해결하지 못한다.

2024년에 동료평가를 거친 연구인 ‘렌치 공격 조사: 암호화폐 사용자를 표적으로 한 물리적 공격’은 인터뷰, 포럼, 뉴스 기사 146건을 분석했다. 필터링된 뉴스 데이터셋에는 물리적 공격 사건 105건이 포함되었으며, 그중 주요하게 보고된 행위로 납치 24건과 살인 6건이 있었다. 저자들은 과소 보고 문제를 강조했고, 경험 많은 보안 실무자도 예외가 아님을 확인했다. 이 수치는 해당 연구의 데이터셋을 설명할 뿐, 전 세계 발생률을 나타내지도 않고 특정 지갑 유형이 각 범죄를 유발했다는 증거도 아니다.

위험은 이론에 그치지 않는다. 2024년 미국 법무부는 감시, 주거 침입, 납치, 폭행, 협박으로 피해자에게 암호화폐 계정의 자금을 비우도록 강요한 공모 사건의 유죄 판결을 설명했다. 교훈은 공포에 빠지거나 정당한 도움을 피하라는 것이 아니다. 운영상 프라이버시와 신변 안전을 지갑 설계의 일부로 다루라는 것이다.

자산 회수보다 사람의 안전이 우선이다

  • 잔액이나 보관 세부 정보를 알리지 마라. 공개 주소, 스크린샷, 학회에서 나눈 대화, 소셜 미디어 게시물, 배송 기록, 버린 포장재가 신원, 위치, 추정 자산을 연결할 수 있다.

  • 일상 자금과 비축 자산을 분리하라. 지출용 지갑이 장기 보유 자산 전체를 드러내거나 통제해서는 안 된다. 모든 자산과 복구 경로를 즉시 접근 가능한 하나의 비밀 뒤에 집중시키지 마라.

  • 상당한 가치에는 독립적인 승인을 사용하라. 잘 설계된 다중 서명은 도난당한 기기 하나 또는 한 장소에서의 강압만으로 자금 이동 조건이 충족되는 것을 막을 수 있다. 다만 키, 구현체, 복구 자료가 실제로 분리되어 있을 때만 그렇다.

  • 인터페이스가 드러내는 정보를 보호하라. 앱 잠금 및 앱 전환기 프라이버시 제어를 사용하고, 공개된 장소에서 전체 잔액을 표시하지 않으며, 무관한 보유 자산을 노출하지 않고 수신자를 확인하라.

  • 자격을 갖춘 현지 전문가와 함께 계획하라. 위험도가 높은 개인과 기관은 자신의 관할권과 개인적 상황을 이해하는 전문가와 함께 합법적인 물리 보안, 여행, 사고 대응, 상속, 가족 안전 절차를 마련해야 한다.

  • 지갑 때문에 목숨을 위험에 빠뜨리지 마라. 어떤 복구 문구, 기기, 거래, 금액도 신체적 상해를 감수할 가치는 없다. 즉각적인 위협 상황에서는 사람의 안전을 최우선으로 하고, 안전하게 할 수 있을 때 현지 긴급 구조 기관에 연락하라.

교훈은 진영 논리가 아니라 증거다

Coldcard의 실패는 현재의 모든 Coldcard가 안전하지 않다거나, 모든 하드웨어 지갑이 보안 연극에 불과하다거나, 모든 휴대전화 지갑이 우월하다는 사실을 증명하지 않는다. Coinkite는 수정된 릴리스, 마이그레이션 지침, 특정 항목을 대상으로 한 독립 검증, 그러한 검사가 입증하는 바의 명시적 한계를 공개했다. 책임 있는 분석이라면 사건의 심각성과 개선 기록을 모두 인정해야 한다.

마찬가지로 Aperture도 다른 아키텍처를 비판한다는 이유만으로 신뢰를 물려받아서는 안 된다. 공개 소스, 제한된 자산 보관 모델, Apple 플랫폼 통제, 로컬 서명, 검토 가능성은 의미가 있다. 이름이 공개된 제3자가 범위와 발견 사항을 공개하고, 연구자가 변경 불가능한 소스에서 배포 바이너리를 재현할 수 있으며, AI 지원 검토가 결정론적 테스트 및 책임 있는 인간의 판단과 결합될 때 그 의미는 더 강해진다.

지속적으로 유효한 결론은 더 단순하다. 보안은 상자의 재질이 아니다. 비밀의 품질, 전체 시스템의 동작, 방어 수단의 독립성, 인터페이스의 명료성, 그리고 모든 중요한 주장을 검증할 수 있게 하는 증거가 곧 보안이다. 복잡성은 필요할 수 있지만, 통제하는 위협 하나하나에 대해 그 필요성을 입증해야 한다.

Aperture의 다음 가이드도 이어서 살펴보라. 물리적 무작위성으로 엔트로피 만들기, BIP39 패스프레이즈, 자가 보관 보안 모델앱 암호 및 프라이버시 제어.

주요 자료 및 기술 자료

Aperture는 Coldcard, Coinkite, Trezor, Kraken, Ledger, Block 또는 인용된 연구자들과 제휴 관계가 없으며, 이들로부터 보증을 받지 않았다. 제품명과 회사명은 각 소유자에게 귀속된다. 이 글은 보안 교육을 위한 것이며 개인 맞춤형 금융, 법률 또는 긴급 상황 조언이 아니다. 복구 문구, 개인 키, 지갑 패스프레이즈, 앱 암호 또는 백업 비밀번호를 웹사이트, 지원 담당자, 연구자, AI 어시스턴트에게 절대 제공하지 마라.