axios 유지관리자 계정 탈취로 npm 공급망 공격 발생, RAT 유포
2026년 3월 31일, 널리 쓰이는 자바스크립트 HTTP 클라이언트 라이브러리 axios의 유지관리자 계정 하나가 탈취되었다. 약 3시간 동안 새로 설치한 사용자에게 크로스플랫폼 원격 접근 트로이목마(RAT)가 함께 설치되는 공급망 공격이 발생했다.
무슨 일이 있었나
axios(주간 다운로드 1억+)의 유지관리자 계정이 탈취되어 악성 버전이 npm에 배포되었다. 해당 버전을 새로 설치한 사용자에게 RAT가 함께 설치되었으며, 미국 CISA가 4월 20일 관련 경보를 발령했다.
왜 터졌나
유지관리자 계정의 보안이 취약했거나, 2차 인증(2FA)이 적용되지 않아 계정 탈취가 가능했다. npm 생태계의 신뢰 모델이 유지관리자 계정에 과도하게 의존하고 있어, 단일 계정 탈취로 전체 라이브러리가 오염될 수 있는 구조적 취약점이 근본 원인이다.
왜 남 일이 아닌가
axios는 수많은 웹 서비스와 AI 코딩 도구에서 의존성으로 사용된다. npm 패키지를 사용하는 모든 프로젝트는 공급망 공격에 노출되어 있으며, 특히 AI 코딩으로 생성된 코드는 의존성 검증 없이 그대로 사용하는 경우가 많아 위험이 크다.
개선 방안
의존성 버전을 고정하고 무결성을 검증해야 한다. package-lock.json을 리포지토리에 포함하고 npm ci 명령어로 설치하여 예기치 않은 업데이트를 방지한다. 또한 패키지 무결성 검증을 위해 npm audit이나 snyk 같은 도구를 정기적으로 실행하고, 의존성 스캔을 CI/CD 파이프라인에 통합한다. 유지관리자 계정에는 반드시 2FA를 적용하고, 액세스 권한을 최소화해야 한다.
30초 자가진단
- 내 프로젝트의
package-lock.json이 리포지토리에 포함되어 있는가? - 의존성 설치 시
npm ci를 사용하고 있는가? - 정기적으로
npm audit또는 유사 도구로 취약점을 점검하는가? - 사용 중인 npm 패키지의 유지관리자가 2FA를 적용했는지 확인한 적이 있는가?
공급망 공격은 점점 더 산업화·자동화되고 있다. 2025년 한 해 신규 악성 오픈소스 패키지가 45만 건 이상 집계되었고, 2026년에는 자기복제형 웜까지 등장했다. 지금 바로 codescan.kr에서 무료 스캔을 통해 시크릿 노출과 의존성 취약점을 점검하라.