무슨 일이 있었나
2026년 9월 17일, Checkmarx Zero는 정상 라이브러리 sorted-btree를 사칭한 npm 패키지 indexed-btree와 같은 운영자의 관련 패키지 9개를 이용한 공급망 공격 분석을 발표했습니다. 합계 주간 530만 회 이상 다운로드됐습니다. Snyk는 9월 7일 indexed-btree 전 버전을 악성으로 지정했고, 9월 20일까지 10개 패키지가 모두 삭제됐습니다.
대상: indexed-btree, ordered-kv-index, btree-leaderboard, priority-slot-queue, btree-range-store, btree-core, btree-time-index, btree-lru-cache, neighbor-key-map, sliding-score-window.
새로운 점: 실행 시점 악성코드
2026년 7월부터 npm v12는 설치 스크립트(preinstall, install, postinstall) 실행에 명시적 승인을 요구합니다. indexed-btree에는 설치 스크립트가 전혀 없습니다. 로더는 앱이 계속 호출하는 BTree.prototype.set() 안에 숨어 있고, 키가 100과 느슨하게 같을 때만 작동해 정적 분석과 샌드박스 탐지를 어렵게 합니다.
그 밖의 보고 내용:
- 악성 코드는 npm에 게시된 tarball에만 있었고 GitHub 저장소에는 없었습니다.
- GitHub 커밋 기록은 2025년 12월까지 거슬러 조작됐습니다.
- Slack과 Telegram으로 정보를 빼내고, 2단계는 이더리움 Sepolia 테스트넷 스마트 계약에서 받아와 차단할 도메인이 없습니다.
- 스스로 삭제할 수 있습니다.
지금 할 일
- 락파일, SBOM, 미러, CI 캐시에서 이 이름들을 검색하세요.
- 발견하면 증거를 보존하고 npm 토큰, Git 자격 증명, 클라우드 키, CI 비밀을 교체하세요.
- 설치 스크립트 차단에만 의존하지 말고 빌드·개발 환경의 실행 동작을 모니터링하세요.
