---
title: "npm 패키지 Axios 해킹됨 — 북한 연계 해커, 주간 1억 다운로드 라이브러리에 백도어 삽입"
published: 2026-04-01T08:05:05.089Z
canonical: https://jeff.news/article/1455
---
# npm 패키지 Axios 해킹됨 — 북한 연계 해커, 주간 1억 다운로드 라이브러리에 백도어 삽입

북한 연계 해커 조직 UNC1069가 Axios npm 패키지에 악성코드를 삽입. 3시간 동안 배포된 1.14.1, 0.30.4 버전에 백도어 Waveshaper.V2가 포함됨. SBOM과 SCA 도구 내재화 필요성 다시 부각.

## 사건 개요

- 북한 연계 해커 조직이 오픈소스 패키지 Axios를 해킹해 악성코드를 유포함
  - 구글 위협 인텔리전스 그룹(GTIG), FortiGuard Labs 등이 3월 31일 공격 정황을 발표함
  - Axios는 HTTP 요청을 간소화하는 자바스크립트 라이브러리로, 웹·모바일 서비스에서 광범위하게 사용됨

> [!IMPORTANT]
> 해킹된 버전: **1.14.1** (주간 1억 다운로드), **0.30.4** (주간 8,300만 다운로드). 두 버전 합산 주간 다운로드 1억 8,300만 건 이상.

## 공격 방식과 백도어

- 해커가 Axios 패키지에 자바스크립트 형태의 악성코드를 삽입함
  - 조작된 패키지 설치 시 백그라운드에서 악성코드가 실행됨
  - 백도어 **Waveshaper.V2**가 다운로드되어 시스템 정보를 수집·전송함
    - 호스트 이름, 부팅 시간, OS 버전 등이 해커 서버로 유출됨
- GTIG는 **UNC1069**(북한 연계 해커 조직)의 소행으로 추정함
  - Waveshaper.V2는 UNC1069가 이전에 사용한 Waveshaper의 업데이트 버전임
  - 과거 UNC1069가 사용한 인프라와 중복되는 부분이 발견됨

> [!WARNING]
> 악성 패키지가 npm에 게시된 시간은 **3월 31일 09:21~12:20 (KST)**, 약 3시간. 해당 시간대에 Axios 1.14.1 또는 0.30.4를 설치했다면 감염 여부를 반드시 확인해야 함. 현재는 악성코드가 제거된 버전이 배포 중임.

## 반복되는 SW 공급망 공격

- 오픈소스를 경유한 공급망 공격이 계속 반복되고 있음
  - **2020년 솔라윈즈 사건**: 네트워크 관리 솔루션 Orion이 해킹되어 전 세계 1만 8,000여 곳이 피해를 입음
  - **2025년 9월**: 자바스크립트 패키지 18개가 피싱으로 탈취된 개발자 계정을 통해 감염됨 (주간 합산 26억 다운로드)
- 많은 개발자가 GitHub, npm 등 오픈소스 저장소에 의존하고 있어 공격 파급력이 큼
  - 악성코드가 유포되면 사이버보안 전반을 흔드는 도화선이 될 수 있음

## 대응: SBOM과 SCA 내재화

- 오픈소스 위협을 막기 위해서는 개발 단계에서의 보안 내재화가 필요함
  - 보안 팀이 솔루션을 도입해도 개발자가 문제되는 오픈소스를 들여오면 무용지물이 됨
  - 개발·운영 팀과 보안 팀 간 협업이 관건임
- 기업들이 SBOM 생성 체계 구축과 임직원 교육을 운영하고 있음
  - **알체라**: 개발 과정에 SCA 도구를 내재화해 SBOM을 자동 생성하는 시스템을 구축함. Slack과 연계해 위험 상황을 채널에서 바로 확인 가능함
  - **AI스페라**: 위협 인텔리전스 플랫폼 'Criminal IP'의 개발·빌드·배포 전 과정을 SW 공급망 관점에서 재정의함

---

## 기술 맥락

- **Axios가 왜 이렇게 큰 이슈인가요?**
  - Axios는 자바스크립트 생태계에서 HTTP 클라이언트로 거의 표준처럼 쓰이는 라이브러리예요. React, Vue, Node.js 프로젝트 대부분에 들어가 있거든요. 주간 다운로드 1억 건이 넘는다는 건 그만큼 많은 프로젝트가 의존한다는 뜻이에요
- **3시간이면 짧은 거 아닌가요?**
  - CI/CD 파이프라인에서는 코드가 푸시될 때마다 자동으로 `npm install`이 돌아가요. lockfile 없이 운영하는 환경이라면 3시간이라도 충분히 감염될 수 있거든요. 특히 `^1.14.0` 같은 범위 지정을 쓰는 프로젝트는 자동으로 1.14.1을 받아갔을 가능성이 높아요
- **lockfile이 있으면 안전한가요?**
  - `package-lock.json`이나 `yarn.lock`에 정확한 버전과 integrity hash가 기록되어 있으면 이미 설치된 버전이 바뀌지 않아요. 하지만 lockfile을 갱신하는 타이밍에 걸렸다면 감염됐을 수 있어요. 그래서 SBOM으로 현재 설치된 패키지 버전을 빠르게 조회할 수 있는 체계가 중요한 거예요
- **확인 방법은요?**
  - `npm ls axios`로 현재 설치된 버전을 확인하고, lockfile에서 해당 버전의 integrity hash를 검증하면 돼요. 감염된 버전이 설치되어 있었다면 `node_modules` 삭제 후 클린 설치하고, 시스템 로그에서 비정상 외부 통신이 있었는지 점검해야 해요

## 핵심 포인트

- Axios 1.14.1(주간 1억 DL)과 0.30.4(8,300만 DL) 버전에 백도어 삽입
- 악성 패키지 3시간 동안 npm에 게시 (3/31 09:21~12:20 KST)
- GTIG가 UNC1069(북한 연계) 소행으로 추정
- 백도어 Waveshaper.V2로 시스템 정보 탈취
- SBOM 자동 생성과 SCA 도구 내재화가 대응책으로 제시

## 인사이트

Axios는 거의 모든 JS 프로젝트에서 쓰는 패키지. 3시간 노출이지만 CI/CD 파이프라인에서 자동 설치되는 환경이면 충분히 감염 가능. lockfile 관리와 SBOM의 중요성이 또 한번 증명됨.
