如何在GitHub中获得即时Java Web安全漏洞警报


如果您正在构建Java web应用程序或Java web API,并且希望进行自己的安全测试,难道您不宁愿不运行扫描仪而永远等待充满所有误报的PDF报告吗?如果这些漏洞在GitHub问题中自动出现,那不是很好吗?

我们将使用一个名为对比社区版的工具来设置自动的和极其强大的安全测试,该工具使用了最新的IAST(交互式应用安全测试)技术。我的公司使CE免费和充分的力量为每个人,以带来极大的安全,所有开发人员在世界上没有买得起商业静态和动态扫描仪。

第一步是在https://www.contrastsecurity.com/ce。一旦你得到你的帐户,你要做的第一件事就是下载造影剂。这就像New Relic或AppDynamics一样工作。

下载contrast.jar后,可以使用标准-javaagent:contrast.jar工具标志将其添加到应用程序中。只需将此JVM标志添加到启动JVM的任何位置。

例如,对于Spring引导应用程序,您可能会像下面这样启动它们:

 java -javaagent:contrast.jar -jar spring-petclinic.jar

或者如果您无法理解,您可以尝试设置一个环境变量,如下所示:

 export JAVA_TOOL_OPTIONS="-javaagent:contrast.jar"

就是这样。现在每次运行应用程序时,Contract CE都会在后台做所有的安全性测试。您不必更改代码中的任何内容,也不必更改有关如何构建,测试或部署应用程序的任何内容。

接下来要做的是建立一个GitHub集成。在对比仪表板中,转到配置文件菜单(右上方)并找到组织设置。选择integrations选项,您可以设置与JIRA,Slack,Visual Studio,Eclipse等的集成。

要设置与GitHub问题的集成,我们所要做的就是使用https://api.github.com。测试连接时,可以选择适当的GitHub回购。您可以配置希望作为票证打开的漏洞的类型或严重程度,但我建议从所有内容开始。然后,保存您的配置,您就全部设置好了。

要进行安全性测试,您所要做的就是正常使用您的应用程序。您可以使用手动测试,单元测试,Selenium测试套件或其他自动化测试。您不必侵入应用程序;对比度在后台计算代码。所以它真的很容易使用,而且相当强大。在您稍微浏览了一下应用程序之后,回到GitHub并检查您的问题。稍后,您可以将其与Maven和Jenkins挂钩,以便在每次构建和测试时运行。

大多数项目只需浏览几分钟就会有一个新的安全问题列表。对比涵盖了广泛的安全漏洞,包括跨站点请求伪造,存储的跨站点脚本,Hibernate注入,硬编码密码以及OWASP前十大漏洞的其余部分。覆盖范围真的很惊人。

每个新的安全问题都包含修复它所需的所有细节,一直到确切的代码行,特定的SQL查询等等--您可以看到到底发生了什么。您还将获得很好的补救建议和完整的HTTP请求,以用作测试用例。您也可以在对比仪表板中看到这些问题。

这一切都有录像here。如果你有任何问题,你可以通过Twitter@planetlevel联系我。祝你好运!