Axios 취약점, 당신의 시스템도 안전한가요?

by DD
2개월 전
조회수 2

npm 패키지 axios에 심각한 원격 코드 실행(RCE) 취약점이 발견되어 수백만 JavaScript 개발자가 위험에 노출됨

공격자는 악성 `axios` 버전을 통해 AWS, OpenAI API 키 등 민감 정보 탈취 및 시스템 장악 가능

취약점은 Post-install 스크립트를 이용한 공급망 공격(Supply Chain Attack) 방식으로, 사용자 시스템에 RAT(Remote Access Trojan) 설치 유도

개발자는 즉시 `axios` 버전을 확인하고, 최신 보안 버전으로 업데이트하거나 해당 패키지 사용 여부를 점검해야 함

Axios 공급망 공격(Supply Chain Attack)의 작동 원리

이번 공격은 npm 패키지 `axios`의 취약한 버전에 악성 `postinstall` 스크립트를 삽입하는 방식으로 이루어짐. 개발자가 `axios`를 설치하면 해당 스크립트가 자동으로 실행되어, 공격자가 제어하는 서버에서 원격 접근 트로이 목마(RAT)를 다운로드하고 실행시킴. 이 과정에서 AWS 자격 증명, OpenAI API 키 등 민감 정보가 유출될 수 있어 심각성이 높음.

악성 코드의 은닉 및 탐지 회피 기법

공격자는 `axios` 패키지 내에서 난독화된 JavaScript 코드를 사용하여 악성 행위를 숨김. 또한, `axios`와 유사한 이름의 `plain-crypto.js`라는 패키지를 별도로 배포하여, 설치된 악성 스크립트가 이를 다운로드하도록 유도함. 이 스크립트는 실행 환경을 탐지하고, 파일 시스템에 악성 페이로드를 기록한 후 실행하여 탐지를 회피함.

보안 강화 조치 및 권고 사항

개발자는 즉시 `axios` 패키지의 버전을 확인하고, 최신 보안 버전(v1.7.2 이상)으로 업데이트해야 함. 또한, `package.json` 파일에서 `postinstall` 스크립트 실행 여부를 점검하고, npm audit` 명령어를 주기적으로 실행하여 잠재적 보안 위협을 탐지하는 것이 중요함. 의존성 관리 도구의 보안 감사 기능 활용이 필수적임.

Axios의 역사와 취약점 발생 배경

Axios는 10년 이상 npm에서 널리 사용되어 온 HTTP 클라이언트 라이브러리로, Promise 기반의 비동기 요청 처리를 제공함. 과거에는 콜백 기반 방식 대비 장점을 가졌으나, 현재는 브라우저와 Node.js 환경 모두에서 `fetch` API가 기본 지원됨. 그럼에도 불구하고 많은 개발자가 기존의 익숙함 때문에 Axios를 계속 사용하고 있으며, 이번 취약점은 이러한 광범위한 사용층을 노린 공급망 공격의 표적이 됨.

Millions of JS devs just got penetrated by a RAT…