피드로 돌아가기
GeekNewsSecurity
원문 읽기
Mini Shai-Hulud가 다시 공격: npm 패키지 314개 침해
npm 계정 탈취를 통한 317개 패키지 637개 악성 버전 배포 및 Supply Chain Attack
AI 요약
Context
신뢰 기반의 npm 패키지 배포 체계와 느슨한 semver 버전 관리 정책을 악용한 공급망 공격 발생. 단순 패키지 오염을 넘어 CI/CD 파이프라인의 Identity와 권한 체계를 탈취하여 하위 시스템으로 침투하는 고도화된 전파 전략 수립.
Technical Solution
- package.json의 preinstall 훅에 난독화된 Bun 스크립트를 주입하여 의존성 설치 단계에서 즉시 실행되는 트리거 설계
- semver 해석 특성을 이용해 latest tag 변경 없이 범위 내 최신 버전을 우선 선택하게 함으로써 기존 프로젝트의 자동 업데이트 유도
- GitHub Actions OIDC를 npm publish 토큰으로 교환하고 Sigstore 서명을 위조하여 배포 Artifact의 신뢰 체인 무력화
- Docker 소켓 마운트 상태를 확인하여 호스트 커널로의 Container Escape를 시도하는 다단계 권한 상승 경로 구축
- .vscode/tasks.json 및 .claude/settings.json 등 AI 코딩 에이전트 설정 파일에 훅을 주입하여 IDE 레벨의 지속성 확보
- RSA-PSS 서명 검증 기반의 GitHub Dead-drop C2 구조를 통해 외부 제어 없이 커밋 메시지만으로 원격 코드 실행 체계 구현
실천 포인트
1. lockfile 및 의존성 Pinning을 통한 임의 버전 업데이트 차단
2. npm install 시 --ignore-scripts 옵션을 사용하여 preinstall 등 훅 실행 방지
3. CI/CD 환경 내 Docker 소켓 마운트 제거 및 Rootless 컨테이너/VM 도입 검토
4. GitHub Actions 등 CI identity의 권한 범위를 최소화하고 OIDC 토큰의 유효 기간 단축
5. 정기적인 자격 증명 로테이션 및 Secret Scanning 도구 도입