npm审核如何工作?

时间:2019-04-08 08:38:24

标签: security npm npm-audit

我试图了解npm audit命令的工作原理。

通过哪种算法定义存在问题

最重要的是如何区分级别低/中/高/关键

enter image description here

2 个答案:

答案 0 :(得分:1)

没有算法。只有人。

npm审核的作用是查看您使用的软件包以及哪个版本,并将其与npm的漏洞数据库进行比较。这是该数据库的Web界面:https://www.npmjs.com/advisories

如果单击任何“问题”,您将看到3条信息:问题说明,建议的修复程序和报告问题所在位置的链接。

关于npm如何确定问题的严重性,事实并非如此。人们确定问题的严重性。

几乎所有的工作都是由志愿者完成的。这是开源的承诺之一:只要有足够多的眼睛看着您的非隐藏代码错误,就可以发现它。

答案 1 :(得分:1)

npm审核是用于查找npm软件包漏洞的安全模块, 漏洞数据库可从以下网站获得: https://www.npmjs.com/advisories

漏洞格式如下:

    {
  "id": <vulnerability id>,
  "created_at": <creation date>,
  "updated_at": <update date>,
  "title": <vulnerability title>,
  "author": {
    "name": <contributor name>,
    "website": <contributor website>,
    "username": <contributor username>
  },
  "module_name": <product name>,
  "publish_date": <publication date>,
  "cves": [
    <cve name (if existing)>
  ],
  "vulnerable_versions": <vulnerable version(s)>,
  "patched_versions": <fix version(s)>,
  "overview": <vulnerability description>,
  "recommendation": <vendor advisory>,
  "references": [
    <source list>
  ],
  "cvss_vector": <CVSS vector in format AV:x/AC:x/PR:x/UI:x/S:x/C:x/I:x/A:x>,
  "cvss_score": <criticity score (between 0 and 10)>,
  "coordinating_vendor": <editor information>
}

npm审核会将软件包信息与所有漏洞进行匹配,并返回匹配的漏洞。

关于得分, 使用了CVSS评分,您可以在这里找到文档: https://www.first.org/cvss/specification-document