GitHub宣布了Python安全警告,使Python用户可以访问依赖图,并在他们的库所依赖的包存在安全漏洞时收到警告。

楼主发表于: 11-21

众所周知,现在开发软件已经变得不难,因为现在软件项目通常使用大量的依赖库。开发者虽然非常容易开发项目,简单而又方便了,但是一旦上游库有
Bug 将会影响到下游软件。

安全警告首次发布是在2017年10月,为了跟踪Ruby和JavaScript程序包中的安全漏洞。据GitHub介绍,从那时起,数以百万计的漏洞被发现,推动了许多补丁的发布。

代码托管服务商GitHub增加了新功能,现在它能够警告开发人员他们的项目中有存在漏洞的软件库,并且会提出修复方法解决问题。

现在最大的开源软件开发平台 GitHub
宣布了安全警告服务,将搜索依赖寻找已知漏洞然后发送给开发者,以便帮助开发者尽可能快的打上补丁修复漏洞。GitHub
将会识别所有使用受影响依赖的公开项目,使用私有库的项目则需要选择加入才能使用安全警告服务。

GitHub会根据MITRE的公共漏洞列表(CVE)来跟踪Ruby
gems、NPM和Python程序包中的公共安全漏洞。CVE是一个条目列表;每个条目都包含一个标识号、一段描述以及至少一项公共参考。这非常有助于促使管理员快速响应、通过移除易受攻击的依赖或迁移到安全版本来修复漏洞。

GitHub最近引入了依赖关系图,该功能会列出项目使用的所有库。新功能支持JavaScript和Ruby,公司还计划在明年增加对Python的支持。

最近,GitHub 在 ”Insights” 板块推出了 “依赖图 (Dependency Graph)”
功能,“依赖图”
这个新功能旨在提醒开发人员其项目依赖中出现了缺陷。该功能已为公共库自动启用,不过为私有库设置为可选项。当检测到项目中使用了易受攻击的库时,“依赖图”
中会展示一则 “已知安全漏洞”
警告信息。管理人员也可以配置邮件警告信息、网络提醒以及经由用户界面的警告信息,而且他们可以增加可看到该警告信息的团队和成员名单。

当GitHub收到新发布的漏洞通知,它就会扫描公共库(已经选择加入的私有库也会被扫描)。当发现漏洞时,就会向受影响的库的所有者和有管理员权限的用户发送安全警告。在默认情况下,用户每周都会收到一封邮件,其中包含多达10个库的安全警告。用户也可以自己选择通过电子邮件、每日摘要电子邮件、Web通知或GitHub用户界面来接收安全警告。用户可以在通知设置页面调整通知频率。

新的安全功能旨在当开发人员项目的依赖存在漏洞时进行提醒。对于公开repo,GitHub已经自动启用了依存关系图和安全警报功能,但对于私有repo还未开启。

GitHub 通过追踪 CVE 列表中 Ruby gems 和 NPM
包中的缺陷来识别易受攻击的项目。当添加一个新缺陷后,GitHub
会识别出所有使用受影响版本的库并通知其所有者。当 GitHub
检测出您潜在的漏洞时,GitHub
将显示建议更新的依赖关系。如果存在已知的安全版本,我们将选择一个使用机器学习和公开可用的数据,并将其包含在我们的建议中。

在某些情况下,对于发现的每个漏洞,GitHub会尝试使用机器学习提供修复建议。针对易受攻击的依赖的安全警告包含一个安全级别和一个指向项目受影响文件的链接,如果有的话,它还会提供CVE记录的链接和修复建议。通用漏洞评分系统(CVSS)定义了四种可能的等级,分别是低、中、高和严重。

依赖图能够在项目拥有者使用存在漏洞的库时进行提醒,并通知项目的所有者,然后从GitHub获取修复建议。

目前 GitHub 追踪的漏洞是已分配 CVE
编号的漏洞,不过由于很多公开披露的缺陷并不具有该编号,因此 GitHub
公司将尝试警告这类不具备 CVE 编号的缺陷。GitHub
表示,随着安全数据的增加,公司会在识别漏洞方面做得更好。

澳门新葡萄京官网注册 1

“如今超过75%的GitHub项目存在依赖关系,除了帮助大家看到这些重要的项目,我们还要做更多的事。启用您的依赖关系图后,当我们检测到您的某个依赖关系中存在漏洞时我们现在会通知您,并且给出相应的修复建议。“GitHub介绍道。

这是使用世界上最大的开源数据集合的下一步,可以尽量帮助我们保持代码安全。依赖关系图和安全警报目前仅支持
JavaScript 和 Ruby,将在 2018 年提供 Python 支持。

据GitHub介绍,开始的时候,安全警告只会涵盖最新的漏洞,并在接下来的数周内添加更多Python历史漏洞。此外,GitHub永远不会公开披露任何库中发现的漏洞。

目前支持JavaScript和Ruby项目

特别声明:未经允许,禁止任何形式的转载!

依赖图列出了项目的所有依赖,用户可以从中看出安全警告影响的项目。要查看依赖图,在项目中点击Insights,然后点击Dependency
graph。

目前,依赖图支持package.json文件(用于JavaScript项目)和gemfiles(用于Ruby项目),并且预计明年将增加对Python的支持。

要在Python项目中使用依赖图,需要在requirements.txt或pipfile.lock文件中定义项目依赖。GitHub强烈建议用户在requirements.txt文件中定义依赖。

添加到依赖图的新安全功能是一个警报系统,当通过这些清单文件加载的从属库之一受到公开已知的漏洞的影响时,将警告用户。
下面的GIF显示了这些警报是如何工作的。

要了解更多信息,请查看GitHub文档。

依赖图也会发送电子邮件通知一个项目更新使用易受攻击的依赖项(库)或GitHub更新其数据库与新的漏洞的信息。

来源:raincent

GitHub产品总监Miju
Han表示,GitHub的工程师将首先使用CVE漏洞识别系统来跟踪已知的安全漏洞,但是他们也承诺发送已知安全研究人员未能获得CVE
ID号码的漏洞警报。

用户正在寻找一个(有些)类似的漏洞扫描程序,用于基于PHP
Composer的项目所使用的依赖关系图,可以使用Roave的SecurityAdvisories项目。

更多信息参考:https://help.github.com/articles/about-security-alerts-for-vulnerable-dependencies/

[ 此帖被正禾在2017-11-21 09:47重新编辑

原文链接