npm 패키지 해킹 사건
2025년 9월 20일
최근 npm 패키지에서 보안 사고가 터졌다.
정확히 말하면, 피싱 이메일에 속은 한 개발자의 계정이 해킹당하면서
그 사람이 관리하던 자바스크립트 핵심 패키지 18개가 악성 코드에 감염됐다.
이 패키지들은 주간 26억회 이상 다운로드될 정도로
수많은 프로젝트에서 직간접적으로 쓰이고 있었고,
해커는 암호화폐 거래를 가로채는 스크립트를 심어 사용자 자금을 노렸다.
다행히도 개발자가 빠르게 대처해 피해 규모는 크지 않았다.
여기서 내가 궁금한건 작은 패키지 하나가 해킹당했는데 파급력이 이렇게 컸던걸까?
- npm 이란?
- npm은 Node.js와 프론트엔드에서 사용하는 패키지 관리자
- 우리가 사용하는 react,next,axios 같은 패키지들 모두 npm에서 가져옴
- 이 패키지들은 또 다른 수많은 작은 패키지들에 의존하고 있음. 이른바 의존성 트리를 형성
- 즉, 내 프로젝트에서 직접 설치하지 않은 패키지까지도 자동으로 수십~수백개가 딸려오는 구조
- 작은 패키지가 큰 파장을 일으킨 이유
- 의존성 지옥
- 하나의 작은 유틸성 패키지도 수많은 패키지들을 참조
- 그 하나가 무너지면 줄줄이 영향을 받음
- 자동 설치 시스템
- npm install 하면 별다른 설정 없이 최신 버전을 자동 설치
- 누군가가 최신 버전에 악성코드를 심으면, 바로 프로젝트 안으로 들어옴
- 신뢰 기반의 생태계
- npm은 전적으로 개발자 계정의 신뢰에 의존
- 이번처럼 관리자의 계정이 해킹당하면, 모든 관리 패키지가 위험에 노출
- 의존성 지옥
참고 영상