在前端开发过程中,经常需要使用各种不同的 npm 包。然而,有时候我们需要检查我们的项目是否安全,是否有漏洞。这时候,一个强大的 npm 包,doctor-md 可以帮助我们。
什么是 doctor-md
doctor-md 是一个 npm 包,它可以检查所有依赖的安全性和漏洞,并以 Markdown 文档的形式输出结果。
doctor-md 的使用方法
首先,你需要安装 doctor-md:
npm install -g doctor-md
接着,进入你想要检查的项目的根目录,并运行:
doctor-md
doctor-md 会自动运行并列出所有的依赖安全问题。如果存在任何问题,它会以 Markdown 文档的形式在控制台上输出。如果没有任何问题,它会输出 "0 dependencies have vulnerabilities"。
你还可以通过在命令后加上 --output
选项来将结果保存到文件中,例如:
doctor-md --output report.md
怎样读懂 doctor-md 输出的报告
doctor-md 输出的报告使用 Markdown 格式书写。当你打开报告文件时,你会看到类似下面这样的信息:
-- -------------------- ---- ------- - --------- -------- ------ -- ---- -------- --------------- - ------- - ------------- - ------- - ---- - ---- ---- - - ------- - ------------ - ------- - ---- - --------- - - ------------ - ------- ---------- ------ -- ------- - ------ - --- - ----- - ------------ - ------------------------------------------------ - -- -------- -------- --------------- - ------- - ------------- - ------- - ---- - ---- ---- - - ------- - ------------ - ------- - ---- - --------- - - -- - ------ -- ------- - ----- - -------- - ------- - ---------- - ------------ - ---------- - --------- - -- - -------------------------------------- - -- --- -------- --------------- - ------- - ------------- - ------- - ---- - ---- ---- - - ------- - ------------ - ------- - ---- - --------- - - ----- - ---------- --------- ----- - ----- - ------------------ - ---------------------- - ---------------------------- - ------- - ----- - ----- - ------------------------------------------ -展开代码
doctor-md 报告的第一部分是标题和概要。下面会列出所有的安全问题,按照安全漏洞的等级分类。
每个漏洞包括以下字段:
- Library:存在漏洞的库
- Vulnerability:漏洞的类型
- Patched:已修复的版本号
- Path:漏洞路径
- More info:更多的信息和修复建议
示例
以下是一个例子,假设你有一个项目,它依赖了两个库:express 和 moment。express 安全,但 moment 有一个高危漏洞。运行 doctor-md 后,它会输出类似这样的报告:
-- -------------------- ---- ------- - --------- -------- ------ -- ---- -------- --------------- - ------- - ------------- - ------- - ---- - ---- ---- - - ------- - ------------ - ------- - ---- - --------- - - ------ - ------- ---------- ------ -- ------- - ------ - --- - ------ - ---------------------------------------- - -- ------- - - ---- -------- ------------- ----- - - -------- -------- --------------- ----- - - --- -------- --------------- ----- - - ------------ -------- -- -----展开代码
从报告中,你可以看到,moment 存在一个高危漏洞,我们需要立即更新它的版本,以修复这个漏洞。
总结
npm 包 doctor-md 是一个很方便的工具,它可以帮助我们检查所有依赖库的安全性和漏洞。了解 doctor-md 如何工作,以及如何解析其输出的报告,对于任何一个开发者来说都是值得的。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eff0e87403f2923b035bc18