非常教程

npm参考手册

CLI命令

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
  • node_version
  • platform
  • node_env
  • A scrubbed version of your package-lock.json or npm-shrinkwrap.json

擦洗

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

  • 引用为非默认注册表配置的作用域的任何模块都会清除其名称。(也就是说,你做了一个范围npm login --scope=@ourscope。)
  • 所有 git 依赖项都清除了它们的名称和说明符。
  • 所有远程 tarball 依赖项都清除了它们的名称和说明符。
  • 所有本地目录和 tarball 依赖项都清除了它们的名称和说明符。

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

npm

npm 是 JavaScript 的包管理器和世界上最大的软件注册表

npm目录

1.入门
2.私有包
3.故障排除
4.使用npm
5.CLI命令