피드로 돌아가기
Dev.toSecurity
원문 읽기
3시간 내 22.5만 다운로드 유발한 Supply Chain Attack 방어 전략
Supply Chain Attacks Aren't Just a Big Library Problem — Here's What You Can Do Today
AI 요약
Context
GitHub Actions의 pull_request_target 워크플로우 설정 오류로 인한 신뢰 경계 붕괴 사례. 외부 PR 코드가 내부 신뢰 권한 및 Build Cache에 접근하여 정식 릴리스 파이프라인을 오염시킨 아키텍처적 취약점 분석.
Technical Solution
- pull_request_target과 외부 코드 실행의 조합을 배제하여 권한 상승 경로 차단
- Shared Cache Poisoning 방지를 위해 신뢰되지 않은 소스의 캐시 쓰기 권한 제어
- min-release-age 설정을 통한 최신 배포 패키지의 즉각적인 도입 지연 및 검증 시간 확보
- ignore-scripts 옵션 적용으로 preinstall, prepare 등 Lifecycle Script를 통한 악성 코드 실행 벡터 제거
- OIDC Token의 과도한 Scope 설정을 제한하여 권한 탈취 시 피해 범위 최소화
- Dead-man's switch 형태의 백그라운드 서비스 감지를 위해 Credential Revocation 전 모니터링 프로세스 제거
실천 포인트
- .npmrc 또는 pnpm-workspace.yaml에 min-release-age(7일 권장) 설정 적용 - npm v11 / Node 24 업그레이드를 통해 최신 보안 설정 호환성 확보 - Dockerfile 내 ENV npm_config_min_release_age 설정을 통한 CI 빌드 환경 제어 - ignore-scripts 활성화로 의존성 설치 단계의 임의 스크립트 실행 차단