NPM-审核

NPM-审核

运行安全审核

概要

npm audit [--json|--parseable] npm audit fix [--force|--package-lock-only|--dry-run|--production|--only=dev]

例子

扫描项目中的漏洞并自动将任何兼容的更新安装到易受攻击的依赖项:

$ npm audit fix

运行时audit fix无需修改node_modules,但仍然更新pkglock:

$ npm audit fix --package-lock-only

跳过更新devDependencies

$ npm audit fix --only=prod

audit fix安装semver,主要更新到顶层的依赖,不只是semver兼容的:

$ npm audit fix --force

做一个预演,以得到一个什么样的想法audit fix就行了,输出安装在 JSON 格式的信息:

$ npm audit fix --dry-run --json

扫描项目中的漏洞并显示详细信息,而无需修复任何内容:

$ npm audit

以 JSON 格式获取详细的审计报告:

$ npm audit --json

获取明文结果中的详细审计报告,以制表符分隔,以便将来在脚本或命令行后处理中重用,例如,选择打印的一些列:

$ npm audit --parseable

要解析列,您可以使用例如awk,只打印其中一些:

$ npm audit --parseable | awk -F $'\t' '{print $1,$4}'

描述

审计命令将项目中配置的依赖关系的描述提交到默认注册表,并要求提供已知漏洞的报告。返回的报告包括有关如何处理此信息的说明。

您还可以让 npm 通过运行自动修复漏洞npm audit fix。请注意,某些漏洞无法自动修复,需要手动干预或审核。另请注意,由于在引擎盖下npm audit fix 运行完全成熟npm install,所有适用于安装程序的配置也将适用于npm install- 所以类似的事情npm audit fix --package-lock-only将按预期工作。

提交的内容

  • npm_version

擦洗

为了确保审计数据包中不包含潜在的敏感信息,某些依赖项可能会将其名称(有时是版本)替换为不透明的不可逆标识符。它是针对以下依赖类型完成的:

  • 引用为非默认注册表配置的作用域的任何模块都会清除其名称。(也就是说,你做了一个范围npm login --scope=@ourscope。)

不可逆标识符是特定于会话的 UUID 的 sha256,并且被替换的值,确保有效负载内的一致值在运行之间不同。