返回更新列表
新发布Aug 6, 2026

cli v1.1306.3

Snyk CLI 扫描并监控您的项目是否存在安全漏洞。

分享

开始使用Snyk CLI

Snyk CLI简介

Snyk 是一款以开发者优先、云原生安全工具,用于扫描并监控软件开发项目中的安全漏洞。Snyk 可扫描多种内容类型以发现安全问题:

  • Snyk Open Source:发现并自动修复开源漏洞
  • Snyk Code:实时发现并修复应用程序代码中的漏洞
  • Snyk Container:发现并修复容器镜像和Kubernetes应用中的漏洞
  • Snyk IaC:发现并修复Terraform和Kubernetes代码中的不安全配置

Snyk CLI 将 Snyk 的功能带入你的开发工作流。你可以在本地命令行或 IDE 中运行 CLI,也可以在 CI/CD 流水线中运行。下方展示了 Snyk CLI test 命令输出示例。

Snyk CLI test 命令输出示例

Snyk CLI 扫描支持多种语言和工具。详细信息请参阅以下内容:

本页说明如何安装、认证并开始使用 CLI 进行扫描。Snyk 还提供了入门向导来引导你完成这些步骤。如需演示,可观看 Starting with Snyk: an overview of the CLI onboarding flow

安装 Snyk CLI 并认证你的机器

要使用 CLI,你必须先安装并完成机器认证。请参阅 安装或更新 Snyk CLI认证 CLI 到你的账户。你可以参考发布说明了解每个版本的变更摘要。在扫描代码前,请阅读 Snyk CLI 代码执行警告

{% hint style="info" %} 在将 CLI 用于 Open Source 扫描之前,你必须安装你的包管理器。所需的第三方工具(如 Gradle 或 Maven)必须位于 PATH 中。 {% endhint %}

你也可以在 IDE 或 CI/CD 环境中安装 CLI。详情请参阅 IDE 和 CI/CD 文档 中各集成的说明。

测试你的安装

认证后,你可以测试安装。快速测试:运行 snyk --help

或者,你可以在一个公共 npm 包上执行快速测试,例如 snyk test ionic

在终端中查看 test 命令的报告。报告显示了 Snyk 在包中发现的漏洞。对于每个发现的问题,Snyk 会报告问题的严重性、提供详细描述的链接、报告易受攻击模块进入系统的路径,并提供修复指导。

扫描你的开发项目

在使用 Snyk CLI 测试开源项目漏洞之前(除少数例外),你必须先构建项目。详情请参阅 必须在测试前构建的开源项目

此外,根据开源项目的语言,你可能需要在使用 Snyk CLI 之前设置语言环境。详情请参阅支持的语言、包管理器和框架

安装 CLI 并认证机器后,要扫描一个开源项目,使用 cd /my/project/ 将当前目录切换到包含支持的包清单文件(如 package.jsonpom.xmlcomposer.lock)的文件夹,然后运行 snyk test。所有识别的漏洞都会列出,包括其路径和修复指导。

要扫描你的源代码,运行 snyk code test

你可以通过标签扫描 Docker 镜像,例如:snyk container test ubuntu:18.04

要扫描 Kubernetes (K8s) 文件,运行以下命令:
snyk iac test /path/to/kubernetes_file.yaml

关于使用 Snyk CLI 扫描每种内容类型的详细信息,请参阅以下内容:

监控你的开源或容器项目

Snyk 可以定期监控你的开源或容器集成 SCM 项目,并在发现新漏洞时向你发出警报。要设置项目被监控,运行 snyk monitorsnyk container monitor

这会创建当前依赖的快照,使 Snyk 能够定期扫描你的代码。然后 Snyk 可以提醒你新披露的漏洞,或者当以前不可用的补丁或升级路径出现时。以下代码展示了 snyk monitor 命令输出的示例。

> snyk monitor
Monitoring /project (project-name)...

Explore this snapshot at
https://app.snyk.io/org/my-org/project/29361c2c-9005-4692
-8df4-88f1c040fa7c/history/e1c994b3-de5d-482b-9281-eab4236c851e

Notifications about newly disclosed issues related to these
dependencies will be emailed to you.

你可以登录 Snyk 账户并导航到项目页面,查看最新的快照和扫描结果:

Snyk monitor 快照和扫描结果

更多信息,请参阅定期监控你的项目

测试次数用尽

测试限制不适用于公共仓库。如果你注意到与私有仓库相关的测试限制(如适用)被公共仓库的测试占用,可以通过告知 Snyk 被扫描仓库的公共 URL 来解决。这确保 Snyk 不会将公共仓库计入测试限制。

如果开源项目测试次数用尽,请按以下步骤操作:

  • 运行 snyk monitor
  • 在 Snyk Web UI 中,导航到项目的设置
  • Git remote URL 下输入你的开源仓库 URL。

关于 Snyk CLI 的更多信息

运行 snyk help 或查看 CLI 命令和选项摘要

观看课程 Introduction to the Snyk CLI 以获取快速视频培训。

Snyk 还提供了一份速查表博客文章)。

特别关注以下可能对你有用的选项信息:

  • --severity-threshold=low|medium|high|critical:仅报告指定级别或更高级别的漏洞。
  • --json:以 JSON 格式输出结果。
  • --all-projects:自动检测工作目录中的所有项目。

关于 CLI 的详细信息,请参阅 CLI 文档

获取 Snyk CLI 支持

使用 Snyk 支持页面上的资源来获取使用 Snyk CLI 或 Snyk 的通用帮助。请注意,Snyk 支持不会主动监控任何 Snyk 开发项目的 GitHub Issues。

Snyk CLI 已关闭贡献

自 2024 年 7 月 22 日起,Snyk CLI 不再接受外部贡献。

由于 CLI 广泛使用且内部结构复杂,即使微小的改动也可能产生不可预见的后果。自从 2024 年 4 月向 CLI 代码引入发布渠道以来,Snyk 一直专注于稳定发布。Snyk 认为这种开源但关闭贡献的模式最能服务于这一目标。

本着对 Snyk 客户和 CLI 用户透明公开的精神,Snyk 将继续公开工作。但今后,Snyk CLI 将关闭贡献。

Snyk 感谢并赞赏 Snyk 社区。

安全性

对于任何安全问题或疑虑,请参阅 GitHub 仓库中的 SECURITY.md 文件。

分类