我试图为将来的漏洞研究找到尽可能多的开源项目存储库。在处理NVD提要数据时,我发现一些CVE描述包含导致漏洞的源代码的文件名或函数名,这是否意味着项目是开源的?
同时,有没有更好的方法或数据源可以帮助我实际获得所引用的项目存储库? (例如CVE-2018-13305-> FFmpeg)
答案 0 :(得分:0)
第一个问题的简短答案是“否”。 NVD数据基于MiTRE的CVE记录。斜接发布了CVE的详细信息,由CVE请求者或CNA提交的详细信息之后,NVD将执行其他分析。
如果CVE请求者/ CNA提供诸如文件名/功能之类的详细信息,则它将出现在CVE记录中,或者如果NVD能够从可公开获得的来源中确定这些详细信息,则他们可以将其添加到分析中。就是说,您会发现闭源CVE具有这种详细信息的类型极为罕见。
因此,尽管CVE描述包含文件名或函数的事实可以很好地说明所涉软件是开源的,但这不是规则。
第二个问题的答案为否。好吧,有很多方法,但是这里的问题范围太广了。
答案 1 :(得分:0)
要解决您的第一个问题,可能没有。我已经看到了对非开源漏洞的描述,这些漏洞列出了容易受到攻击的文件/模块/功能名称。
要回答第二个问题,是的,有一种方法。在NVD JSON提要中,您将看到每个漏洞都在线参考了供应商对手和其他外部参考。在参考链接字段中,您会看到字段url和标签(url是URI,而标签是URL的描述)。为了实现您想要的目标,我将从找到所有链接到git存储库上的提交的漏洞开始(提示:不仅是github)。接下来,您可以查看那些git参考中的哪些,过滤所有链接到其他非开源漏洞POC的参考。