Container test

사용법

snyk container test [<OPTIONS>] [<IMAGE>]

설명

snyk container test 명령은 알려진 취약점에 대해 컨테이너 이미지를 테스트합니다.

종료 코드

가능한 종료 코드 및 그 의미:

0: 성공 (스캔 완료), 취약점 없음 1: 조치 필요 (스캔 완료), 취약점 발견 2: 실패, 명령을 다시 실행하십시오. 디버그 로그를 출력하려면 -d를 사용하십시오. 3: 실패, 지원되는 프로젝트가 감지되지 않았습니다.

Snyk CLI 구성

환경 변수를 사용하여 Snyk CLI를 구성하고 Snyk API에 연결하기 위한 변수를 설정할 수 있습니다.

컨테이너 명령에 적용되는 환경 변수가 있습니다. Snyk CLI 구성을 참조하십시오.

디버그

디버그 로그를 출력하려면 -d 옵션을 사용하십시오.

옵션

분석을 위해 보내기 전에 종속성 트리를 인쇄합니다.

--org=<ORG_ID>

특정 Snyk 조직에 연결된 Snyk 명령을 실행하려면 <ORG_ID>를 지정합니다. <ORG_ID>는 일부 기능 가용성 및 개인 테스트 제한에 영향을 미칩니다.

여러 조직이 있는 경우 CLI에서 다음을 사용하여 기본값을 설정할 수 있습니다.

$ snyk config set org=<ORG_ID>

모든 새로 테스트되고 모니터링되는 프로젝트가 기본 조직에서 테스트되고 모니터링되도록 기본값을 설정합니다. 기본값을 재정의해야 하는 경우 --org=<ORG_ID> 옵션을 사용하십시오.

기본값: 계정 설정arrow-up-right에서 현재 선호하는 조직인 <ORG_ID>

참고: --org=<orgslugname>을 사용할 수도 있습니다. ORG_ID는 CLI와 API 모두에서 작동합니다. 조직 슬러그 이름은 CLI에서는 작동하지만 API에서는 작동하지 않습니다.

orgslugname은 Snyk UI에서 조직 URL에 표시된 슬러그 이름과 일치해야 합니다. https://app.snyk.io/org/[orgslugname]. orgname은 작동하지 않습니다.

자세한 내용은 CLI에서 사용할 조직을 선택하는 방법 문서를 참조하십시오.

--file=<FILE_PATH>

더 자세한 조언을 위해 이미지에 대한 Dockerfile 경로를 포함하십시오.

--project-name=<PROJECT_NAME>

사용자 지정 Snyk 프로젝트 이름을 지정합니다.

--policy-path=<PATH_TO_POLICY_FILE>

.snyk 정책 파일 경로를 수동으로 전달합니다.

--json

결과를 JSON 데이터 구조로 콘솔에 인쇄합니다.

예시: $ snyk container test --json

--json-file-output=<OUTPUT_FILE_PATH>

--json 옵션을 사용하든 안 하든 상관없이 테스트 출력을 JSON 데이터 구조로 지정된 파일에 직접 저장합니다.

표준 출력을 사용하여 사람이 읽을 수 있는 테스트 출력을 표시하고 동시에 JSON 데이터 구조 출력을 파일에 저장하는 데 사용됩니다.

예시: $ snyk container test --json-file-output=vuln.json

--sarif

결과를 SARIF 형식으로 반환합니다.

--sarif-file-output=<OUTPUT_FILE_PATH>

--sarif 옵션을 사용하든 안 하든 상관없이 테스트 출력을 SARIF 형식으로 <OUTPUT_FILE_PATH> 파일에 직접 저장합니다.

이는 표준 출력을 사용하여 사람이 읽을 수 있는 테스트 출력을 표시하고 동시에 SARIF 형식 출력을 파일에 저장하려는 경우에 특히 유용합니다.

--severity-threshold=<low|medium|high|critical>

지정된 수준 이상의 취약점만 보고합니다.

--fail-on=<all|upgradable>

수정 가능한 취약점이 있는 경우에만 실패합니다.

  • all: 업그레이드 또는 패치 가능한 취약점이 하나 이상 있는 경우 실패합니다.

  • upgradable: Snyk에 계산된 해결책이 있는 취약점이 하나 이상 있는 경우 실패합니다.

Snyk에서 감지 가능한 모든 취약점에 대해 실패하려면 (기본 동작) --fail-on 옵션을 사용하지 마십시오. Snyk에서 계산된 수정 사항이 없는 취약점이 있고 이 옵션을 사용하는 경우 테스트는 통과합니다.

참고: Snyk이 snyk test로 존중할 수 없는 메타데이터로 제한된 코드를 테스트하는 경우, Snyk은 코드 손상을 방지하기 위해 수정 사항을 제안하지 않습니다. 수동으로 수정 사항을 식별하고 적용할 수 있습니다.

--app-vulns

컨테이너 이미지의 애플리케이션 종속성과 운영 체제의 취약점을 모두 단일 스캔에서 감지할 수 있도록 합니다.

CLI 버전 1.1090.0 (2023-01-24) 이상에서는 Snyk이 기본적으로 이미지의 애플리케이션 종속성을 스캔합니다. --app-vulns 플래그를 지정할 필요가 없습니다.

CLI 버전 1.962.0부터 v1.1089.0까지는 --json 옵션과 함께 --app-vulns 옵션을 사용하여 운영 체제와 애플리케이션 취약점을 결과에서 JSON 형식으로 볼 수 있습니다.

--exclude-app-vulns

앱 취약점에 대한 스캔을 비활성화할 수 있습니다. CLI 버전 1.1090.0 (2023-01-24) 이상에서는 app-vulns가 기본적으로 활성화됩니다.

이전 릴리스에서는 --app-vulns와 함께 사용할 수 없습니다.

--exclude-node-modules

Node.js 컨테이너 이미지 내 node_modules 디렉토리 스캔을 비활성화할 수 있습니다.

CLI 버전 v1.1292.0 이상에서는 node_modules 스캔이 기본적으로 활성화됩니다.

node_modules 스캔이 비활성화되면 Snyk은 애플리케이션 파일 쌍([package.json, package-lock.json], [package.json, yarn.lock])에서 가져온 npm 프로젝트의 취약점을 보고합니다.

--nested-jars-depth

app-vulns가 활성화된 경우 --nested-jars-depth=n 옵션을 사용하여 Snyk이 압축을 풀 중첩된 jar의 레벨 수를 설정합니다. 깊이는 숫자여야 합니다.

--exclude-base-image-vulns

기본 이미지만으로 도입된 취약점은 표시하지 않습니다. snyk container test를 사용할 때만 사용할 수 있습니다. 운영 체제 패키지에만 적용됩니다.

--platform=<PLATFORM>

다중 아키텍처 이미지의 경우 테스트할 플랫폼을 지정합니다.

지원되는 플랫폼: linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v6 또는 linux/arm/v7.

--username=<CONTAINER_REGISTRY_USERNAME>

컨테이너 레지스트리에 연결할 때 사용할 사용자 이름을 지정합니다. Docker가 있는 경우 로컬 Docker 바이너리 자격 증명보다 우선합니다.

--password=<CONTAINER_REGISTRY_PASSWORD>

컨테이너 레지스트리에 연결할 때 사용할 암호를 지정합니다. Docker가 있는 경우 로컬 Docker 바이너리 자격 증명보다 우선합니다.

컨테이너 테스트 명령 예시

Docker 이미지 스캔

$ snyk container test <image>

기본 이미지 해결책을 포함한 추가 정보를 얻는 옵션

--file=path/to/Dockerfile

주어진 Dockerfile을 사용하여 생성된 Docker 이미지를 스캔하고 지정된 정책 경로로 스캔

$ snyk container test app:latest --file=Dockerfile

$ snyk container test app:latest --file=Dockerfile --policy-path=path/to/.snyk

다이제스트로 컨테이너 이미지 참조

$ snyk container test app@sha256:17cb37098f0efb819c075eea4ff2a495be909a396e86ece317a6e3a8968e025c --file=Dockerfile

자세한 정보 및 예시는 고급 Snyk Container CLI 사용을 참조하십시오.

컨테이너 이미지의 애플리케이션 취약점 감지도 참조하십시오.

Last updated