Nine-Year-Old npm Packages Hijacked to Exfiltrate API Keys via Obfuscated Scripts
- 개요 및 공격 배경
- 최소 9년 이상 npm에 존재하던 합법적인 암호화폐 관련 패키지가 악성 스크립트로 감염됨
- 공격자는 패키지를 최신 버전으로 위장하여 설치 시 민감 정보 탈취 기능을 삽입
- 대상은 블록체인 개발자 및 암호화폐 연관 프로젝트 사용자로 추정
- 감염된 패키지 목록
- 대표적인 감염 패키지 버전
- country-currency-map (2.1.8)
- bnb-javascript-sdk-nobroadcast (2.16.16)
- @bithighlander/bitcoin-cash-js-lib (5.2.2)
- eslint-config-travix (6.3.1)
- @veniceswap/uikit (0.65.34) 등 다수 포함
- 패키지 내부의 경로(package/scripts/launch.js, diagnostic-report.js)에 난독화된 스크립트 존재
- 대표적인 감염 패키지 버전
- 악성 스크립트 분석
- 설치 즉시 실행되도록 설계된 JavaScript 코드가 포함됨
- API 키, 액세스 토큰, SSH 키, 환경 변수 등 민감 정보 수집
- 수집된 정보는 원격 C2 주소(eoi2ectd5a5tn1h.m.pipedream[.]net)로 전송
- GitHub 저장소에는 악성 변경 사항이 반영되지 않아 npm 계정만 공격당한 것으로 분석
- 공격 기법 및 침해 추정 방식
- 주요 침해 방식 추정
- 계정 탈취: 이전 유출된 자격증명 활용한 크리덴셜 스터핑
- 도메인 소유권 만료 후 탈취를 통한 패스워드 초기화 가능성
- 복수 프로젝트의 동시 감염 정황으로 보아 다중 유지관리자 계정 침해 가능성이 높음
- 패키지 유지보수가 중단되거나 장기간 업데이트되지 않은 점을 악용
- 주요 침해 방식 추정
- 보안 권고
- 개발 환경 내 서드파티 종속성에 대한 정기적 보안 검토 필요
- 오래된 프로젝트 또는 방치된 패키지의 보안 위험성 인식 필요
- 모든 개발자 계정에 대해 다중 인증(2FA) 활성화 권장
- 공급망 보안(Supply Chain Security)을 위한 자동화된 취약 패키지 탐지 및 차단 체계 필요
- 결론
- 해당 사례는 오픈소스 생태계에서 방치된 패키지가 얼마나 쉽게 공격자에게 악용될 수 있는지를 보여주는 대표적 공급망 공격 사례
- 조직 차원에서 타사 종속성에 대한 코드 감사, 개발자 계정 보안 강화, CI/CD 파이프라인 보안성 확보가 필수적
- 개발자는 npm 패키지 설치 시 출처 및 최근 업데이트 기록 확인 등 기본적인 위생관리(Security Hygiene)를 실천해야 함
'Kant's IT > Issue on IT&Security' 카테고리의 다른 글
국정원, 공공기관 AI 정보화사업 5년간 전면조사 분석 (0) | 2025.05.10 |
---|---|
개인정보 보호 및 AI 확산 관련 정보보호 현황과 과제 (1) | 2025.05.10 |
Cloudflare의 OPKSSH 도입: SSH와 SSO 통합을 통한 접근 제어 혁신 (0) | 2025.05.09 |
CoffeeLoader 악성코드: GPU 기반 Armoury 패커로 EDR 탐지 우회 (0) | 2025.05.09 |
PJobRAT 안드로이드 악성코드 캠페인 분석: 대만 사용자 대상 위장 채팅앱 공격 (0) | 2025.05.09 |