피드로 돌아가기
Dev.toSecurity
원문 읽기
ignore-scripts 설정을 통한 npm Supply Chain 공격 경로 원천 차단
Why npm supply chain attacks keep happening and how to harden your installs
AI 요약
Context
기본 npm install 설정 시 전이 의존성(Transitive Dependencies)을 통해 임의 코드가 실행되는 보안 취약점 존재. 패키지 유지 관리자의 계정 탈취나 Typosquatting 공격 시 설치 단계에서 즉각적인 페이로드 실행이 가능한 구조적 한계 분석.
Technical Solution
.npmrc내ignore-scripts = true설정을 통한 preinstall, install, postinstall 스크립트 실행 권한 제거npm ci명령어를 활용해package-lock.json기반의 엄격한 버전 일치 및 Silent Version-drift 방지npm rebuild를 통한 신뢰 가능한 Native Dependency의 선택적 빌드 프로세스 구축- Sigstore 기반의 Provenance Attestation 검증을 통한 패키지 빌드 출처 및 무결성 확인
- Exact Version Pinning을 적용하여 의존성 업데이트로 인한 런타임 예측 불가능성 제거
실천 포인트
- 프로젝트 .npmrc 파일에 ignore-scripts=true 설정 적용 - CI/CD 파이프라인 내 npm install 대신 npm ci 사용 - package.json 내 ^, ~ 기호를 제거한 정밀 버전 고정(Pinning) 검토 - PR 리뷰 시 package.json이 아닌 package-lock.json의 변경 내역 분석 - 중요 패키리에 대해 npm view를 이용한 Provenance 확인