引言
当您开始在GitHub上创建存储库时,您应该考虑的第一件事是安全性。
如果您正在创建自己的GitHub存储库或经常为该存储库做出贡献,则需要知道您的代码是否包含任何漏洞。 过去,存储库中的漏洞引起了安全问题。 近来最大的两个数据泄露事件(
Equifax和
Heartbleed SSL Exploit )始于漏洞,并带有将来可能使用的相应开源组件。
在本文中,我们将研究并分析四个单独的工具,您可以使用这些工具来识别GitHub存储库中的漏洞。 这四个工具中的每一个都有其自身的超能力,但每个都有其弱点。 本文将帮助您为开源项目选择正确的工具。

本文是在EDISON Software的支持下进行翻译的,EDISON Software 为初级学生以及设计软件 提供实用建议 , 并用俄语和英语编写TK 。

GuardRails是
GitHub市场上提供的免费增值安全应用程序。 GuardRails可以提供静态代码分析以及识别易受攻击的依赖项。 他使用漏洞将注释写入请求池。
应用程序本身将实时扫描用户代码中的新条目,这使用户可以在出现漏洞后立即立即采取措施消除漏洞。 这有助于保护存储库和代码免受入侵者的侵害。 关于请求池,GuardRails会在检测到安全问题时为每个请求写注释,并且通过分支,该信息将显示在GuardRails仪表板上。
GuardRails服务的指导原则是其全面,快速的设置,用户可以在几分钟内将GuardRails与所有存储库集成。 您还可以将GuardRails与Slack集成在一起,以便更有效地通知您。
GuardRails当前支持Python,Ruby,JavaScript,Solidity,Go,Java和PHP。

WhiteSource Bolt帮助GitHub用户创建对其存储库的扫描,使他们能够识别代码中可能出现的开源漏洞。 它由WhiteSource提供,WhiteSource是开放源代码领域的安全,许可和报告领域的专家。 他们自2011年以来一直在市场上运营,可以依靠超过210万名不同的开发人员的帮助。
他们的服务以这样的方式工作:每次执行推送操作时,Bolt都会开始扫描您的存储库,然后为每个检测到的漏洞创建一个问题。 它还将为现有开源代码组件发现的新漏洞带来问题。 此外,它可以通过自动取消包含漏洞的请求池来防止易受攻击的组件输入代码。
Bolt还为其用户提供了访问其自己的WhiteSource漏洞数据库的权限,该数据库范围广泛并且被许多人认为是最昂贵的开源安全市场。 您将收到有关检测到的任何漏洞的一些信息,包括CVE和CVSS数据,建议的修复程序,易受攻击组件的路径以及帮助链接。
Bolt当前支持200多种不同的程序,包括Java,Python,PHP,C#,C ++等。

LGTM是一个免费的开源项目应用程序,可以帮助用户检测代码中的潜在漏洞,并从一开始就防止它们发生。 特别是,LGTM使用安全研究团队收集的数据,该数据专注于发现零日漏洞。 LGTM服务使700,000多个开发人员和135,000多个开源项目受益,并且这种经验水平证明了他们的服务质量。 LGTM GitHub应用程序可在GitHub市场上使用。
在存储库中工作时,LGTM可以自动扫描您的代码,检查可能出现的漏洞和CVE。 感谢经验丰富的LGTM开发人员和研究人员组成的庞大社区,您了解他们提供的服务可以极大地提高存储库的安全性。 与维护查询日志相比,这甚至更容易,并且可以使用它在输入代码库之前检测到潜在的漏洞。
LGTM当前具有大量受支持的编程语言,其支持范围扩展到C,C ++。 COBOL,Python,Javascript和Java。

GitHub Security Alerts是一项免费服务,提供给具有依赖项的GitHub存储库的所有者和成员。 使用他们自己的依存关系图,用户将能够查看他们的依存关系中何时存在漏洞,并将为用户提供修复这些漏洞的建议。
当GitHub通知您潜在的漏洞时,您将收到一个更新,其中GitHub将建议您哪些依赖项需要更新。 如果存在已知的依赖关系安全版本,则GitHub将使用机器学习为您选择一个依赖关系,并将其包含在建议中。
当涉及到每个漏洞的信息时,GitHub会告诉您它影响哪个漏洞,它影响的版本范围,CVE ID以及漏洞数据库中包含的任何建议的修复程序。
该服务当前支持JavaScript,Ruby和Python。

另请阅读博客
EDISON公司:
20个图书馆
壮观的iOS应用程序