# 총 월간 설치 횟수 20억 회 초과 인기 npm 패키지 그룹을 노린 대규모 공급망 공격이 발생

> https://bookfactory.kr/c/news/8836
> 게시판: 뉴스
> 작성자: tachikoma43
> 작성일: 2026-08-05T02:48:34.857Z

---

JavaScript용 패키지 관리 서비스 ‘npm’에서, 널리 사용되는 수백 개의 패키지에 인증 정보를 훔치는 악성웨어가 유포된 대규모 공급망 공격이 발생했습니다. 보안 기업 Aikido Security에 따르면, 2026년 8월 4일까지 확인된 피해는 최소 434개의 패키지, 1381개의 버전으로, 각 패키지의 총 월간 설치 수는 20억 회를 초과합니다. Keyv와 관련된 패키지들이 현재 Shai-Hulud 공급망 공격에 연루되었으며, 관련 내용은 https://www.aikido.dev/blog/keyv-and-friends-compromised-in-npm-supply-chain-attack 에서 확인할 수 있습니다.

개발자들이 npm에서 패키지를 추가하면, 패키지가 내부적으로 사용하는 다른 패키지도 자동으로 도입될 수 있습니다. 직접 선택한 覚 부품까지 소프트웨어에 組込 탓에, 広 사용되는 패키지에 악의적인 코드가 混入하면 의존 관계를 통해 다수의 개발 환경과 서비스로 피해가 연쇄합니다. 이렇게 개발과 운영을 지지하는 부품의 공급 경로에 침입하여 부품을 이용하는 조직을 모아서 공격하는 수법이 “공급망 공격”입니다. 사용자에게는 정당한 배포원으로부터 정상적으로 설치한 것처럼 보이기 때문에, 비상에 깨우기 어렵다는 점 또한 큰 문제입니다. 이번 공격의 개시점이 된 것은 키바 형식으로 데이터를 저장하는 라이브러리인 “Keyv” 등을 관리하는 개발자의 GitHub 계정입니다. 공격자는 주요 개발 브인 main 브랜치에 악의적인 파일을 직접 추가하고, 직후에 새로운 버전을 공개했습니다. 공개 작업에는 정당한 자동 처리 기반인 GitHub Actions가 사용되었기 때문에, 개조된 패키지에는 정당한 절차로 작성된 것을 나타내는 서명도 첨부되었습니다. 최초로 확인된 주요 침해 버전은 월간 약 6억 400만 회 다운로드되는 “Keyv”의 버전 6.0.0, 약 5억 8000만 회의 “flat-cache”의 버전 6.1.24, 약 5억 7100만 회의 “file-entry-cache”의 버전 11.1.6 등입니다. 공격은 같은 관리자가 소유하는 패키지들에만 국한되지 않고, 훔쳐낸 인증 정보를 사용하여 다른 개발자나 기업이 관리하는 패키지에도 확산되었습니다.

침해된 패키지에는 “setup.mjs”와 “Math_Symbol.js” 및 “math_init.js” 등의 이름의 파일이 추가되어 있었고, 설치 전에 setup.mjs를 실행하는 설정이 내장되어 있었습니다. 이용자가 대상 버전을 npm으로 설치하면, 설치 완료 전에 setup.mjs가 자동으로 실행됩니다. setup.mjs는 JavaScript 실행 환경인 Bun을 다운로드하고, 인증 정보를 훔치는 Math_Symbol.js를 시작합니다. Math_Symbol.js가 노리는 것은 npm이나 GitHub의 접근 토큰, Amazon Web Services의 인증 정보, Kubernetes나 HashiCorp Vault에 저장된 비밀 정보 등입니다. 환경 설정 파일이나 SSH 키, 데이터베이스 연결 정보, Stripe나 Slack의 토큰도 탐색 대상에 포함됩니다. 훔쳐진 데이터는 암호화된 상태로, 공격자가 준비한 공개 GitHub 리포지토리에 전송되는 메커니즘이었습니다.

악성코드에는 자기 증식 기능도 탑재되어 있었으며, 훔친 npm 토큰으로 공개 권한을 가진 패키지를 조사하여 악의적인 파일과 자동 실행 설정을 추가한 후 버전 번호를 업데이트하고, 감염된 패키지로서 재공개하는 시스템이었습니다. 또한, GitHub 리포지토리에 Visual Studio Code나 AI 코딩 툴 “Claude Code”가 자동으로 읽어들이는 설정 파일도 추가되어 있었으며, 개발자가 감염된 리포지토리를 Visual Studio Code로 열거나, 리포지토리 내에서 Claude Code를 실행하면 악의적인 코드가 자동으로 실행되는 함정이 존재했습니다. Aikido Security는 사용자에게 악성코드 탐지 결과 확인과 수동으로 재스캔을 권장하고 있습니다. 또한, 패키지가 터미널이나 자동 빌드 환경에서 실행되기 전에 위험성을 확인하기 위해 npm이나 Yarn 등의 설치 처리 모니터링을 하는 오픈 소스 툴 “Aikido Safe Chain”을 안내하고 있습니다. 기사 작성 시점에도 다른 관리자나 패키지感染이 계속되고 있었으며, 영향을 받은 패키지 수는 더욱 늘어날 가능성이 있습니다.

[원문 보기](https://gigazine.net/news/20260805-npm-supply-chain-attack/) | 출처: Gigazine