만족

axios 1.14.1, 0.30.4 보안 사고 분석 및 해결 본문

axios 1.14.1, 0.30.4 보안 사고 분석 및 해결

FrontEnd/Web Satisfaction 2026. 3. 31. 20:59

1. 간단 설명

2026년 3월 31일, npm에 배포된 axios 일부 버전에
악성 코드가 포함된 공급망 공격(Supply Chain Attack) 이 발생했다.

해당 버전은 정상 라이브러리처럼 배포되었지만,
설치 시 내부적으로 악성 dependency가 실행되어 시스템이 감염될 수 있다.

2. 사고 발생 원인

  • axios npm 패키지의 배포 계정이 공격자에게 탈취됨
  • 공격자가 정상 릴리즈처럼 보이도록 악성 코드 포함 버전 배포
  • 개발자들이 이를 정상 업데이트로 착각하고 설치

코드 자체 취약점이 아니라, 패키지 배포 과정이 해킹된 사건

3. 보안 위협 방식

3.1 공격 구조 (Supply Chain Attack)

  1. 개발자가 axios 설치 (npm install axios)
  2. 오염된 axios 버전 다운로드
  3. 내부 dependency(plain-crypto-js@4.2.1) 자동 설치
  4. postinstall 스크립트 실행
  5. RAT(Remote Access Trojan) 설치 및 실행

3.2 악성 동작

  • Windows: PowerShell 기반 RAT 실행
  • macOS: 백도어 바이너리 설치
  • Linux: Python 기반 RAT 실행
  • 실행 후 로그 및 흔적 삭제 (은폐)

3.3 가능한 피해

  • .env 파일 및 환경변수 탈취
  • API Key / JWT / DB 비밀번호 유출
  • 외부 서버로 데이터 전송
  • 내부 API 요청 가로채기
  • CI/CD 토큰 탈취
  • 서버 원격 제어 (Full Control)

3.4 특징 (중요)

  • 코드 취약점이 아니라 설치 자체가 공격 트리거
  • 개발자가 아무리 안전하게 코딩해도 감염됨
  • 서버/CI 환경에서 특히 치명적

4. 영향받은 버전

다음 버전은 악성 코드가 포함된 오염된 버전:

  • axios@1.14.1
  • axios@0.30.4

5. 해결 방법

5.1 현재 사용 버전 확인

npm list axios

1.14.1, 0.30.4 버전이 있을 경우 작업 필요

5.2 안전 버전으로 즉시 롤백

npm install axios@1.14.0

5.3 의존성 및 캐시 초기화

rm -rf node_modules package-lock.json
npm cache clean --force
npm install

5.4 민감 정보 전면 교체 (필수)

감염 가능성이 있는 경우 반드시 수행:

  • API Key
  • JWT Secret
  • DB 비밀번호
  • OAuth 토큰
  • CI/CD 토큰

5.5 로그 및 시스템 점검

  • 외부 네트워크 요청 로그 확인
  • 의심스러운 도메인 통신 여부 확인
  • 서버 실행 프로세스 점검
  • CI/CD 실행 이력 검토

6. 결론

이번 사건은 axios 취약점이 아닌 공급망 공격
설치만으로 RAT이 실행되는 최상급 위험도

 

영향 버전 사용 시:

  • 즉시 롤백
  • 키 교체
  • 로그 분석 필수


Comments