Azure DevOps Services
npm 审核命令对项目执行彻底扫描,识别潜在的安全漏洞,并生成一份详细报告,其中突出显示了发现任何问题。 执行安全审核是识别和解决项目依赖项中漏洞的重要步骤。 npm audit fix 命令会自动解决检测到的漏洞,将不安全的包版本更新到最新的安全版本。 解决这些漏洞对于防止数据丢失、服务中断和未经授权访问敏感信息等潜在问题至关重要。
警告
执行 npm 审核 会将 package.json 中指定的所有包的名称传输到公共注册表。
在本地运行 npm 审核
npm audit 可在本地执行,而无需对源进行身份连接。 这样,便可以扫描项目是否存在漏洞,并收到有关检测到的安全问题及其严重性的详细报告。
如果想修复检测到的漏洞,可以运行 npm audit fix,但必须对源进行身份验证才能这样做。 此命令将不安全的包版本更新为可用的最新安全版本。
运行 npm 审核修补程序时,它不仅会更新本地项目的 package.json 和 package-lock.json ,还会将这些更改与关联的 Azure Artifacts 源同步。 新的安全更新版本的包将自动在你的订阅源中可用。
此同步可确保共享同一源的其他项目也受益于这些更新。 它有助于在所有项目中保持一致且安全的包版本集。
在项目目录中运行以下命令以执行 npm 审核:
npm audit如果要尝试升级到无漏洞的包版本,请确保先 连接到源服务器,然后在项目目录中运行以下命令:
npm audit fix
运行 npm 审核修复后,请确保对应用程序执行彻底测试,以确认更新未引入任何中断性变更。 如果修补程序需要进行重大版本升级,建议查看包的发布说明,以了解是否有任何潜在的破坏性更改。 请记住,虽然具有公共易受攻击依赖项的专用包会收到漏洞警报,但它不会通过 npm 审核修复收到修补程序。
注释
npm 审核 会在 每次执行 npm 安装时自动运行,但它仅适用于公共包。
从管道运行 npm 审核
Azure Pipelines 目前不支持 npm 审核。 如果尝试在管道中使用常规 npm 审核 命令,它将失败。 请改为执行 npm audit 命令,并使用 --registry 参数提供您的 feed 源 URL。
登录到 Azure DevOps 组织,然后导航到项目。
选择 管道,选择管道,然后选择 “编辑” 以对其进行修改。
从管道定义中选择
+符号以添加新任务。搜索 npm 任务,然后选择“ 添加 ”将其添加到管道。
输入任务的显示名称,然后从“命令”下拉菜单中选择自定义名称。
将自定义命令粘贴到 命令和参数 文本框中:
使用以下命令执行 npm 审核并扫描包漏洞。 将占位符替换为源的源 URL:
audit --registry=<FEED_SOURCE_URL>如果要尝试升级到非易受攻击的包版本,请使用以下命令。 将占位符替换为源的源 URL:
audit fix --registry=<FEED_SOURCE_URL>