패키지 34개, 탐지까지 58초. Solana·Sui·Aptos 지갑은 이미 털렸다.

TrapDoor는 npm, PyPI, Crates.io에 악성 패키지 34개를 심어 Solana, Sui, Aptos 지갑 키스토어를 노렸다. 무슨 일이 있었는지, 누가 위험한지, 개발자가 지금 확인해야 할 것은 무엇인지 살펴본다.

By Nestree 12 min read
34 packages. 58-second detection. Solana, Sui, and Aptos wallets already drained.

2026년 5월 마지막 주, TrapDoor라는 이름의 공급망 공격이 npm, PyPI, Crates.io를 동시에 강타했습니다. 개발자 머신의 Solana, Sui, Aptos 지갑 키스토어를 정조준해 악성 패키지 34개를 배포한 이 공격은 일부 사례에서 1분 이내에 탐지되었지만, 공개 공시 전까지 며칠간 지속되었습니다. 무슨 일이 있었는지, 실제 노출 범위는 어떤지, 그리고 지금 당장 취해야 할 구체적인 조치를 정리합니다.

무슨 일이 있었나: 34개 패키지, 3개 레지스트리, 하나의 조직적 공격

TrapDoor는 2026년 5월 하순 Socket Security가 발견한 멀티 레지스트리 공급망 캠페인입니다. 공격자들은 npm, PyPI, Crates.io에 걸쳐 384개 버전 으로 구성된 악성 패키지 34개 를 배포했습니다. 최초로 확인된 아티팩트인 eth-security-auditor 0.1.02026년 5월 22일 20:20 UTC에 PyPI에 등장했습니다 .

한줄 요약: TrapDoor는 2026년 5월 발생한 공급망 공격으로, npm·PyPI·Crates.io에 악성 패키지 34개 를 심어 개발자 머신의 Solana, Sui, Aptos 지갑 키스토어를 탈취했습니다. Socket Security의 최단 탐지 시간은 배포 후 58초였지만 , 공개 공시 전까지 며칠간 패키지가 유통되어 35,000개 이상의 저장소에 도달했을 가능성이 있습니다.

패키지는 공격자 계정에서 조직적인 파도처럼 순차 배포되었습니다. Socket 위협 리서치 팀은 중앙값 탐지 시간 5분 27초, 최단 탐지 시간 배포 후 58초를 기록했습니다 . 공개 공시는 2026년 5월 25일~29일에 이루어졌으며 , 이 3일 이상의 기간 동안 패키지는 35,000개 이상의 저장소에 도달한 것으로 추산됩니다 .

패키지 명명 전략은 치밀했습니다: wallet-security-checker, defi-risk-scanner, sui-framework-helpers, move-compiler-tools. 각각 그럴싸한 보안 또는 빌드 유틸리티를 흉내 냈으며, 크립토나 AI 개발자라면 별 의심 없이 설치할 법한 이름들이었습니다. 빠른 탐지 인프라에도 불구하고 이 캠페인이 효과를 거둔 것은 바로 이 소셜 엔지니어링 레이어 덕분이었습니다.

레지스트리 악성 패키지 예시 실행 트리거
npm wallet-security-checker, defi-threat-scanner, llm-context-compressor postinstall hook → trap-core.js
PyPI eth-security-auditor, defi-risk-scanner, env-loader-cli 임포트 시 실행 + ddjidd564.github.io에서 원격 페이로드 fetch
Crates.io sui-framework-helpers, move-analyzer-build, move-compiler-tools Cargo 컴파일 시 build.rs 스크립트 실행

왜 중요한가: 공격 대상은 자격 증명이 아닌 지갑 키스토어

대부분의 공급망 공격은 API 키나 세션 토큰 — 수익화까지 시간이 걸리는 자산 — 을 노립니다. TrapDoor는 곧바로 자금을 겨냥했습니다. 페이로드는 명시적으로 Solana, Sui, Aptos 지갑 키스토어 파일을 추적했는데, 이 세 Layer-1 생태계는 2026년 현재 DeFi 및 NFT 개발의 핵심입니다 . 탈취된 키스토어는 공격자에게 즉각적인 지갑 접근 권한을 부여하며, 별도의 수익화 단계가 필요 없습니다.

침해된 개발자 머신에서 유출되는 전체 범위 :

  • Solana, Sui, Aptos 로컬 지갑 키스토어 파일
  • MetaMask 및 Phantom 브라우저 확장 프로그램 데이터
  • SSH 개인 키 및 AWS IAM 자격 증명
  • GitHub 개인 액세스 토큰
  • 브라우저 로그인 데이터베이스 및 쿠키 저장소 (Chromium, Firefox)
  • .env 파일 및 로컬 API 키
  • CI/CD 파이프라인 설정 및 git 훅 파일

C2 인프라는 GitHub Pages와 GitHub Gists를 페이로드 호스팅 및 탈취 데이터 스테이징에 활용했습니다. 주요 도메인인 ddjidd564.github[.]io는 대부분의 기업 방화벽이 기본으로 허용 목록에 올려두는 github.io 서브도메인이기 때문에, 유출 트래픽이 SIEM 알림에 노출될 가능성은 낮았습니다 . PyPI 패키지는 import 시점에 이 엔드포인트에서 실시간으로 페이로드를 가져와 재발행 없이 악성코드를 업데이트할 수 있었으며, 이는 버전 스캔 방어를 깔끔하게 우회하는 방식입니다.

"TrapDoor는 공급망 공격 범위의 명백한 확전을 보여줍니다. 자격 증명과 함께 블록체인 지갑 키스토어를 직접 겨냥하고, GitHub의 신뢰할 수 있는 인프라를 통해 C2 트래픽을 라우팅하며, 패키지 제거 후에도 살아남는 AI 어시스턴트 백도어를 심습니다. 개발자 머신이 직접적인 금전 공격 대상으로 취급받고 있습니다." — Socket Security 위협 연구팀, 2026년 5월 발행 분석 (source: Rescana TrapDoor Analysis)

연구자들은 새로운 지속성 벡터도 발견했습니다. 악성코드는 .cursorrulesCLAUDE.md 프로젝트 파일 내부에 제로 너비 유니코드 문자를 이용한 숨겨진 지시문을 심었습니다. 이 보이지 않는 명령은 AI 코딩 도구인 Cursor와 Claude Code를 조작해 이후 세션에서 가짜 "보안 스캔" 루틴을 실행하도록 설계되었으며, 악성 패키지 자체가 제거된 후에도 유출을 지속시킵니다 . 이 벡터에 대한 전체 기술 공개는 5월 29일 현재 진행 중이었습니다.

지금 당장 해야 할 일: 영향받은 개발자를 위한 점검 체크리스트

2026년 5월 22~25일 사이에 암호화폐 또는 AI 툴링 분야의 npm, PyPI, Cargo 패키지가 머신에 설치된 경우, 해당 머신은 침해 가능성이 있는 것으로 간주하십시오. 5월 31일 현재 확인된 자금 유출 금액이나 피해 조직이 공개적으로 발표된 바는 없습니다 — 그러나 공개 발표가 없다는 것이 안전을 의미하지는 않습니다. 각 레지스트리에서 직접 패키지 제거 여부를 확인하고, 이미 삭제되었다고 가정하지 마십시오.

1단계 — 확인된 악성 패키지 목록과 잠금 파일 대조:

  • npm: wallet-security-checker, defi-env-auditor, crypto-credential-scanner, solidity-build-guard, solidity-deploy-guard, prompt-engineering-toolkit, defi-threat-scanner, move-compiler-tools, llm-context-compressor
  • PyPI: eth-security-auditor, cryptowallet-safety, defi-risk-scanner, env-loader-cli
  • Crates.io: move-analyzer-build, sui-framework-helpers, move-compiler-tools

2단계 — 영향받은 머신의 모든 자격 증명 교체: SSH 키, AWS IAM 역할, GitHub 개인 액세스 토큰, 브라우저 세션 쿠키, .env 파일의 모든 API 키. 위 패키지 중 하나라도 설치 이력에 있다면 반드시 수행해야 합니다.

3단계 — 블록체인 자금 즉시 이동. 침해되지 않은 깨끗한 머신에서 새 Solana, Sui, Aptos 지갑을 생성하고 모든 자산을 이전하십시오. 노출 기간 동안 키스토어 파일이 영향받은 머신에 존재했다면, 이미 탈취된 것으로 간주하십시오. 실제 유출 확인을 기다리지 말고 즉시 행동하십시오.

4단계 — AI 프로젝트 설정 파일에서 숨겨진 유니코드 검사. .cursorrulesCLAUDE.md를 16진수 인식 편집기에서 열어 제로 너비 문자(U+200B, U+FEFF, U+200C)를 검색하십시오. 5단계 — CI/CD 파이프라인 감사: 2026년 5월에 추가된 postinstall 훅이나 build.rs 스크립트는 검증 전까지 의심 대상입니다. .git/hooks/ 디렉터리와 셸 프로필(.bashrc, .zshrc)에서 낯선 항목을 확인하십시오. Cybersecurity News가 보도한 바와 같이, 2026년 5월 31일 현재 알려진 APT에 대한 귀속은 공개되지 않았습니다 — 현재 진행 중인 활성 캠페인으로 취급하십시오.

자주 묻는 질문

TrapDoor 공격에 취약한 지갑은 무엇인가요?

Solana, Sui, Aptos 지갑의 키스토어 파일이 명시적인 표적이었습니다. MetaMask와 Phantom 브라우저 확장 프로그램 데이터도 탈취 범위에 포함되어 있었습니다. 하드웨어 지갑은 감염된 기기에 시드 구문이나 키스토어 백업이 소프트웨어 파일 형태로 저장되어 있지 않는 한 직접적인 영향을 받지 않습니다. 다만 해당 파일이 존재했다면 이미 탈취되었을 가능성이 있으며, 노출된 것으로 간주해야 합니다.

TrapDoor 패키지 설치 여부를 어떻게 확인하나요?

package-lock.json(npm), requirements.txt 또는 Pipfile.lock(PyPI), Cargo.lock(Crates.io) 파일을 위 감사 섹션의 확인된 악성 패키지 목록과 대조하세요. 2026년 5월 22일~25일 사이의 설치 타임스탬프를 확인하시기 바랍니다. CoinDesk가 보도한 Socket Security 보안 권고문과 GitHub 보안 알림이 전체 패키지 목록에 대한 가장 최신 참고 자료입니다.

TrapDoor는 2026년 5월 현재도 활성 상태인가요?

공개 과정은 2026년 5월 25일~29일에 걸쳐 진행되었으며, 그 기간 동안 공격자가 제어하는 계정에서 악성 패키지가 계속 배포되었습니다. Socket은 확인된 모든 패키지를 npm, PyPI, Crates.io에 신고해 삭제를 요청했습니다. 삭제 완료 여부는 각 레지스트리의 보안 권고문을 통해 직접 확인해야 합니다. 모든 악성 패키지가 제거되었다고 가정하지 마세요. 레지스트리가 완전한 해제 확인을 발표하기 전까지는 현재 진행 중인 캠페인으로 취급해야 합니다.

공격자들이 명령 및 제어에 GitHub 인프라를 사용한 이유는 무엇인가요?

GitHub Pages와 GitHub Gists는 신뢰할 수 있는 도메인으로, 대부분의 허용 목록에 등재되어 있습니다. github.io 서브도메인과 gist.github.com을 통해 C2 트래픽을 라우팅하면 공격자 소유 도메인에 비해 SIEM 경보를 유발할 가능성이 크게 낮아집니다. 대부분의 조직이 GitHub 트래픽을 기본적으로 허용하기 때문에, 개발자 환경을 표적으로 하는 고급 공급망 캠페인에서 점점 더 널리 쓰이는 효과적인 탐지 우회 기법입니다.

개발자가 아닌 일반 크립토 지갑 보유자도 영향을 받나요?

TrapDoor의 공격 경로는 개발자 환경에서 악성 패키지를 설치하는 것을 전제로 합니다. 하드웨어 지갑이나 수탁형 거래소를 이용하는 일반 보유자, 즉 해당 패키지를 한 번도 실행한 적 없는 사용자는 이번 캠페인에 직접적인 위험이 없습니다. 다만 크립토 도구를 개발·배포하는 개발자의 릴리즈 파이프라인이 침해되었을 수 있어, 영향을 받은 소프트웨어의 하위 사용자에게 잠재적인 이차 피해가 발생할 수 있습니다.

앞으로 주목할 지점

추적해야 할 신호는 세 가지입니다. 첫째, npm, PyPI, Crates.io의 공식 패키지 삭제 확인 — 공식 확인이 없다는 것 자체가 위험 신호입니다. 둘째, AI 코딩 어시스턴트 조작 벡터에 관한 Socket Security의 후속 기술 공개문 — 발행 시점 기준으로 아직 전면 문서화가 진행 중이었습니다. 셋째, 귀속 문제 — 2026년 5월 31일 현재 TrapDoor와 연결된 알려진 APT 또는 국가 행위자는 없습니다 . 그러나 다중 레지스트리 동시 공격과 GitHub 기반 C2 인프라는 예상 공격자 프로필을 상당히 좁혀줍니다.

구조적 시사점은 명확합니다. 개발자 기기는 이제 크립토 생태계의 주요 금융 공격 표면이 되었습니다. Solana나 Aptos 키스토어를 탈취한 공격자는 거래소 해킹이나 프로토콜 익스플로잇 없이 즉시 지갑에 접근할 수 있습니다. 락파일 감사, 의존성 버전 고정, 설치 훅 검토는 더 이상 선택적인 개발 위생이 아닙니다. 이것은 지갑 보안입니다.

최종 업데이트: 2026-05-31. Socket Security의 TrapDoor 공개문과 CoinDesk, The Hacker News, Unchained Crypto의 2026년 5월 25일~29일 보도를 기반으로 작성되었습니다. 귀속 주체 및 악성 패키지 전체 삭제 여부는 아직 미확인 상태입니다. 정상적인 의존성 설치를 재개하기 전에 각 레지스트리에서 직접 확인하시기 바랍니다.