샤이 훌루드(Shai-Hulud) 공격: 공급망 웜이 암호화폐 개발자와 사용자로부터 5,800만 달러를 탈취한 방법
2025년 크리스마스 이브, 암호화폐 업계의 대부분이 휴가를 즐기고 있을 때 공격자들은 트러스트 월렛 (Trust Wallet)의 크롬 확장 프로그램에 악성 업데이트를 푸시했습니다. 48시간 만에 2,520개의 지갑에서 850만 달러가 사라졌습니다. 수천 명의 사용자 시드 구문 (seed phrases)이 일상적인 텔레메트리 데이터로 위장하여 조용히 수집되었습니다. 하지만 이것은 단독 사건이 아니었습니다. 이는 몇 주 동안 암호화폐 개발 생태계를 통해 확산되고 있었던 공급망 공격 (supply chain attack)의 정점이었습니다.
듄 (Dune)의 모래 벌레 이름을 딴 샤이 훌루드 (Shai-Hulud) 캠페인은 2025년 가장 공격적인 npm 공급망 공격을 상징합니다. 700개 이상의 npm 패키지를 오염시켰고, 27,000개의 GitHub 리포지토리를 감염시켰으며, 487개 조직에 걸쳐 약 14,000개의 개발자 비밀 정보 (developer secrets)를 노출시켰습니다. 총 피해액은 5,800만 달러 이상의 암호화폐 탈취로, 암호화폐 역사상 개발자를 대상으로 한 가장 막대한 피해를 입힌 공격 중 하나가 되었습니다.
공급망 웜의 해부
사용자가 악성 소프트웨어를 다운로드하도록 유도하는 일반적인 맬웨어와 달리, 공급망 공격은 개발자가 이미 신뢰하고 있는 도구를 오염시킵니다. 샤이 훌루드 캠페인은 거의 모든 암호화폐 지갑, DeFi 프론트엔드 및 Web3 애플리케이션을 포함하여 대부분의 자바스크립트 (JavaScript) 개발을 구동하는 패키지 관리자인 npm을 무기화했습니다.
이 공격은 2025년 9월 첫 번째 물결로 시작되어 약 5,000만 달러의 암호화폐 도난을 초래했습니다. 그러나 작전의 진정한 정교함을 보여준 것은 11월의 "두 번째 강림 (The Second Coming)"이었습니다. 11월 21일부터 23일 사이, 공격자들은 Zapier, ENS Domains, AsyncAPI, PostHog, Browserbase, Postman 등을 포함한 주요 프로젝트의 개발 인프라를 침해했습니다.
전파 메커니즘은 정교하면서도 치명적이었습니다. 샤이 훌루드가 정상적인 npm 패키지를 감염시키면, preinstall 스크립트에 의해 트리거되는 setup_bun.js와 bun_environment.js라는 두 개의 악성 파일을 주입합니다. 설치 후 활성화되는 전통적인 맬웨어와 달리, 이 페이로드는 설치가 완료되기 전, 심지어 설치가 실패하더라도 실행됩니다. 개발자가 무언가 잘못되었다는 것을 깨달을 때쯤에는 이미 자격 증명이 탈취된 상태입니다.
이 웜은 감염된 개발자가 관리하는 다른 패키지를 식별하여 악성 코드를 자동으로 주입하고 새로운 감염 버전을 npm 레지스트리에 게시합니다. 이러한 자동화된 전파를 통해 맬웨어는 공격자의 직접적인 개입 없이도 기하급수적으로 확산될 수 있었습니다.