跳至主要内容

yarn npm audit

对已安装的包执行漏洞审计。

用法

$ yarn npm audit

示例

检查已安装包的已知安全问题。输出是已知问题的列表。

审计所有工作区中的依赖项

yarn npm audit --all

将审计限制为依赖项(排除devDependencies

yarn npm audit --environment production

将审计报告显示为有效的 JSON

yarn npm audit --json

审计所有直接和传递依赖项

yarn npm audit --recursive

输出中度(或更严重的)漏洞

yarn npm audit --severity moderate

排除某些包

yarn npm audit --exclude package1 --exclude package2

忽略特定建议

yarn npm audit --ignore 1234567 --ignore 7654321

详细信息

此命令检查您使用的包中已知的安全报告。默认情况下,这些报告是从 npm 注册表中提取的,可能与您的实际程序无关(并非所有漏洞都会影响所有代码路径)。

为了与我们的其他命令保持一致,默认只检查活动工作区的直接依赖项。要将此搜索扩展到所有工作区,请使用 -A,--all。要将此搜索扩展到直接和传递依赖项,请使用 -R,--recursive

应用 --severity 标志将审计表限制为相应严重性及以上的漏洞。有效值为 infolowmoderatehighcritical

如果设置了 --json 标志,Yarn 将按从注册表接收到的方式打印输出。无论此标志如何,如果为所选包找到了报告,该进程将以非零退出代码退出。

如果某些包对特定环境产生误报,则 --exclude 标志可用于从审计中排除任意数量的包。这也可以在配置文件中使用npmAuditExcludePackages选项进行设置。

如果需要忽略特定建议,可以使用 --ignore 标志和建议 ID 来忽略审计报告中的任意数量的建议。还可以使用 npmAuditIgnoreAdvisories 选项在配置文件中进行设置。

要了解需要存在漏洞包的依赖项树,请使用 --json 标志检查原始报告,或使用 yarn why package 来获取更多有关谁依赖它们的信息。

选项

定义说明

-A,--all

审计所有工作空间的依赖项

-R,--recursive

同时审计传递依赖项

--environment #0

涵盖哪些环境

--json

将输出格式化为 NDJSON 流

--no-deprecations

不警告已弃用的包

--severity #0

显示包的最小严重性要求

--exclude #0

要从审计中排除的包的全局模式数组

--ignore #0

审计报告中要忽略的建议 ID 的全局模式数组