我被要求在我们的开发过程中集成代码审核工具HP Fortify,但是它的主要限制是不应该每次扫描整个代码:只应该分析受上一个待办事项影响的类。
我们使用Jenkins和SonarQube,所以我看了一下可用的插件,但是找不到符合要求的东西:不要每次都扫描整个代码。
您知道有什么工具或HP配置可以满足我的需要吗?
发布于 2017-04-21 08:25:05
用那些工具是做不到的。我有同样的“问题”,因为你使用完全相同的工具。
无论如何,从安全的角度来看,这并不是一个问题。在我看来,只扫描代码的某些部分会导致您无法检测到某些错误。我以后再解释。另一个故事是显示在SonarQube上检测到的递增的新问题。这是可以做到的,我认为这是你真正需要的。
假设已经有增量漏洞扫描正在运行。可能您在类中有一个漏洞,因为尚未使用该类,因此无法检测到该漏洞。然后,另一次提交使用该类,安全漏洞可能会发生,但是如果您只通过提交进行增量扫描,您将永远不会发现该漏洞,因为您的扫描器将只扫描代码的这一部分,而不进入“已扫描的旧代码”。
我认为最好总是扫描所有代码,但只显示在SonarQube上检测到的新问题。
发布于 2017-04-21 10:08:01
正如其他人所提到的,Fortify和大多数扫描工具并不只是扫描所更改的文件的增量。他们扫描了整个代码库。
使用Fortify,它本质上是一个资源密集型工具。如果您的代码库是相当大的,您将需要一台强大的机器来快速切断它。我建议如下..。
假设您可以访问AWS或Azure,则可以旋转两个图像。一个是一个中等强度的图像,它将持有Fortify门户和报告.这个人可以熬夜24小时。其次,然后旋转另一个非常强的图像,这将是活跃的,只有在扫描。
为此,请在开始扫描之前使用Jenkins进行API调用,以旋转扫描机器映像。
如果它具有良好的计算能力,即使有大量的代码库,扫描也不会超过几个小时。
一旦扫描完成,它将把结果发送到主门户/报告服务器,您可以再次使用API调用关闭该实例。这是为了降低你的成本。
最后,我们要谈谈Fortify对Sonarqube的问题。我个人的看法是你应该两者兼用。在倾注了这两方面的结果之后,Fortify会发现更多与漏洞相关的项目。Sonarqube提供了更多与语法/逻辑相关的问题,其中包含了一些漏洞。
以我的经验,他们互相恭维。
希望这有帮助,如果你有进一步的问题,给我一个下午或问它在这里。
祝好运!
https://security.stackexchange.com/questions/157579
复制相似问题