크립토와 블록체인 개발자가 자주 쓰는 오픈소스 생태계를 겨냥한 악성코드 캠페인 ‘TrapDoor’가 포착됐다. 이번 공격은 지갑 키와 클라우드 자격 증명, 소스코드 접근 토큰까지 노린 정교한 공급망 공격으로, 개발 환경 전반의 보안 경고음을 키우고 있다.
보안 연구진에 따르면 이번 캠페인은 npm, PyPI, Crates.io 등 주요 패키지 저장소를 동시에 겨냥했다. 30개가 넘는 악성 패키지와 300개 이상의 감염 버전이 짧은 기간에 퍼졌고, 공격은 2026년 5월 22일 전후로 본격화된 것으로 파악됐다. 깃허브(GitHub)는 이보다 앞선 5월 20일 내부 저장소에 대한 무단 접근을 보고한 바 있다.
이번 공격의 특징은 단일 업로드가 아니라 여러 계정을 이용해 패키지를 ‘파도’처럼 흩뿌렸다는 점이다. 이 때문에 초기 탐지가 어려웠고, 악성코드는 평범한 의존성 업데이트처럼 숨을 수 있었다. 연구진은 각 패키지가 비슷한 동작 패턴을 보였고, 공격자들이 공유한 악성 프레임워크에 연결돼 있다고 봤다.
TrapDoor는 설치 과정에서 자동 실행되도록 설계됐다. 자바스크립트 패키지는 post-install 스크립트, 파이썬 패키지는 import 과정, 러스트 패키지는 빌드 스크립트를 통해 악성 행위를 시작한다. 이후 SSH 키, API 토큰, 환경 변수, 브라우저 저장 자격 증명 등을 훑어 수집하고, 확보한 정보는 공격자 서버로 전송된다. 일부 사례에선 개발 도구의 시작 프로세스를 건드려 지속성까지 노린 정황도 확인됐다.
특히 이번 캠페인은 크립토 관련 파일과 서비스에 집중했다. 바이낸스(Binance), 메타마스크(MetaMask), 코인베이스(Coinbase), 솔라나(Solana) 기반 도구와 연결된 지갑 정보와 설정 파일을 찾는 방식이다. 여기에 AWS와 깃허브(GitHub) 접근 토큰, 원격 접속에 쓰이는 SSH 키까지 노려 개인 장비와 기업 시스템 모두를 위협했다.
눈에 띄는 부분은 AI 개발 도구까지 건드렸다는 점이다. 일부 악성 패키지는 .cursorrules, CLAUDE.md 같은 설정 파일을 활용해 AI 코딩 보조도구의 동작을 왜곡하도록 설계됐다. 단순히 코드를 실행하는 수준을 넘어, 개발자가 AI를 활용하는 작업 흐름 자체를 악용하려 했다는 의미다.
이번 ‘TrapDoor’는 오픈소스 의존성이 많은 크립토 업계의 구조적 취약성을 다시 보여준다. 지갑 키와 클라우드 계정, 소스코드 권한이 한 번에 노출될 수 있는 만큼, 개발 환경의 패키지 검증과 접근 통제는 갈수록 더 중요한 방어선이 되고 있다.

