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> 옵션을 사용할 수 있습니다.

기본값: 계정 설정에서 현재 기본 조직인 <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 데이터 구조를 파일에 저장함과 동시에 인간이 읽을 수 있는 테스트 결과를 stdout에 표시하려면 사용합니다.

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

--sarif

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

--sarif-file-output=<OUTPUT_FILE_PATH>

--sarif 옵션을 사용하든 말든, 결과를 SARIF 형식으로 지정된 <OUTPUT_FILE_PATH> 파일에 직접 저장합니다.

stdout를 통해 인간이 읽을 수 있는 테스트 결과를 표시하고 동시에 SARIF 형식 결과를 파일에 저장하려면 사용합니다.

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

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

--fail-on=<all|upgradable>

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

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

  • upgradable: Snyk이 계산된 복구 가능한 원순결을 가지고 있는 취약점이 하나 이상 있는 경우 실패합니다.

Snyk이 snyk test로 준수하지 않을 수 있는 메타데이터 제약을 확인하면 고쳐도 코드가 깨지지 않도록 회피하려고 합니다. 수동으로 고칠 수 있는 곳을 식별하고 적용할 수 있을 수 있습니다.

--app-vulns

컨테이너 이미지의 애플리케이션 종속성과 운영 체제에서 취약점을 모두 한 번에 스캔합니다.

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

1.962.0부터 v1.1089.0까지의 CLI 버전에서는 운영 체제 및 애플리케이션 취약점을 JSON 형식으로 결과에서 볼 수 있게 하려면 --app-vulns 옵션을 사용하세요.

--exclude-app-vulns

애플리케이션 취약점 스캔을 비활성화합니다; 1.1090.0 (2023-01-24) 버전 이상의 경우 app-vulns가 기본적으로 활성화됩니다.

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

--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/v7, 또는 linux/arm/v6

--username=<CONTAINER_REGISTRY_USERNAME>

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

--password=<CONTAINER_REGISTRY_PASSWORD>

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

컨테이너 테스트 명령 예제

Docker 이미지 스캔

$ snyk container test <image>

베이스 이미지 복구를 포함한 자세한 정보를 얻기 위한 옵션

--file=path/to/Dockerfile

Dockerfile을 사용하여 생성된 Docker 이미지와 지정된 정책 경로를 사용하여 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

더 많은 정보 및 예제를 보려면 고급 CLI 사용법를 참조하세요.

또한 컨테이너 이미지에서 애플리케이션 취약점 감지하기도 참조하세요.

Last updated