snyk-filter

snyk-filter 도구는 Snyk CLI 출력에 대한 사용자 지정 필터링을 제공합니다. snyk-filterSnyk CLI에서 JSON 형식으로 출력된 데이터(예: snyk test --json)를 가져와 결과에 사용자 지정 필터링을 적용하고 빌드를 실패시키는 옵션을 제공합니다.

snyk-filter 복제 및 설치

먼저 리포지토리arrow-up-right를 복제합니다. 그런 다음 다음을 실행합니다.

npm install -g

snyk-filternode-jq 라이브러리를 사용하며, jqarrow-up-right 바이너리가 설치되어 있어야 합니다. 이는 일반적으로 npm install -g를 통해 투명하게 발생하지만 일부 시스템에서는 jq가 로컬에 제대로 설치되지 않습니다. 설치 후 node-jq와 관련된 오류가 발생하면 이 오류를 피하기 위해 jq를 수동으로 설치하십시오.

# jq를 미리 설치 (ubuntu 예시)
sudo apt-get install -y jq

# node-jq에 자체적으로 설치를 시도하지 않도록 지시
export NODE_JQ_SKIP_INSTALL_BINARY=true

# node-jq에 기존 jq 바이너리 위치를 지시
export JQ_PATH=$(which jq)

# 마지막으로 snyk-filter 설치 (node 버전 > 12에서는 작동하지 않음)
sudo npm install -g

사용법

  1. snyk test를 실행하는 현재 작업 디렉토리에 상대적인 .snyk-filter/snyk.yml 파일에 사용자 지정 jq 필터를 구현합니다. 샘플 필터arrow-up-right를 참조하고 거기에서 조정을 시작합니다. JQPlayarrow-up-right를 사용합니다.

  2. 그런 다음 snyk test --json 출력을 snyk-filter로 파이프하거나 -i 인수를 사용하여 JSON 파일을 입력합니다. 기본 위치(.snyk-filter/snyk.yml)를 사용하지 않는 경우 -f 인수를 사용하여 사용자 지정 필터가 포함된 yml 파일을 가리킵니다.

  3. snyk-filter의 종료 코드는 통과(문제 없음)의 경우 0이고 실패(문제 발견)의 경우 1입니다.

circle-info

snyk test --json > result-opensource.json과 같이 여러 단계 접근 방식을 사용하고 결과를 플러그인에 전달할 때 종료 코드snyk-to-html 또는 snyk-filter와 같은 도구에 출력 파일을 전달하는 단계에 도달하기 전에 빌드 시스템에서 프로세스를 중지하거나 중단할 수 있습니다. 빌드 도구의 기능에 따라 몇 가지 옵션이 있습니다.

  1. 종료 코드를 매개변수에 캡처하여 오류 상태 확인 외에 프로세스로 반환되는 것을 방지합니다.

  2. ||true 또는 특정 논리를 사용하여 종료 코드가 프로세스를 종료하는 것을 방지합니다. 이 작업을 수행할 때는 네트워크 또는 Snyk 플랫폼 문제 또는 기타 스캔 결과가 아닌 문제와 같은 오류 상태를 나타내는 모든 반환 코드가 무시된다는 점에 유의하십시오. JSON 사용의 다음 단계는 실패할 가능성이 있습니다. 스크립트의 다음 단계로 진행하기 전에 종료 코드를 검토하는 것이 좋습니다.

  3. 그러한 옵션이 있는 경우 단계를 continue on failure로 설정합니다.

Snyk CLI (기본적으로 .snyk-filter/snyk.yml 사용) 예시

snyk test --json | snyk-filter

Snyk CLI 및 사용자 지정 yml 파일 위치 예시

snyk test --json | snyk-filter -f /path/to/example-cvss-9-or-above.yml

JSON 파일 입력 예시

snyk test --json-file-output=results-opensource.json

snyk-filter -i results-opensource.json

사용자 지정 yml 파일 위치 예시

snyk-filter -i snyk_results.json -f /path/to/example-high-upgradeable-vulns.yml

옵션

--json JSON 출력

라이선스

라이선스: Apache 라이선스, 버전 2.0

Last updated