npm 공급망 공격 자가 전파 악성코드 확산

npm 공급망 공격 자가 전파 악성코드 확산

안녕하세요, 리키입니다. 오늘은 최근에 발생했던 npm 공급망 공격, 특히 ‘미아즈마(Miasma)’라는 자기 복제형 웜에 대한 내용을 여러분께 이야기해 드리려고 합니다. 보안 문제라 조금 어렵게 들릴 수 있지만, 어떤 일이 벌어졌는지 차분하게 설명해 드리겠습니다.

이번 공격은 npm 레지스트리를 통해 확산되었는데요. 공격자들은 ‘팬텀 가입(Phantom Gyp)’이라는 기법을 사용했습니다. 이는 보안 도구들이 보통 감시하는 설치 스크립트(preinstall 또는 postinstall)를 우회해서, 단순히 157바이트짜리 binding.gyp 파일을 악용해 npm 설치 과정 중에 코드가 실행되도록 만들었더군요. 이로 인해 기존의 보안 검사를 대부분 무력화시킨 것입니다.

이 공격을 통해 공격자들은 단 두 시간도 안 되는 짧은 시간 동안 286개 이상의 악성 버전이 포함된 57개의 npm 패키지를 감염시켰습니다. 특히 가장 큰 피해를 입은 곳은 월간 다운로드 수가 40만 8천 건이 넘는 공식 Vapi.ai 음성 AI 서버 SDK 패키지였는데요. 이 패키지를 포함하여 ai-sdk-ollama, autotel, wrangler-deploy 등 수많은 패키지들이 피해를 입었습니다.

더욱 흥미로운 점은 이 악성 코드가 단순히 파일을 감염시키는 데 그치지 않고, GitHub 계정을 통해 자격 증명(credential)을 탈취하여 새로운 저장소를 만들고 정보를 암호화해서 유출했다는 사실입니다. 이 저장소들의 설명에는 ‘미아즈마 – 퍼지는 역병(Miasma – The Spreading Blight)’이나 이전 사건을 암시하는 문구가 포함되어 있어, 공격자들이 의도적으로 메시지를 남겼더군요.

결론적으로 이번 사건은 소프트웨어 공급망의 취약점을 어떻게 악용할 수 있는지 보여주는 사례입니다. 우리는 이 사고에 영향을 받은 모든 유지보수자들에게 책임감 있게 정보를 공개했으며, 앞으로는 이러한 공급망 보안 위협에 대해 더욱 철저하게 대비해야 할 필요가 있다고 생각합니다.


6a21194ab75fd2c9d16eb717 Screenshot 202026 06 03 20at 2011.2

6a2119b49af2ac0fdc7507a1 Screenshot 202026 06 03 20at 2011.2

6a212941a39f817d5559f954 Mermaid Diagram 2026 06 04 002836

6a212a0b1998cb56dd246ed4 Mermaid Diagram 2026 06 04 003157

6a212a78da86be131f1f9bcd Mermaid Diagram 2026 06 04 003350

6a21339c52b758d1d547c24f Screenshot 202026 06 04 20at 201.12

6a2119b49af2ac0fdc7507a1 Screenshot 202026 06 03 20at 2011.2 1

6a025959c4153df0ace7219c Screenshot 202026 05 11 20at 203.33

6a217d77dabfee8f2c6d82d7 Screenshot 202026 06 04 20at 206.27

69cb91069ed2e93e01cb34e8 Screenshot 202026 03 31 20at 202.06

69cb9114cdb8f25035f1d512 Screenshot 202026 03 31 20at 202.06

69cb912c6fb17dd3130c8d8c Screenshot 202026 03 31 20at 202.09


참고 원문: https://www.stepsecurity.io/blog/binding-gyp-npm-supply-chain-attack-spreads-like-worm

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤