피드로 돌아가기
Hacker NewsSecurity
원문 읽기
400만 개발자 대상 Supply Chain Attack 및 연쇄적 Dependency 오염 사례
Incident CVE-2024-Yikes
AI 요약
Context
JS ecosystem의 하위 Dependency인 left-justify 패키지의 Credential 탈취로 시작된 보안 사고임. Rust 기반의 vulpine-lz4 라이브러리가 Python 빌드 툴인 snekpack에 Vendored 되어 배포되는 구조적 취약점이 존재함.
Technical Solution
- Phishing 사이트를 통한 nmp Registry Credential 탈취로 left-justify 패키지의 악성 업데이트 배포
- postinstall 스크립트를 활용하여 .npmrc 및 .cargo/credentials 등 환경 설정 파일의 데이터 Exfiltration 수행
- Rust 라이브러리인 vulpine-lz4의 build.rs 스크립트에 특정 Hostname(CI/CD 환경) 조건부 Shell 스크립트 실행 로직 삽입
- snekpack 빌드 툴의 Vendoring 구조를 통한 악성코드의 PyPI 패키지 생태계 전파
- SSH authorized_keys 변조 및 특정 요일 활성화 Reverse Shell을 통한 시스템 제어권 확보
- 타 악성 웜인 cryptobro-9000의 강제 업데이트 동작에 의해 snekpack 버전이 3.7.1로 롤백되며 우연히 해결
실천 포인트
1. Artifact Signing 도입을 통한 빌드 결과물의 무결성 검증
2. Dependency Pinning 전략 수립 및 정기적인 Security Patch 적용 프로세스 구축
3. CI/CD 환경의 Hostname 기반 권한 제어 및 외부 스크립트 실행 차단 정책 적용
4. Transitive Dependency에 대한 정기적인 보안 Audit 수행