안전하게* 패키지를 설치 프로세스의 일부로 감사하여 NPM/원사로 패키지 설치
NPQ에 대한 미디어 보도 :
NPQ가 설치되면 패키지를 안전하게 설치할 수 있습니다.
npq install express
npq
Synity Heuristics를 사용하고 CVE 데이터베이스를 쿼리하여 패키지가 안전한지 확인하기 위해 다음 단계를 수행합니다.
NPQ가 설치를 계속하라는 메시지가 표시되면 실제 패키지 설치 작업을 패키지 관리자 (기본적으로 NPM)에게 건네주십시오.
안전하게* - 보장 된 안전은 없습니다. 공개적으로 공개 된 보안 취약점이없고 NPQ의 수표를 통과하는 악의적이거나 취약한 패키지가 여전히 존재할 수 있습니다.
npm install -g npq
참고 : yarn
아닌 npm
으로 설치하는 것이 좋습니다. 이렇게하면 npq
자동으로 쉘 별칭을 설치할 수 있습니다.
npq install express
npq
설치중인 NPM 패키지가 안전한지 확인하기위한 사전 단계이므로 일상적인 npm
사용에 안전하게 포함시킬 수 있으므로 npq
명시 적으로 실행할 필요가 없습니다.
alias npm= ' npq-hero '
yarn
사용하거나 일반적으로 NPQ를 명시 적으로 알려주려면 어떤 패키지 관리자가 사용하는지 명시 적으로 알려주십시오. 환경 변수를 지정할 수 있습니다 : NPQ_PKG_MGR=yarn
예 : 패키지 관리자로서 원사로 별칭을 만듭니다.
alias yarn= " NPQ_PKG_MGR=yarn npq-hero "
참고 : npq
기본적으로 각 패키지에 대한 결절성을 완료 한 후 모든 명령과 인수를 npm
패키지 관리자에게 오프로드합니다.
마샬 이름 | 설명 | 메모 |
---|---|---|
나이 | NPM의 나이가 22 일 미만인 경우 패키지에 대한 경고가 표시됩니다. | 특정 버전이 아닌 패키지 생성 날짜를 확인합니다 |
작가 | 저자 필드없이 패키지가 발견되면 경고가 표시됩니다. | 저자의 최신 버전을 확인합니다 |
다운로드 | 지난 달에 다운로드 카운트가 20 미만인 경우 패키지에 대한 경고가 표시됩니다. | |
readme | 패키지에 README가 없거나 NPM 직원이 보안 자리 표시 자로 감지 된 경우 경고가 표시됩니다. | |
레포 | 유효하고 작동하는 저장소 URL없이 패키지를 찾은 경우 경고가 표시됩니다. | 리포지토리 URL의 최신 버전을 확인합니다 |
스크립트 | 패키지에 사전/사후 설치 스크립트가있는 경우 경고가 표시됩니다. | |
스니크 | Snyk의 데이터베이스에서 취약점으로 패키지가 발견 된 경우 경고가 표시됩니다. | Snyk가 작동하려면 snyk NPM 패키지를 유효한 API 토큰으로 설치하거나 Snyk_token 환경 변수에서 토큰을 사용할 수 있도록해야합니다. |
특허 | 라이센스 필드없이 패키지를 찾은 경우 경고가 표시됩니다. | 라이센스의 최신 버전을 확인합니다 |
만료 된 도메인 | 만료 된 도메인이 포함 된 이메일 주소가있는 관리자 중 하나와 함께 패키지가 발견 된 경우 경고가 표시됩니다. | 만료 된 도메인이있는 관리자의 종속성 버전을 확인합니다. |
서명 | Registry의 동굴에 표시된대로 패키지의 서명을 NPMJS.com 레지스트리에 게시 한 키와 비교합니다. | |
기원 | 게시 된 패키지에 대한 Provenance Metadata에 대한 패키지의 증명을 확인합니다. |
마샬을 완전히 비활성화하려면 Marshall의 짧은 이름과 함께 환경 변수를 설정하십시오.
예를 들어, Snyk 취약점 Marshall을 비활성화하려면 :
MARSHALL_DISABLE_SNYK=1 npq install express
npq install express --dry-run
LIRAN TAL의 Node.js 보안 코딩 기술 및 모범 사례를 배우십시오.
npm install
취약점이 있더라도 모듈을 설치합니다. NPQ는 감지 된 문제를 표시하고 사용자에게 설치를 진행할 것인지 확인하라는 메시지를 표시합니다.pre-install
스크립트가있어 시스템에 잠재적으로 유해 할 수있는 사전 설치 스크립트가 있는지 여부와 같은 모듈의 특성에 대해 Marshalls라는 합성 검사를 실행합니다. 반면 npm audit
그러한 수표를 수행하지 않으며 알려진 보안 문제에 대한 취약성 데이터베이스 만 상담합니다.npm audit
NPQ가하는 것보다 Snyk의 기능에 더 가깝습니다.이 프로젝트에 기여한 지침에 대한 기여에 대해 문의하십시오.
liran tal [email protected]