피드로 돌아가기
Dev.toSecurity
원문 읽기
npm 다운로드 주 1억 회 axios 패키지 침해 사례로 본 공급망 보안 전략
Software Supply Chain Security After Axios
AI 요약
Context
유명 오픈소스 패키지 axios의 메인테이너 계정이 탈취되어 악성 버전이 배포된 사건 발생. postinstall 스크립트를 통한 RAT(Remote Access Trojan) 설치로 개발자 워크스테이션과 CI/CD 파이프라인 침투 시도. 신뢰 기반의 패키지 관리 체계와 자동 실행 스크립트의 구조적 결함 노출.
Technical Solution
npm install --ignore-scripts옵션 적용으로 패키지 설치 시 자동 실행되는 lifecycle 스크립트 원천 차단- Lockfile(package-lock.json 등)의 엄격한 관리와 커밋을 통해 의존성 버전 고정 및 비결정적 빌드 방지
npm ci명령어를 사용하여 lockfile 기반의 정밀한 의존성 설치 및 무결성 보장- SLSA(Supply-chain Levels for Software Artifacts) 프레임워크 도입으로 빌드 출처 메타데이터 생성 및 검증 체계 구축
- OpenSSF Scorecard를 활용하여 의존성 패키지의 브랜치 보호 설정, 코드 리뷰 여부 등 보안 건전성 지표 상시 모니터링
- 모든 패키지 레지스트리 계정에 2FA(2단계 인증)를 강제하여 계정 탈취를 통한 악성 코드 배포 경로 차단
Impact
- 2024년 악성 패키지 발견 건수 512,847건 기록 및 전년 대비 156% 증가
- 상업용 코드베이스의 96%가 오픈소스 컴포넌트를 포함하며 전체 코드의 77%가 오픈소스인 환경
- 소프트웨어 빌드의 80%가 비트 단위의 동일한 재현 가능성을 증명하지 못하는 한계
- 악성 패키지 탐지 도구의 False Positive 비율 15% 초과로 인한 자동 차단의 실효성 부족
Key Takeaway
신뢰 기반의 의존성 관리에서 벗어나 zero-trust 관점의 빌드 파이프라인 설계와 검증 가능한 출처(Provenance) 확보가 필수적임.
실천 포인트
CI/CD 파이프라인 내 의존성 설치 시 --ignore-scripts 옵션을 기본 적용하고 필수 스크립트만 화이트리스트로 관리할 것