TrapDoor: npm, PyPI, Crates.io를 겨냥한 신종 공급망 공격의 위협과 시사점

TrapDoor 공격 요약

  • 동시다발적 멀티 플랫폼 공격: npm, PyPI, Crates.io 등 오픈소스 패키지 플랫폼을 동시에 겨냥한 신종 공급망 공격 발생
  • 정교한 버전 다변화: 34개 이상 악성 패키지 및 384개 이상 변종 버전 생성, 탐지 우회 및 장기 잠복 시도
  • 자격 증명 탈취 집중: 주요 개발자 계정 정보·액세스 토큰 등 다양한 자격 증명 무단 수집

TrapDoor는 오픈소스 개발 생태계에서 패키지 관리의 중요성과 멀티플랫폼 대응의 필수성을 다시 한 번 일깨워 준 사례입니다.

1. TrapDoor 공급망 공격 개요

2026년 5월 22일 TrapDoor라 명명된 새로운 소프트웨어 공급망 공격 캠페인이 확인되었습니다. 이 공격은 npm(Node Package Manager), PyPI(Python Package Index), Crates.io(Rust Package Registry)라는 세 개의 대표적인 오픈소스 패키지 배포 플랫폼을 동시에 노린 것이 특징입니다.

공격자는 합법적인 오픈소스 패키지와 거의 구분이 가지 않는 유사한 이름을 등록해 개발자를 속였고, 악성 패키지 내에 자격 증명을 탈취하는 코드를 심어 배포했습니다. 동시다발적 캠페인 전개로 공격 효과 극대화를 노렸습니다.

2. 주요 피해 플랫폼 및 확산 방식

TrapDoor 공격은 자주 사용되는 세 오픈소스 패키지 플랫폼을 직접 겨냥했습니다. ① npm은 자바스크립트 생태계의 근간이 되는 저장소로 프론트엔드/백엔드 개발에 필수입니다. ② PyPI는 데이터 사이언스와 머신러닝, 웹 개발 등 다양한 파이썬 프로젝트에 사용됩니다. ③ Crates.io는 러스트 프로그래밍 언어의 공식 레지스트리로 시스템 프로그래밍과 보안 관련 프로젝트에서 활용도가 높습니다.

34개 이상의 악성 패키지와 384개 이상의 변종 버전이 발견되었으며, 패키지 버전의 다양화로 보안 분석 우회와 다양한 개발 환경 잠입을 시도했습니다. 공격자는 버전 번호와 패키지 명을 소폭 변경하면서 정적 탐지 도구를 회피했고, 장기간 탐지되지 않고 머물기 위해 정교한 전략을 펼쳤습니다.

3. 악성코드 분석: 자격 증명 탈취 및 변종 확산 전략

TrapDoor 공격의 핵심 목표는 자격 증명 탈취(Credential Stealing)입니다. 악성 패키지는 설치 즉시 동작하여 다음과 같은 개발 환경 정보를 무단 수집합니다.

  • 로컬에 저장된 API 키·액세스 토큰
  • .npmrc, .pypirc, Cargo.toml 등 환경 설정 내 민감 정보
  • GitHub, GitLab 등 버전 관리 시스템 접근용 토큰
  • CI/CD 환경 변수, 자동화 빌드 스크립트 크리덴셜

수집된 정보는 외부 C2 서버로 전송되며, 공격자는 이를 바탕으로 추가 침투 또는 악성 패키지 배포를 확대할 수 있습니다. 또, 버전 다변화 전략을 활용해 동일 악성 기능을 여러 코드 변종으로 뿌려, 해시 및 시그니처 기반 자동 탐지를 어렵게 만듭니다.

4. 관련 공급망 공격 트렌드 및 TrapDoor의 차별점

TrapDoor 공격은 최근 소프트웨어 공급망 침해 사건들의 연장선상에 있습니다. 예를 들어 2021년 Codecov 사건에서는 CI/CD 환경 취약점이, SolarWinds 침해 때는 소프트웨어 업데이트 채널이, 2023년 3CX 사태에서는 합법적인 앱을 통한 멀티 스테이지 공격이 이슈가 되었습니다.

TrapDoor와 과거 사례의 결정적 차이점은 ① 멀티 플랫폼을 동시에 노린 공격, ② 공개 오픈소스 저장소를 직접 겨냥한 시도, ③ 여러 변종 버전의 장기 잠복 전략을 모두 결합했다는 점입니다. 공급망 공격 위협 모델이 점점 더 복합·지능화되고 있음을 반영합니다.

5. 시사점 및 보안 권고

TrapDoor 사건은 개발 및 IT 인프라 전반에 다음과 같은 경각심을 주고 있습니다.

첫째, 패키지 설치 전 검증 습관화가 필수입니다. 신뢰할 수 있는 공식 출처를 먼저 확인하고, 다운로드 수, 최종 업데이트 날짜, 실사용 깃허브 저장소 존재 여부 등을 반드시 체크해야 합니다. 유사 이름 공격(타이포스쿼팅)에도 주의하세요.

둘째, 의존성 관리/스캐닝 도구 활용을 통해 패키지 보안성을 주기적으로 점검해야 합니다. Snyk, Dependabot, Socket.dev 등 오픈소스 검증 도구를 사용하고, 해시나 서명만이 아니라 실제 동작 확인 중심의 분석을 병행하는 게 바람직합니다.

셋째, 자격 증명(시크릿) 관리 고도화가 필요합니다. 민감 정보는 환경 변수 또는 보안 저장소에 별도 관리하고, 평문 파일에 저장하지 않는 습관을 들이세요. 1Password, HashiCorp Vault 등 전문도구 활용도 적극 권장됩니다.

넷째, 패키지 원본 검증 체계 및 감사 활성화를 권고합니다. npm audit, PyPI Trusted Publishing 등 플랫폼 자체 보안기능을 적극 활용하고, 조직 내에서도 패키지 사용 승인 및 사용 이력 관리 절차를 마련하는 것이 좋습니다.

공급망 공격은 더 이상 남의 일이 아닙니다. TrapDoor 사례는 오픈소스 소프트웨어 관리의 엄격함과 선제적 보안 설계의 중요성을 부각시킵니다. 개발자와 보안팀 모두 위협 인식을 높이고 적극적으로 대응 체계 구축에 나서야 할 때입니다.

  • 멀티 플랫폼/버전 전략으로 대형 오픈소스 생태계 취약성 드러남
  • 자격 증명 유출로 이어지는 공급망 공격의 점점 더 정교해진 방법론 확인
  • 개발자와 보안팀의 패키지 검증·의존성 관리 역량이 IT 환경 전체 안전성을 좌우함

TAG : TrapDoor, 공급망 공격, 오픈소스 보안, 자격 증명 탈취, npm, PyPI, Crates.io, 멀티에코시스템 공격, 소프트웨어 보안

댓글 남기기