Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Snyk Scan — 自动化的 Snyk 漏洞扫描,用于 Bitbucket Pipelines 中的依赖项和 Docker 镜像,支持严重性阈值和监控选项。 | Kitploit
工具/BitbucketBitbucket/snyk/snyk-scan
漏洞扫描器容器安全DevSecOps供应链安全
Bitbucketsnyk/snyk-scan

Snyk Scan

自动化的 Snyk 漏洞扫描,用于 Bitbucket Pipelines 中的依赖项和 Docker 镜像,支持严重性阈值和监控选项。

查看仓库
42个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Bitbucket Pipelines Pipe:Snyk

此 Pipe 使用 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 测试输出送入此 Pipe——请参阅“根据现有 Snyk JSON 输出生成 Code Insights 报告”示例。

先决条件

使用此 Pipe 需要 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

提供您自己的基础镜像

使用自定义提供的 Docker 镜像来运行您的 Snyk 扫描。如果您不想使用默认的 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 CLI 通过 snyk test 的某种变体来测试您的应用。安装 Snyk CLI 最简单的方法是使用 npm(npm install -g snyk),但如果您的构建环境中没有 npm,您可以使用 curl 从 https://github.com/snyk/snyk/releases 下载二进制文件。

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 CLI 通过 snyk test --json > snyk-test-output.json 的某种变体来测试您的应用,然后将输出文件送入 Pipe 以生成 Code Insights 报告。安装 Snyk CLI 最简单的方法是使用 npm(npm install -g snyk),但如果您的构建环境中没有 npm,您可以使用 curl 从 https://github.com/snyk/snyk/releases 下载二进制文件。

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...

高级示例

将 Snyk 补丁应用到 Node.js 应用,并仅继续扫描依赖项中的严重(critical)级别漏洞,但即使发现漏洞也不会中断构建。同时可选择在 Snyk.io 上监控依赖项状态,以便在发现新漏洞时收到警报。然后继续构建 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 实例的客户,需要使用 SNYK_API 来指定 URL。这适用于 MT-EU、MT-AU 和单租户客户。

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 月起转向封闭贡献模式。此变更使我们的核心团队能够专注于集中的开发路线图和严格的质量保证,这对于使用如此广泛的组件至关重要。

为保持透明,我们的所有开发工作仍将公开进行。我们感谢社区的支持和宝贵贡献。

获取支持

作为我们转向封闭贡献模式的一部分,此仓库已禁用 GitHub issues。Snyk 支持团队不会主动监控任何 Snyk 开发项目上的 GitHub issues。

如需 Snyk 产品方面的帮助,请使用 Snyk 支持页面,这是获得帮助的最快方式。

许可证

版权所有 (c) 2019 Snyk Ltd. 及其他。 采用 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_IMAGE如果您不想使用 Snyk 镜像,可提供您自己的基础镜像。默认值:snyk/snyk。
注意:LANGUAGE 将引用您的基础镜像标签,请确保该标签有效
CODE_INSIGHTS_RESULTS使用 Snyk 测试结果创建 Code Insight 报告。默认值: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。
ORGANIZATION运行 CLI 时使用的组织。默认值:无。
PROJECT_FOLDER项目所在的文件夹。默认值:.。
TARGET_FILE包文件(例如 package.json);等同于 CLI 中的 --file=。对于 Docker,应指向 Dockerfile。默认值:无。
EXTRA_ARGS要传递给 snyk CLI 的额外参数。默认值:无。
DEBUG开启额外的调试信息。默认值:false。
SNYK_API指定 Snyk API 端点。默认值:https://api.snyk.io(标准 Snyk MT-US 环境)