
我们所有人都有集体责任,以确保开源软件的安全-我们谁也做不完。 今天在Github Universe,我们宣布了
Github安全实验室 。 安全研究人员可以与行业内的公司聚在一起,他们共享我们的信念,即开源安全对每个人都很重要。
我们很高兴有最初的合作伙伴为这一目标做出贡献。 我们共同提供工具,资源,奖励和数千小时的安全性研究,以帮助保护开源生态系统。
作为今天宣布的一部分,GitHub安全实验室让可能发现开源漏洞的任何人免费使用
CodeQL 。 CodeQL是全世界许多研究小组用来进行语义代码分析的工具,我们用它自己在一些流行的开源项目中发现了100多个已注册的CVE(常见漏洞和披露)。
我们还将启动
GitHub咨询数据库GitHub ,这是在GitHub上创建的可公开访问的推荐数据库,另外还有映射到GitHub依赖关系图跟踪的包的其他数据。
GitHub的安全性方法涵盖了开源项目的整个安全性生命周期。 GitHub安全实验室将帮助识别和报告开源项目中的漏洞,而维护人员和开发人员使用GitHub创建补丁,协调具有相关漏洞的依赖项目的披露和更新。

Github安全实验室
GitHub Security Lab的使命是激发并支持全球安全研究人员社区保护全世界的代码。 我们的团队将树立榜样,将持续不断的资源用于发现和报告关键开源项目中的漏洞。 Komadna已经发布了100多个用于漏洞检测的CVE。
保护全球开源项目并非易事。 首先,规模:一个JavaScript生态系统包含超过一百万个开源软件包。 另外,安全专家短缺,大约500名开发人员只有一名专家。 最后是协调:全球安全专家在数千家公司中工作。 GitHub安全实验室和CodeQL将对此提供帮助。
在这项工作中,我们与一些公司一道捐献了自己的时间和经验,以发现并报告开源项目中的漏洞。 每个人都承诺以自己的方式做出贡献,我们希望其他人将来也能加入我们。
- F5
- 谷歌
- 哈克龙
- 英特尔
- 主动
- 摩根大通
- 领英
- 微软公司
- Mozilla
- NCC小组
- 甲骨文
- 尾迹
- 优步
- 的VMware
为了扩展我们的功能,我们还使我们的协作CodeQL代码分析引擎免费用于开源项目。 CodeQL允许您像对待数据一样查询代码。 如果您知道导致漏洞的编码错误,则可以编写查询以查找此代码的所有变体,从而永久摧毁整个漏洞类别。 了解
如何开始使用CodeQL 。
如果您是安全研究人员或在安全团队中工作,我们需要您的帮助。 确保全球开源项目的安全需要整个社区的工作。 GitHub安全实验室将举办活动并分享最佳实践,以帮助所有人参与。 在Twitter上关注
GHSecurityLab以获得更多详细信息。
改善开源中的安全性工作流程
随着安全领域的研究人员发现越来越多的漏洞,伴随的用户和最终用户都需要更复杂的工具来修复它们。
如今,修复新漏洞的过程通常是暂时的。 声明时,开源项目中40%的新漏洞在CVE中都没有标识符,也就是说,它们不包含在任何公共数据库中。 在通知开发人员30天后,仍有70%的关键漏洞尚未解决。
我们正在解决它。 维护人员和开发人员现在可以直接在GitHub上一起工作,以确保只有在维护人员准备就绪时才披露新漏洞,并且开发人员可以快速轻松地升级到固定版本。
Github安全公告
借助安全提示,维护人员可以与安全研究人员一起研究私有空间中的修复程序,直接从GitHub申请CVE,并提供结构化漏洞信息。 然后,当他们准备发布安全建议时,GitHub将发送有关受影响项目的警报。

自动安全更新
通知易受攻击的依赖项很有用,但是获得带有修复程序的拉取请求甚至更好。 为了帮助开发人员快速响应新漏洞,GitHub创建了自动安全更新-拉取请求,该更新将易受攻击的依赖项更新为固定版本。

该系统的自动安全更新已在GitHub Satellite 2019上以beta版启动,现在大多数情况下可用并已针对启用了安全警报的每个活动存储库进行部署。
令牌扫描
最常见的错误之一是项目中令牌或凭证的硬编码。 在将提交发送到GitHub或将项目切换为公共项目后的几秒钟内,我们扫描了20种不同云提供商的格式。 找到匹配项后,我们会通知提供商,然后他们通常会通过取消令牌并通知受影响的用户来采取措施。 今天,我们宣布了四个新的合作伙伴:GoCardless,HashiCorp,Postman和腾讯。
Github咨询数据库
我们将维护者在GitHub安全性提示中创建的所有更改以及其他数据进行了更改,并映射到由GitHub依赖关系图监视的软件包,这些都是免费的。 在浏览器中浏览新的
GitHub顾问数据库,创建指向评论中带有CVE ID的帖子的直接链接,或使用
Security Advisory API端点以编程方式访问数据。
