Github 去年推出的安全警告,极大减少了开发人员消除 Ruby 和 JavaScript 项目漏洞的时间。安全警告服务现在只支持 Ruby 和 JavaScript,不过 Github 表示 2018 年计划支持 Python。
GitHub 安全警告服务,可以搜索依赖寻找已知漏洞然后通过开发者,以便帮助开发者尽可能快的打上补丁修复漏洞,消除有漏洞的依赖或者转到安全版本。
根据 Github 的说法,目前安全警告已经报告了 50 多万个库中的 400 多万个漏洞。在所有显示的警告中,有将近一半的在一周之内得到了响应,前7天的漏洞解决率大约为30%。实际上,情况可能更好,因为当把统计限制在最近有贡献的库时,也就是说过去90天中有贡献的库,98%的库在7天之内打上了补丁。
这个安全警报服务会扫描所有公共库,对于私有库,只扫描依赖图。每当发现有漏洞,库管理员都可以收到消息提示,其中还有漏洞级别及解决步骤提供。
GitHub 将会识别所有使用受影响依赖的公开项目,使用私有库的项目则需要选择加入才能使用安全警告服务。
当你启用你的依赖关系图后,检测到您的某个依赖关系中的漏洞,GitHub 会提醒你修复已知的程序漏洞。
如何使用安全警报
无论您的项目是私有还是公共,安全警报都会为团队中的人员提供重要的漏洞信息。
启用您的依赖关系图
公共存储库将自动启用依赖关系图和安全警报。对于私人存储库,您需要在存储库设置中选择安全警报,或者允许访问存储库“Insights”选项卡的“依赖关系”图表部分。
设置通知首选项
启用依赖关系图后,管理员将默认收到安全警报。管理员还可以在依赖关系图中,设置将团队或个人添加为安全警报的收件人。
回应警报
当 GitHub 检测出您潜在的漏洞时,GitHub将显示建议更新的依赖关系。如果存在已知的安全版本,我们将选择一个使用机器学习和公开可用的数据,并将其包含在我们的建议中。
漏洞覆盖
具有CVE ID的漏洞(来自国家漏洞数据库的公开披露的漏洞)将包含在安全警报中。但是,并非所有漏洞都具有CVE ID,甚至许多公开披露的漏洞也没有。随着安全数据的增长,我们将继续更好地识别漏洞。
这是使用世界上最大的开源数据收集的下一步,可以尽量帮助您保持代码安全。依赖关系图和安全警报目前支持JavaScript和Ruby,并在2018年提供Python支持。