现在很多网站都采用了前后端分离技术,react、Vue、Angular等前端框架正在广泛使用。这些框架提供了丰富的UI组件库和状态管理工具,极大地提高了开发效率。但凡事有利必有弊,各种组件和三方模块也存在这样那样的安全问题,那么如何避免这样问题呢,恰好npm@^6版本之上提供了npm audit工具。
npm audit是Node.js包管理器npm自带的一个强大的审计功能。它通过分析项目的依赖关系树来查找已知的安全漏洞,能够及早发现问题、防止安全风险,并且提供修复建议!
npm audit 是 npm(Node Package Manager)提供的一个命令行工具
# npm audit --help
npm audit [--json] [--production]
npm audit fix [--force|--package-lock-only|--dry-run|--production|--only=(dev|prod)]
基本使用:
$ npm audit fix
扫描漏洞,并自动安装修复更新
$ npm audit fix --dry-run [--json]
模拟运行fix,使用Json格式输出(可选)
npm audit能做什么?
- 漏洞扫描: npm audit 自动扫描你项目中的所有依赖包,并与 npm 的漏洞数据库(漏洞库在国内访问比较慢)进行比对,找出存在漏洞的包。
- 漏洞报告: 扫描完成后,npm audit 会生成一份详细的报告,列出所有发现的漏洞,包括漏洞的严重程度、影响范围以及修复建议。
- 自动修复: 自动修复一些简单的漏洞,比如升级到不受影响的版本。
- 自定义配置: 可以自定义 npm audit 的行为,例如指定漏洞的严重程度阈值,或者忽略某些特定的漏洞。
命令行使用:
npm audit
输出结果:
查看具体漏洞情况:
生成漏洞报告:
Tips:
有些前端项目对三方模块版本的依赖限制比较死,这种情况就不要盲目修复了,跨越大半本很有可能导致编译失败
感觉怎么样?npm audit应该是每个Node.js开发者都应该掌握的一个重要工具,你值得拥有!