제공
Featured

콜드카드(Coldcard)의 보안 취약점을 발견한 것은 AI의 공로였을까?

5년 전부터 존재해 온 콜드카드(Coldcard) 소프트웨어의 결함으로 인해 공격자가 개인 키를 재구성해 1,100비트코인 이상을 탈취했을 가능성이 제기되면서, 해당 지갑 제작사는 이번 결함 발견의 원인을 부분적으로 인공지능(AI) 탓으로 돌렸다.

작성자
공유
콜드카드(Coldcard)의 보안 취약점을 발견한 것은 AI의 공로였을까?

주요 내용

  • 콜드카드와 연동된 시드 키로 인해 약 7,110만 달러 상당의 1,128.4717 BTC가 유출되었다.
  • 코인카이트(Coinkite)는 AI가 이 5년 된 결함을 발견했을 가능성이 있다고 밝혔으나, 그 원인을 AI로 단정 짓기는 아직 이르다.
  • 영향을 받은 시드를 보유한 콜드카드 사용자는 수정된 펌웨어로 새 지갑을 생성해야 한다.

조직적인 탈취로 수백 개의 지갑이 비워졌다

이 사건은 7월 30일, 당시 약 3,800만 달러 상당의 594 BTC가 약 500개의 단일 서명 비트코인 주소에서 이체된 후 공개되었습니다. 이 소식이 처음 보도되었을 때, Bitcoin.com News는 이 이체들이 약 25분 동안 이루어졌으며, 공통된 기술적 취약점을 가진 지갑들을 표적으로 삼은 것으로 보인다고 보도했습니다.

이후 블록체인 분석 결과, 도난의 잠재적 규모가 더 커진 것으로 드러났다. 연구원들은 약 41분 동안 1,082개에서 1,196개에 달하는 주소가 피해를 입었을 것으로 추정했다. 이후 ‘Coldcard Sweep Watch’라는 맞춤형 대시보드는 총 피해 규모를 1,128.4717 BTC로 집계했는데, 이는 비트코인 가격이 63,044달러 선에서 거래되던 당시 약 7,110만 달러에 해당하는 금액이었다.

Coldcard Sweep Watch dashboard screenshot.
이미지 출처: Coldcard Sweep Watch 대시보드. 2026년 8월 1일 오전 8시 30분(동부 표준시)에 캡처한 스크린샷. 이 스크린샷이 촬영된 지 1시간 후인 오전 9시 30분, 추정 피해 규모는 1,128.6633 BTC로 증가했다.

자금의 대부분은 수백 개의 비트코인을 보유한 하나의 주소로 통합되었으며, 그 중 상당 부분은 거의 움직이지 않은 채로 남아 있었습니다. 영향을 받은 주소들은 한 가지 중요한 공통점을 가지고 있었습니다. 바로 해당 주소들의 복구 시드가 캐나다 기업 코인카이트(Coinkite)가 제조한 콜드카드(Coldcard) 하드웨어 지갑에서 생성되었다는 점입니다.

복구 시드는 암호화폐 지갑에 대한 접근 권한을 제어하는 단어 목록입니다. 해당 시드를 재구성하거나 입수할 수 있는 사람은 일반적으로 물리적 기기를 소유하지 않아도 지갑의 자금을 이동할 수 있습니다.

콜드카드, 결함이 있는 난수 생성 시스템 발견

코인카이트는 콜드카드 기기에서 생성된 특정 시드가 취약할 수 있다는 긴급 권고문을 발표했다. 2021년 3월경 출시된 펌웨어 버전 4.0.1을 실행하는 Mk3 기기와 그 이후 버전이 가장 큰 위험에 노출된 기종에 포함되었다.

추가 분석 결과, Coinkite가 긴급 펌웨어 수정본을 출시하기 전에 일부 Mk4, Mk5 및 Q 기기에서 생성된 시드까지 우려의 범위가 확대되었습니다. Tapsigner, Opendime 및 Satscard 제품은 다른 소프트웨어를 사용하기 때문에 영향을 받지 않은 것으로 알려졌습니다.

이 결함은 난수 생성 과정에서 비롯되었습니다. 보안 지갑은 복구 시드가 추측될 수 없도록 고품질의 난수성에 의존합니다. 가장 심각한 영향을 받은 Mk3 기기의 경우, 연구진은 시드가 의도된 128비트 대신 약 40비트의 유효 난수성만 포함했을 것으로 추정했습니다.

이 차이는 매우 중요합니다. 적절하게 생성된 128비트 시드는 무차별 대입 공격으로 추측하는 것이 사실상 불가능한 것으로 간주됩니다. 반면 40비트 시드는 가능한 조합의 수가 극히 적기 때문에, 충분한 연산 능력을 갖춘 공격자는 오프라인에서 잠재적인 시드를 테스트하고, 그 결과로 생성된 주소를 공개된 비트코인 블록체인에 있는 주소와 비교할 수 있습니다.

일부 최신 기기의 경우, 보안 하드웨어가 예측 불가능한 데이터 계층을 추가로 제공함으로써 약 72비트의 유효 난수성을 확보했을 수도 있습니다. 이 경우 시드를 재구성하기는 더 어려워지겠지만, 여전히 의도된 수준보다는 훨씬 취약합니다.

5년 동안 지속된 하나의 구성 오류

이 문제는 유사한 작업을 수행하는 두 소프트웨어 함수와 관련된 빌드 시점의 구성 오류에서 비롯되었습니다. 한 함수는 기기의 하드웨어 기반 진정한 난수 생성기를 사용한 반면, 다른 함수는 MicroPython에서 계승된 취약한 소프트웨어 프로세스에 의존했습니다.

Coinkite는 MicroPython 옵션을 비활성화할 계획이었습니다. 그러나 소프트웨어 검증 과정에서는 해당 구성 레이블이 정의되었는지 여부만 확인했을 뿐, 그 값이 0으로 설정되었는지는 확인하지 않았습니다. 그 결과, 완성된 펌웨어는 아무런 오류 메시지 없이 더 취약한 함수를 선택할 수 있게 되었습니다.

두 함수의 형식이 일치했기 때문에 소프트웨어는 뚜렷한 오류 없이 계속 컴파일되고 실행되었습니다. 이 오류는 2021년 소프트웨어 마이그레이션 과정에서 코드에 유입되었으며, 5년 넘게 공개된 펌웨어에 남아 있었습니다.

현재 기기를 업데이트한다고 해도 결함이 있는 소프트웨어에서 생성된 시드는 강화되지 않습니다. 영향을 받은 사용자는 수정된 펌웨어나 다른 안전한 기기를 사용하여 완전히 새로운 시드를 생성한 다음, 자금을 해당 새 시드가 관리하는 주소로 이동해야 합니다.

X screenshot
이미지 출처: X

시드를 생성할 때 최소 50회의 독립적인 주사위 굴림을 추가한 사용자는 이 취약점을 피하기에 충분한 추가 무작위성을 확보했을 수 있습니다. 강력한 BIP-39 패스프레이즈 역시 재구성을 더 어렵게 만들었을 수 있으며, 여러 독립적인 기기의 서명을 요구하는 지갑의 경우, 한 개의 손상된 시드만으로는 자금을 이동할 수 없었을 수도 있습니다.

코인카이트, AI를 원인으로 지목했으나 입증은 여전히 미흡

코인카이트(Coinkite)의 CEO 로돌포 노박(Rodolfo Novak)은 공개적으로 사과하며, 회사가 펌웨어 결함에 대해 전적인 책임을 진다고 밝혔습니다. 그는 팀이 수정된 소프트웨어, 기술 보고서, 그리고 영향을 받은 사용자들을 위한 지원 방안을 마련 중이라고 말했습니다.

코인카이트와 노박은 또한 이 결함이 어떻게 발견되었는지에 대해 놀라운 가설을 제시했다. 펌웨어가 수년 동안 공개되어 있었기 때문에, 누군가가 AI를 활용해 이전 버전의 코드를 분석하고 취약한 난수 생성 경로를 찾아냈을 가능성이 있다고 회사는 밝혔다. “다른 모든 개발자 여러분께: 우리는 이것이 새로운 AI 패러다임의 냉정한 현실이라고 믿습니다. AI를 활용한 코드 검토는 이제 업계에서 가장 노련한 전문가들조차 따라잡을 수 없는 속도로 잠재된 버그를 찾아낼 수 있습니다,"라고 노박은 X에 게시한 사과 글에서 밝혔습니다. "여러분의 펌웨어가 오픈소스이거나 과거에 공개된 적이 있다면, 이미 공격자와 방어자 모두에게 분석되고 있다고 가정하십시오."

오늘날의 최신 AI 코딩 시스템은 방대한 소프트웨어 저장소를 처리하고, 구성 설정, 함수, 보안 가정 간의 의심스러운 연관성을 식별할 수 있습니다. 공격자는 이러한 시스템에 취약한 난수 생성기, 대체 함수, 또는 암호화 키에 영향을 미치는 오류를 구체적으로 찾아달라고 요청할 수 있습니다.

X screenshot
일부 관찰자들은 최첨단 AI 모델을 활용해 스스로 콜드카드(Coldcard) 취약점을 찾아내기도 했습니다. 이미지 출처: X

이후 독립 연구자들은 근본적인 난수 생성 문제가 알려진 후 AI 모델을 사용하여 해당 문제를 찾아내거나 그 원인을 설명했다고 보고했습니다. 이는 AI를 활용한 코드 분석이 얼마나 쉽게 접근 가능해졌는지를 보여주었지만, 최초의 공격자가 AI를 사용했다는 사실을 입증한 것은 아닙니다.

Coldcard Wallet blog post discussing AI screenshot.
이미지 출처: AI에 대해 다룬 Coldcard Wallet 블로그 게시물.

코인카이트(Coinkite)는 선도적인 AI 모델을 활용한 자체 검토에서도 도난 사건 이전에 해당 결함을 발견하지 못했음을 인정했다. 이 결과는 AI 시스템이 모든 심각한 결함을 자동으로 찾아내는 것은 아니라는 점을 보여준다. AI 시스템의 성능은 주어진 지시 사항, 제공된 코드의 양, 그리고 인간 검토자가 경고 신호를 제대로 이해하는지에 따라 달라질 수 있다.

비판론자들은 “인적 실수가 먼저였다”고 주장한다

일부 보안 전문가들은 인공지능(AI)에 지나치게 집중하는 것이 근본적인 엔지니어링 실패에서 시선을 돌릴 위험이 있다고 주장한다. 많은 이들은 해당 구성 오류가 이미 알려진 유형의 소프트웨어 오류였으며, 시드 생성을 중심으로 한 기존의 코드 검토, 테스트 절차 또는 감사를 통해 수년 전에 이를 발견할 수 있었을 것이라고 믿는다.

X screenshot.
일부 관찰자들은 AI를 탓할 수 없다고 보며, 엔지니어링 팀이 스스로 이 취약점을 찾아냈어야 했다고 생각한다. 이미지 출처: X.

상반된 견해들이 반드시 양립할 수 없는 것은 아닙니다. 인간의 실수가 취약점을 만들어내고 이를 지속하게 한 반면, AI는 이를 발견하고, 이해하며, 악용하는 데 드는 비용을 낮췄을 수 있습니다. 방어자는 모든 위험한 취약점을 파악해야 하는 반면, 공격자는 단 하나만 찾아내면 됩니다.

이번 사건은 오픈소스 보안에 대한 통념에도 의문을 제기합니다. 공개된 코드를 통해 독립적인 전문가들이 소프트웨어를 검토할 수 있지만, 단순히 코드가 공개되었다는 사실만으로는 누군가가 올바른 부분을 검토하고, 미묘한 결함을 파악하여 공격자가 행동에 나서기 전에 이를 보고할 것이라고 보장할 수는 없습니다.

콜드카드(Coldcard) 사용자에게 당면한 최우선 과제는 자신의 시드(seed)가 언제, 어떻게 생성되었는지 파악하는 것이다. 영향을 받은 시드를 보유한 사용자는 코인카이트(Coinkite)의 공식 채널을 통해 안내 사항을 확인하고, 수정된 펌웨어를 설치하며, 새로운 시드를 생성해야 한다. 또한 피싱 시도와 가짜 지원 메시지에 주의하면서 자금을 신중하게 이동시켜야 한다.

장기적인 관심사는 얼마나 많은 비트코인이 탈취되었는지, 수사 당국이 공격자를 특정할 수 있는지, 그리고 결함을 발견하는 데 AI가 결정적인 역할을 했는지 여부에 집중될 것입니다. 또한 하드웨어 지갑 업체들은 엔트로피 테스트를 강화하고, 빌드 구성을 감사하며, 전문 인력과 적대적 AI 도구를 모두 활용해 기존 코드를 지속적으로 검토해야 한다는 압박에 직면하게 될 것입니다.

이 기사는 AI를 사용하여 영어에서 번역되었습니다. 영어 원본이 권위 있는 출처이며, 자동 번역에는 특히 법률 및 규제 용어에서 부정확한 내용이 포함될 수 있습니다.