2016-06-14 3 views
1

필자는 비교적 최근에 내 컴퓨터에서 npm install <foo>을 실행하는 것이 완전히 안전하지 않다는 것을 깨달았습니다. 누구나 을 NPM에 게시 할 수 있으며 개별 패키지가 위험하지 않다는 것을 확인하는 방법이 있더라도 모든 종속성을 확인하는 것은 매우 어려울 것입니다.내 랩톱에서 신뢰할 수없는 NPM 모듈을 사용하여 안전하게 개발하는 방법은 무엇입니까?

NPM은 내 사용자 권한 (root 아님)으로 실행되지만, 내 개인 파일은 모두 동일한 사용자가 소유하므로 내 Macbook의 맥락에서 볼 때 그다지 관련성이 없습니다. (root이 추가하는 것은 운영 체제 자체를 파괴하는 능력입니다. 이는 매우 중요하지 않습니다.)

그래서 사람들은 NPM에서 신뢰할 수없는 코드를 안전하게 어떻게 실행합니까? 분명히 VM 내부의 모든 것을 실행하는 것이 안전하지만 항상 로컬 네트워킹에 어려움이있는 것 같습니다.

또는 새 사용자를 만들고 해당 시스템의 나머지 부분에 대한 액세스 권한이없는 해당 사용자가 NPM과 관련된 모든 것을 만들 수 있다고 생각합니다.

다른 유용한 옵션이 있습니까? 이것에 대한

답변

0

완화가 포함됩니다 :

  • 당신이 NPM에 로그인 한 상태를 유지해서는 안 모듈을 소유하고 사용자의 경우. (쉽게 충분한, npm logoutnpm login)
  • 사용 npm shrinkwrap 또한 this linkthis link를 참조
  • 사용 npm install someModule --ignore-scripts

의존성을 잠글 수 있습니다.

악성 모듈은 커뮤니티에서 발견하지 못하면 악성 모듈이 내장 된 코드에 백도어 나 취약점을 도입 할 수 있습니다.

관련 문제