npm 包 nsp-reporter-owasp 使用教程

阅读时长 4 分钟读完

npm 是 Node.js 世界中最大的包管理器,几乎每一个 Node.js 的开发者都会使用它来管理自己的项目。nsp 是 npm 内置的一个安全检测工具,可以对项目中的依赖包进行安全扫描,检查项目中是否存在已知的安全漏洞。但是,由于 npm 官方并没有提供美观易读的安全报告,因此本文将介绍一款基于 nsp 的 npm 包 nsp-reporter-owasp,全称 OWASP 自定义 nsp 报告器,其可以允许您根据安全漏洞的严重性、CVSS 评分等参数生成更加直观、易读的安全报告。

nsp-reporter-owasp 的安装

首先,您需要在您的项目中作为开发依赖 (devDependencies) 安装 nsp 和 nsp-reporter-owasp:

如何生成 OWASP 报告

为了能够使用 nsp 和 nsp-reporter-owasp 生成 OWASP 报告,您需要运行以下命令:

该命令将扫描项目中所有的依赖包,同时使用 owasp 报告器生成 OWASP 报告。最终,您将可以在终端中看到类似于以下的结果:

-- -------------------- ---- -------
- --- ----- ---------- -----

-- --------- -------------- - ---------- ---- --------------- -----
----         -- --------------------------------
----         ----------
----         ------------------

--------------                                  - ---- ------ ---
------- ---
  - ----------

-------- ----------
  - --------------- ------------- -- -----

如果项目中没有发现安全漏洞,将会输出以下结果:

如何定制 OWASP 报告中的规则

nsp-reporter-owasp 报告器可以配置以下选项:

  • display: 定义报告中的哪些列将被显示,默认值为 "library,version,vulnerability,cvssScore,upgradePath"
  • severityThreshold: 仅显示与此等级或更高级别的漏洞,可以是 "low", "moderate", "high" 或 "critical"。如果你不希望显示部分漏洞,可以将此选项设置为 "none"。
  • exitOnWarnThreshold: 定义级别要输出多少个警告后退出。如果设置为 '0',则不会在警告级别上退出,默认值为 0。

nsp-reporter-owasp 支持在像这样的 .nsp-foorcpackage.json 文件中定义选项:

总结

在本文中,我们介绍了如何使用 nsp 和 nsp-reporter-owasp 来生成可读性更高的 OWASP 报告。我们还展示了如何配置和在其他应用程序中使用该报告器。希望这篇文章能够帮助更多的人通过增强其安全性,提升他们的 Node.js 项目的质量和可靠性。

附录:示例代码

以下为使用 nsp 和 nsp-reporter-owasp 生成 OWASP 报告的示例代码:

-- -------------------- ---- -------
-- --------------

-
  ------- -------------
  ---------- --------
  --------------- -
    ---------- ---
  --
  ------------------ -
    ------ ---------
    --------------------- --------
  -
-

输出结果:

-- -------------------- ---- -------
-- --------- -------------- - ---------- ---- --------------- -----
----         -------------

-- --------------- --
--------------                                  - ---- ------ ---

------- ---
  - --------------

-------- ----------
  - ------- ------ ------- -- ------

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005671d81e8991b448e37cb

纠错
反馈