피드로 돌아가기
[Axios Hacked] How .npmrc Can Protect Your Node.js Projects from Supply Chain Attacks??
Dev.toDev.to
Security

.npmrc 파일의 ignore-scripts와 save-exact 설정으로 supply chain attack 리스크를 감소시킴

[Axios Hacked] How .npmrc Can Protect Your Node.js Projects from Supply Chain Attacks??

0x414141412026년 4월 1일3beginner

Context

최근 axios Incident와 같은 supply chain attack이 npm 생태계에서 증가하고 있음. 악성 패키지 설치 시 pre/post 스크립트를 통한 임의 코드 실행 위험이 존재함.

Technical Solution

  • .npmrc: 프로젝트 루트 디렉토리에 npm 동작 방식을 정의하는 설정 파일임
  • ignore-scripts = true: npm install 시 패키지의 pre/post 스크립트 실행을 비활성화함
  • save-exact = true: 패키지 버전을 package.json에 정확히 고정하여 예측 가능한 설치를 보장함
  • registry 설정: 신뢰할 수 있는 소스만 사용하도록 registry를 고정함

Impact

Not applicable.

Key Takeaway

.npmrc 파일 하나로 registry 지정부터 스크립트 실행 차단, 버전 고정까지 supply chain attack 방어를 위한 다층적 보안 정책을 적용할 수 있음.


새로운 Node.js 프로젝트 초기화 시 프로젝트 루트에 .npmrc 파일을 생성하고 ignore-scripts = true와 save-exact = true를 설정하여 supply chain attack 위험을 사전에 방지해야 함. 인증 토큰과 같은 민감 정보는 .npmrc에 직접 저장하지 않고 환경 변수를 통해 관리해야 함.

원문 읽기