对于应用程序安全测试,我必须在 Veracode 和 FxCop 之间做出选择。显然 Veracode 是有代价的,而 FxCop 是免费的。
但是要知道 FxCop 的效率,我必须将我的结果与 veracode 提供的免费分析结果进行比较。这两个测试都是针对同一个 dll 运行的。
我如何知道哪一个是跨站点脚本错误或 FxCop 中的 CRLF 注入?有没有可用的指南?如果我在两者中都看到相同的错误,有什么方法可以破译?
任何帮助表示赞赏。
FxCop 并非专门针对安全测试。尽管它有一些检查特定安全问题的规则,但在这方面它远不如 VeraCode、Coverity 或 Fortify 先进。这并不是要取代它们,在这方面,它是为了提供基本的检查。
代码分析还检查其他方面,如本地化和全球化问题、内存泄漏和其他与安全无关的一般不好的事情。
您的基本解决方案至少应该在Visual Studio 中使用代码分析。是否要使用来自第三方供应商的额外安全检查取决于您。有许多可用的(开源)规则集可通过附加安全规则扩展代码分析。但是,这些不是 Visual Studio 附带的标准规则(并且已经很久没有更新了)。
要查看代码分析 (FxCop) 中内置了哪些类型的检查,请查看文档。您会看到不存在跨站点脚本警告,这是有道理的,因为您很可能在 HTML 和 Javascript 而不是主要在 C# 中犯此类错误。CodeAnalysis 和 FxCop 针对托管 .NET 代码中的问题,而不是客户端脚本或 HTML 中的问题。