
보안 도구가 AI로 코드를 읽기 시작하자, 공격자는 AI 자체를 우회 대상으로 보기 시작했다. 최근 보고된 악성코드 캠페인은 패키지 안에 AI 안전 필터를 자극하는 문구를 넣어 자동 분석이 중단되거나 건너뛰도록 유도한 것으로 설명됐다.1
이 방식이 중요한 이유는 단순한 난독화가 아니기 때문이다. 코드를 숨기는 대신, “위험한 내용을 보면 응답하지 않는다”는 AI의 안전 규칙을 역이용한다. 방어 시스템이 코드를 끝까지 해석하지 못하게 만들고, 분석 흐름 자체를 흔드는 공격이다.
TrapDoor는 여러 생태계를 겨냥한 공급망 공격이다
이 문제는 개별 악성 패키지 몇 개의 이야기가 아니다. TrapDoor는 npm, PyPI, Crates.io를 동시에 겨냥한 크로스 생태계 소프트웨어 공급망 공격으로 확인됐다. 34개가 넘는 악성 패키지와 384개 이상의 버전에 걸쳐 발견됐으며, 가장 이른 활동은 2026년 5월 22일 20시 20분 UTC로 기록됐다.2
공격 방식도 조직적이었다. 악성 패키지는 여러 계정 클러스터에서 짧은 시간 안에 파상적으로 게시됐다.2 이는 단일 계정이나 단일 저장소만 차단해서는 충분하지 않다는 뜻이다. 공격자는 여러 패키지 저장소와 계정을 나눠 쓰며 탐지와 대응을 어렵게 만들었다.
표적은 암호화폐, DeFi, Solana, AI 커뮤니티의 개발자였다.2 이들은 로컬 개발 환경에 지갑 정보, SSH 키, 클라우드 자격 증명, GitHub 토큰, 환경 변수 등을 보관할 가능성이 높다. TrapDoor 패키지는 바로 이런 개발자 비밀값과 브라우저 데이터, 암호화폐 지갑 정보를 탈취하도록 설계됐다.2
핵심 위험은 “설치 이후의 실행 흐름”에 있다
TrapDoor의 위험은 패키지 이름이 수상하다는 수준에 머물지 않는다. 개발자가 평소처럼 패키지를 설치하거나, 코드를 import하거나, 빌드하는 순간이 실행 지점이 될 수 있다.
일부 TrapDoor npm 패키지는 trap-core.js라는 공통 페이로드를 배포했다.2 이 코드는 자격 증명을 스캔하고, AWS 및 GitHub 토큰의 유효성을 검증했으며, SSH 기반 횡적 이동을 시도했다.2 또한 .cursorrules, CLAUDE.md, Git 훅, 셸 훅, systemd, cron, SSH를 이용해 지속성을 심는 방식도 확인됐다.2
여기서 중요한 변화가 드러난다. 예전의 공급망 보안은 “취약한 버전이 있는가”를 확인하는 데 집중했다. 하지만 TrapDoor처럼 패키지 자체가 악성인 경우에는 CVE 목록만으로는 부족하다. 설치 후 어떤 스크립트가 실행되는지, 어떤 파일을 만들거나 수정하는지, 어떤 자격 증명에 접근하는지를 봐야 한다.
AI 개발 도구가 읽는 파일도 보안 경계가 됐다
이번 캠페인이 특히 주목받는 이유는 AI 기반 분석과 개발 보조 도구가 공격 표면에 포함됐기 때문이다. .cursorrules나 CLAUDE.md 같은 프로젝트 설정 파일은 사람이 직접 실행하는 코드가 아닐 수 있다. 그러나 AI 코딩 도구는 이런 파일을 읽고 작업 맥락으로 삼는다.
공격자가 여기에 숨은 지시나 조작된 문맥을 심으면, 사람뿐 아니라 개발자의 보조 도구도 속일 수 있다. AI 안전 필터를 자극해 분석을 피하려는 방식과, AI 도구가 읽는 설정 파일을 악용하는 방식은 같은 방향을 가리킨다. 이제 방어자는 코드만이 아니라 AI가 읽는 텍스트와 프로젝트 문맥까지 검토해야 한다.
방어 기준은 패키지 평판보다 실행 행동에 맞춰야 한다
실무적으로는 패키지 이름이나 다운로드 수만 보고 판단해서는 안 된다. 다음 항목을 우선 확인해야 한다.
postinstall같은 설치 후 실행 스크립트import 시 자동 실행되는 코드
Rust의
build.rs처럼 빌드 단계에서 실행되는 파일원격 스크립트 다운로드와 실행
환경 변수, SSH 키, 클라우드 자격 증명, GitHub 토큰 접근
Git 훅, 셸 훅, cron, systemd 등 지속성 설정 변경
.cursorrules,CLAUDE.md같은 AI 도구 설정 파일의 낯선 지시나 숨은 문자
핵심은 “이 패키지가 알려진 취약 버전인가”에서 “이 패키지가 설치 후 무엇을 하려 하는가”로 질문을 바꾸는 것이다.
결론: AI 안전 필터도 입력면으로 다뤄야 한다
AI 안전 필터는 방어 장치지만, 동시에 공격자가 조작할 수 있는 입력면이 됐다. TrapDoor 사례는 공급망 공격이 패키지 저장소, 개발자 로컬 환경, AI 기반 분석 도구, AI 코딩 도구의 문맥까지 연결해 악용될 수 있음을 보여준다.
따라서 공급망 보안의 기준도 넓어져야 한다. 패키지의 출처와 버전뿐 아니라 설치·빌드·import 시 실행 흐름, 자격 증명 접근, 지속성 생성, AI 도구가 읽는 설정 파일까지 함께 봐야 한다. 앞으로의 방어는 코드를 스캔하는 것에서 끝나지 않고, 코드와 AI가 만나는 지점까지 검토하는 방향으로 가야 한다.
2TrapDoor Supply Chain Attack Spreads Credential-Stealing Malware via npm, PyPI, and CratesIO
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
