Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Snyk Scan — Bitbucket Pipelines에서 종속성 및 Docker 이미지에 대한 자동화된 Snyk 취약점 스캔, 심각도 임계값 및 모니터링 옵션을 제공합니다. | Kitploit
도구/BitbucketBitbucket/snyk/snyk-scan
Vulnerability ScannersContainer SecurityDevSecOpsSupply Chain Security
Bitbucketsnyk/snyk-scan

Snyk Scan

Bitbucket Pipelines에서 종속성 및 Docker 이미지에 대한 자동화된 Snyk 취약점 스캔, 심각도 임계값 및 모니터링 옵션을 제공합니다.

저장소 보기
2개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Bitbucket Pipelines Pipe: Snyk

이 파이프는 Snyk를 사용하여 앱 종속성과 Docker 이미지에서 알려진 취약점을 찾고, 수정하고, 모니터링합니다.

YAML 정의

bitbucket-pipelines.yml 파일의 script 섹션에 다음 스니펫을 추가하세요:

root@kitploit:~
- pipe: snyk/snyk-scan:1.0.2
  variables:
    SNYK_TOKEN: "<string>"
    # LANGUAGE: "<string>" # Required unless SNYK_TEST_JSON_INPUT is set
    # IMAGE_NAME: "<string>" # Only required if LANGUAGE set to "docker"
    # SNYK_BASE_IMAGE: "<string>" # Custom base image
    # CODE_INSIGHTS_RESULTS: "<boolean>" # Optional.
    # SNYK_TEST_JSON_INPUT: "<string>" # Optional. The filename or path of a JSON file containg the output from running a test with the Snyk CLI (with json output option).
    # PROTECT: "<boolean>" # Optional.
    # DONT_BREAK_BUILD: "<boolean>" # Optional.
    # MONITOR: "<boolean>" # Optional.
    # SEVERITY_THRESHOLD: "<low|medium|high|critical>" # Optional.
    # ORGANIZATION: "<string>" # Optional.
    # PROJECT_FOLDER: "<string>" # Optional.
    # TARGET_FILE: "<string>" # Optional.
    # EXTRA_ARGS: "<string>" # Optional.
    # DEBUG: "<boolean>" # Optional.
    # SNYK_API: "<string"> # Optional.

변수

(*) = 필수 변수입니다.

세부 정보

Snyk를 Bitbucket Pipelines에 통합하면 코드베이스의 종속성과 Docker 이미지에서 알려진 취약점을 지속적으로 테스트, 수정 및 모니터링할 수 있습니다.

Snyk에 대해 더 자세히 알아보려면 웹사이트를 방문하세요.

Maven 또는 Gradle을 사용하는 Java와 같이 빌드 환경이 더 고급인 언어/패키지 매니저의 경우, 파이프라인에서 Snyk CLI를 직접 사용해야 합니다. "Snyk CLI 직접 사용" 예제를 참조하세요. Code Insights 보고서도 생성하려면 Snyk CLI 테스트 출력을 이 파이프에 전달할 수 있습니다. "기존 Snyk JSON 출력에서 Code Insights 보고서 생성" 예제를 참조하세요.

사전 요구 사항

이 파이프를 사용하려면 Snyk API 토큰이 필요합니다.

  • 아직 snyk.io에 계정이 없다면 등록하세요.
  • 토큰을 얻으려면 Snyk 계정에 로그인하고 계정 페이지에서 API 토큰을 발급받으세요.
  • 생성된 토큰을 Bitbucket Pipelines에서 보안 환경 변수로 추가하세요.

예제

기본 앱 종속성 스캔 예제

Snyk를 사용하여 Node.js 애플리케이션을 스캔하고 취약점이 발견되면 빌드를 중단합니다.

root@kitploit:~
script:
  - npm install

  - npm test

  - pipe: snyk/snyk-scan:1.0.2
    variables:
      SNYK_TOKEN: $SNYK_TOKEN
      LANGUAGE: "node"

  - npm publish

자체 기본 이미지 제공

Snyk 스캔을 실행하기 위해 사용자 지정 Docker 이미지를 사용합니다. 기본 Snyk 이미지를 사용하지 않으려는 경우 유용합니다. 이미지 형식은 <MY_CUSTOM_IMAGE>:<TAG>이며, MY_CUSTOM_IMAGE와 TAG는 각각 SNYK_BASE_IMAGE 및 LANGUAGE 변수에 해당합니다.

root@kitploit:~
script:
  - docker build -t $IMAGE_NAME .

  - pipe: snyk/snyk-scan:1.0.2
    variables:
      SNYK_TOKEN: $SNYK_TOKEN
      LANGUAGE: "latest"
      SNYK_BASE_IMAGE: $BASE_IMAGE_NAME
      TARGET_FILE: "Dockerfile"

  - docker push $IMAGE_NAME

### 기본 Docker 이미지 스캔 예제

Snyk를 사용하여 Docker 이미지를 스캔하고 취약점이 발견되면 빌드를 중단합니다.

```yaml
script:
  - docker build -t $IMAGE_NAME .

  - pipe: snyk/snyk-scan:1.0.2
    variables:
      SNYK_TOKEN: $SNYK_TOKEN
      LANGUAGE: "docker"
      IMAGE_NAME: $IMAGE_NAME
      TARGET_FILE: "Dockerfile"

  - docker push $IMAGE_NAME

Snyk CLI 직접 사용

이 방법은 빌드 환경이 더 복잡한 언어(예: Maven 또는 Gradle을 사용하는 Java)에 특히 적합합니다. 이러한 시나리오에서는 snyk test의 변형을 사용하여 Snyk CLI로 애플리케이션을 테스트할 수 있습니다. Snyk CLI를 설치하는 가장 쉬운 방법은 npm(npm install -g snyk)을 사용하는 것이지만, 빌드 환경에 npm이 없다면 https://github.com/snyk/snyk/releases에서 curl을 사용하여 바이너리를 다운로드할 수 있습니다.

root@kitploit:~
script:
  - mvn install
  - npm install -g snyk # binary download also available
  - snyk test --all-projects

  # rest of your pipeline...

기존 Snyk JSON 출력에서 Code Insights 보고서 생성

이 방법은 빌드 환경이 더 복잡한 언어(예: Maven 또는 Gradle을 사용하는 Java)에 특히 적합합니다. 이러한 시나리오에서는 snyk test --json > snyk-test-output.json의 변형을 사용하여 Snyk CLI로 애플리케이션을 테스트한 다음, 출력 파일을 파이프에 전달하여 Code Insights 보고서를 생성할 수 있습니다. Snyk CLI를 설치하는 가장 쉬운 방법은 npm(npm install -g snyk)을 사용하는 것이지만, 빌드 환경에 npm이 없다면 https://github.com/snyk/snyk/releases에서 curl을 사용하여 바이너리를 다운로드할 수 있습니다.

root@kitploit:~
script:
  - mvn install
  - npm install -g snyk # binary download also available
  - snyk test --all-projects --json > snyk-test-output.json

  - pipe: snyk/snyk-scan:1.0.2
    variables:
      SNYK_TOKEN: $SNYK_TOKEN
      SNYK_TEST_JSON_INPUT: "snyk-test-output.json"

  # rest of your pipeline...

고급 예제

Node.js 앱에 Snyk 패치를 적용하고, 치명적(critical) 심각도의 취약점만 계속 스캔하되, 취약점이 발견되어도 빌드를 실패시키지 않습니다. 또한 Snyk.io에서 종속성 상태 모니터링을 선택(opt-in)하면 새 취약점이 발견될 때 알림을 받을 수 있습니다. 그런 다음 Docker 이미지를 빌드하고 치명적(critical) 심각도의 취약점을 스캔합니다.

root@kitploit:~
script:
  - npm install

  - npm test

  - pipe: snyk/snyk-scan:1.0.2
    variables:
      SNYK_TOKEN: $SNYK_TOKEN
      LANGUAGE: "node"
      PROTECT: "true"
      SEVERITY_THRESHOLD: "critical"
      DONT_BREAK_BUILD: "true"
      MONITOR: "true"

  - docker build -t $IMAGE_NAME .

  - pipe: snyk/snyk-scan:1.0.2
    variables:
      SNYK_TOKEN: $SNYK_TOKEN
      LANGUAGE: "docker"
      IMAGE_NAME: $IMAGE_NAME
      TARGET_FILE: "Dockerfile"
      SEVERITY_THRESHOLD: "high"
      DONT_BREAK_BUILD: "true"
      MONITOR: "true"

  - docker push $IMAGE_NAME

사용자 정의 API 엔드포인트를 사용한 스캔

기본이 아닌 Snyk 인스턴스를 사용하는 고객은 URL을 지정하기 위해 SNYK_API를 사용해야 합니다. 이는 MT-EU, MT-AU 및 단일 테넌트(single tenant) 고객에게 적용됩니다.

root@kitploit:~
script:
  - npm install

  - npm test

  - pipe: snyk/snyk-scan:1.0.2
    variables:
      SNYK_TOKEN: $SNYK_TOKEN
      SNYK_API: https://api.eu.snyk.io
      LANGUAGE: "node"

  - npm publish

기여

이 프로젝트의 장기적인 안정성과 품질을 보장하기 위해 2025년 8월부터 비공개 기여(closed-contribution) 모델로 전환합니다. 이 변경을 통해 핵심 팀은 중앙 집중식 개발 로드맵과 엄격한 품질 보증에 집중할 수 있으며, 이는 이렇게 광범위하게 사용되는 구성 요소에 필수적입니다.

투명성을 위해 모든 개발은 계속 공개됩니다. 커뮤니티의 지원과 소중한 기여에 감사드립니다.

지원 받기

비공개 기여 모델로의 전환의 일환으로 이 저장소에서는 GitHub issues가 비활성화되었습니다. Snyk 지원 팀은 Snyk 개발 프로젝트의 GitHub issues를 적극적으로 모니터링하지 않습니다.

Snyk 제품에 대한 도움이 필요하면 가장 빠르게 지원을 받을 수 있는 Snyk 지원 페이지를 이용하세요.

라이선스

Copyright (c) 2019 Snyk Ltd. and others. Apache 2.0 라이선스가 적용됩니다. LICENSE.txt 파일을 참조하세요.

도구 다운로드
VariableUsage
SNYK_TOKEN (*)Snyk API 토큰입니다.
LANGUAGE (*)개발 언어입니다(예: node, ruby, composer, dotnet 또는 docker). 전체 태그 목록은 Dockerhub를 참조하세요.
참고: SNYK_BASE_IMAGE와 함께 사용하는 경우, 이 필드는 기본 이미지 태그를 의미합니다.
IMAGE_NAME (*)docker 언어의 경우, docker 스캔을 수행할 이미지입니다.
SNYK_BASE_IMAGESnyk Images를 사용하지 않으려면 자체 기본 이미지를 제공하세요. 기본값: snyk/snyk.
참고: LANGUAGE는 기본 이미지 태그를 의미하므로 태그가 유효한지 확인하세요.
CODE_INSIGHTS_RESULTSSnyk 테스트 결과로 Code Insights 보고서를 생성합니다. 기본값: false.
SNYK_TEST_JSON_INPUT이전에 생성된 snyk test --json 출력에서 Code Insights 보고서만 생성하려는 경우 사용합니다. 아래의 "기존 Snyk JSON 출력에서 Code Insights 보고서 생성" 섹션에 있는 예제를 참조하세요.
PROTECT.snyk 파일에 지정된 패치를 로컬 파일 시스템에 적용합니다. (Snyk Wizard 실행 후) 기본값: false.
DONT_BREAK_BUILD문제가 발견되어도 빌드를 계속 진행합니다. 기본값: false.
MONITOR프로젝트 스냅샷을 Snyk UI에 기록하고 초기 테스트 후에도 계속 모니터링합니다. 기본값: false.
SEVERITY_THRESHOLD지정된 수준 이상의 이슈를 보고합니다. 허용 값: low, med, high, critical. 기본값: low.
ORGANIZATIONCLI를 실행할 조직(Organization)입니다. 기본값: 없음.
PROJECT_FOLDER프로젝트가 있는 폴더입니다. 기본값: ..
TARGET_FILE패키지 파일(예: package.json)입니다. CLI의 --file=과 동일합니다. Docker의 경우 Dockerfile을 가리켜야 합니다. 기본값: 없음.
EXTRA_ARGSsnyk CLI에 전달할 추가 인수입니다. 기본값: 없음.
DEBUG추가 디버그 정보를 출력합니다. 기본값: false.
SNYK_APISnyk API 엔드포인트를 지정합니다. 기본값: https://api.snyk.io(표준 Snyk MT-US 환경)