axios npm 공급망 공격 확산... 악성 1.14.1·0.30.4 즉시 격리 필요
Original: Axios compromised on NPM – Malicious versions drop remote access trojan View original →
2026년 3월 31일 Hacker News에서는 JavaScript ecosystem 전반에 영향을 줄 수 있는 npm supply-chain incident가 빠르게 확산됐다. StepSecurity가 axios의 악성 릴리스를 공개한 뒤 같은 날 HN thread는 720 points와 233 comments를 넘겼고, 가장 널리 쓰이는 HTTP client 중 하나가 공격 표적이 됐다는 점에서 충격이 컸다.
무슨 일이 있었나
StepSecurity incident report에 따르면 문제의 버전은 [email protected]과 [email protected]다. 보고서는 이 릴리스들이 lead maintainer의 탈취된 npm credentials를 이용해, 프로젝트가 평소 사용하던 GitHub Actions와 OIDC Trusted Publisher 경로 밖에서 수동으로 발행됐다고 설명한다. 공격자는 계정 email도 ProtonMail 주소로 바꿨다고 한다.
- 악성 axios package에는
[email protected]이라는 runtime dependency가 추가됐다. - 이 dependency는 axios source에서 import되지 않으며, 설치 과정에서
postinstallscript를 실행시키기 위한 용도라고 StepSecurity는 분석했다. - 보고서에 따르면 해당 script는 macOS, Windows, Linux를 노리는 cross-platform RAT dropper로 동작했고, live C2 server와 통신했다.
타임라인도 구체적이다. 먼저 정상처럼 보이는 decoy package가 올라왔고, 이후 악성 [email protected], 그리고 39분 간격으로 두 개의 axios release가 배포됐다. 이후 npm은 문제가 된 axios 버전을 내리고 dependency를 security-holder stub으로 교체했다. StepSecurity의 결론은 분명하다. [email protected] 또는 [email protected]를 설치했다면 시스템이 침해됐다고 가정해야 한다.
왜 중요한가
이번 사건은 axios source code 내부에 악성 코드를 직접 심지 않았다는 점에서 특히 위험하다. 공격자는 registry metadata와 dependency graph를 이용해 설치 시점 실행을 유도했다. 즉 application code diff만 보는 방식으로는 놓치기 쉽고, registry provenance, trusted publishing, 예상치 못한 postinstall 동작을 함께 검증해야 한다는 뜻이다.
원문은 StepSecurity write-up, 커뮤니티 반응은 Hacker News thread에서 확인할 수 있다.
Related Articles
2026년 5월 11일 공격자가 GitHub Actions 취약점 세 가지를 연계해 42개 @tanstack/* 패키지에 악성 버전 84개를 게시했다. 설치한 개발자·CI 환경은 AWS·GCP·GitHub·npm·SSH 자격증명을 즉시 교체해야 한다.
공개 저장소 이슈에 숨긴 지시가 조직의 private repo 접근으로 이어질 수 있다는 실험이 HN에서 가장 뜨거운 쟁점이 됐다.
로봇과 에이전트 계획에서 고정된 world model이 흔들리는 문제를 줄이는 연구다. AdaJEPA는 MPC 재계획마다 관측 전이를 이용해 1번의 gradient step과 최근 5개 전이 버퍼로 모델을 보정한다.