我最近在 TeamCity 上花了很多时间,来自欺骗查找器、FxCop 和 NDepend 的每晚代码质量指标都很棒。
我真正想做的是找到一个不错的网络应用程序安全扫描程序,它可以针对自动部署的站点运行(我正在运行每晚构建并部署到测试环境)。如果那里有一个不错的工具,我也会考虑静态分析。唯一真正的先决条件是它必须能够在无人值守的情况下运行,并且应该以 HTML 格式输出报告,以便可以通过 TeamCity 显示。
有没有人有将扫描仪与构建服务器集成的经验或对符合标准的工具的建议?
我最近在 TeamCity 上花了很多时间,来自欺骗查找器、FxCop 和 NDepend 的每晚代码质量指标都很棒。
我真正想做的是找到一个不错的网络应用程序安全扫描程序,它可以针对自动部署的站点运行(我正在运行每晚构建并部署到测试环境)。如果那里有一个不错的工具,我也会考虑静态分析。唯一真正的先决条件是它必须能够在无人值守的情况下运行,并且应该以 HTML 格式输出报告,以便可以通过 TeamCity 显示。
有没有人有将扫描仪与构建服务器集成的经验或对符合标准的工具的建议?
也许您应该尝试一下 Netsparker:http : //www.mavitunasecurity.com/netsparker/。它具有自动扫描、报告生成、日志记录。提供 CLI。
特洛伊,
我看过你的工作,包括 Netsparker 与 TeamCity 的集成。我评论并提到 Burp Suite Professional 在无头模式下可能更合适,但这种方式的全自动测试只能发现一些错误。这是一个经典的测试自动化问题。
但是,如果您确实知道 HTTP 请求会产生不希望的(即易受攻击的)HTTP 响应,则可以使用 W3AF 的导出请求功能,该功能位于结果->KB 浏览器->[知识库特定项目下拉菜单的右下角下]->请求->[底部按钮]。这将打开一个新窗口,可以将 HTTP 请求转换为测试用例。测试用例以 HTML、Ajax、Python 和 Ruby 的形式提供。
根据您的构建服务器环境,如何集成这些脚本可能会有所不同。FitNesse 中提供的 HtmlFixture 非常适合 HTML 或 Ajax 请求脚本。在 Python 下,也许 Nose 是合适的;Ruby有黄瓜。
《Security on Rails》这本书有专门讨论这个主题的整章——并且在逻辑上将测试分为单元、功能、集成和浏览器。
OWASP 的 O2 项目在“API / 脚本开发”下有菜单选项,用于执行和编写单元测试。这些单元测试是用 WatiN 编写的,但是已经为测试开发人员完成了很多工作。
如果你想自己开发一些非常强大的东西,我建议你看看Geb,它结合了 WebDriver 的浏览器驱动功能(因此可以与 Internet Explorer、FireFox、Chrome 和 HTMLUnit 一起使用)和受 jQuery 启发的内容导航/检查API 和 Groovy 的表现力。
CAT.NET 是一个静态分析工具,您可以将其集成到构建服务器中。最新版本仍处于测试阶段,但您可以在此处找到有关它的更多信息。