티스토리 뷰

반응형

해킹이라니..
정보보안따윈 없는건가..

자바스크립트 개발자라면 누구나 사용하는 가장 대중적인 HTTP 클라이언트 라이브러리 **'axios'**가 해킹당해 악성코드가 심긴 버전이 유포되었습니다. 전 세계 클라우드 및 코드 환경의 약 80%에 영향을 미칠 수 있는 심각한 공급망 공격입니다.

1. 사건 개요: 3시간 동안 유포된 '트로이 목마'

공격자는 axios의 핵심 관리자 계정을 탈취한 뒤, 원격 제어 트로이 목마(RAT)가 포함된 두 개의 오염된 버전을 npm 저장소에 게시했습니다.

  • 영향을 받는 버전: axios@1.14.1, axios@0.30.4
  • 악성 패키지 명: plain-crypto-js@4.2.1 (종속성으로 몰래 추가됨)
  • 노출 시간: 약 3시간 (현재는 삭제됨)

2. "보안 수칙 다 지켰는데 당했다"… 왜?

이번 공격이 충격적인 이유는 axios 팀이 최신 보안 권고(2단계 인증, OIDC 신뢰할 수 있는 게시자 등)를 모두 적용했음에도 뚫렸기 때문입니다.

  • 원인: 과거에 생성해둔 **'레거시 액세스 토큰(Long-lived Token)'**이 화근이었습니다. 최신 보안 시스템(OIDC)이 구축되어 있었지만, 시스템은 예전 토큰의 권한을 여전히 인정했고 공격자는 이 '뒷문'을 통해 인증 과정을 건너뛰었습니다.
  • 치밀한 수법: 공격자는 악성코드가 실행된 후 스스로를 지우고 깨끗한 파일로 교체해 흔적을 없애는 등 매우 정교한 은폐 기술을 사용했습니다.

3. 우리 팀도 위험할까? (체크리스트)

axios는 주당 1억 회 이상 다운로드되는 라이브러리입니다. 아래 항목 중 하나라도 해당한다면 즉시 점검이 필요합니다.

  • 최근 24시간 내에 npm install 또는 npm update를 실행한 경우
  • CI/CD 파이프라인이 자동 빌드를 수행한 경우
  • 프로젝트 내 package-lock.json에 1.14.1 혹은 0.30.4 버전이 기록된 경우

4. 긴급 대응 가이드 (SOC 및 개발자 필독)

현시점에서는 시스템이 감염되었다고 가정하고 대응하는 것이 안전합니다.

  1. 버전 고정: package.json에서 axios 버전을 안전한 버전인 1.14.0 또는 **0.30.3**으로 강제 고정(Pin)하세요.
  2. 악성 파일 검색: * Windows: %PROGRAMDATA%\wt.exe
    • macOS: /Library/Caches/com.apple.act.mond
    • Linux: /tmp/ld.py
    • 위 파일이 발견되면 시스템을 즉시 격리하고 포맷 후 재설치해야 합니다.
  3. 자격 증명 교체: 감염 의심 장비에서 사용했던 모든 AWS 키, SSH 키, npm 토큰, 데이터베이스 비밀번호를 즉시 교체(Rotation)하세요.
  4. 네트워크 차단: 방화벽에서 공격지 IP(142.11.206.73) 및 도메인(sfrclak.com)을 차단하세요.

이번 사건은 현대적인 보안 통제를 도입하더라도 **사용하지 않는 과거의 인증 수단(Legacy Token)**을 정리하지 않으면 언제든 무력화될 수 있음을 보여주는 뼈아픈 사례입니다. 지금 바로 팀의 라이브러리 버전을 확인하시기 바랍니다.

#axios #보안공격 #npm해킹 #공급망공격 #악성코드 #자바스크립트 #개발자주의보 #IT보안 #긴급공지 #네트워크보안 #IT뉴스

반응형