在.cs文件上运行Fortify扫描

3
2个回答

3
这并不完全正确。Fortify并不需要编译代码才能执行扫描。如果已经以Debug配置构建了 .Net程序集,并且有 .pdb 文件,它也可以接受预编译的程序集。
例如,一个VS2012项目(典型的VS文件夹结构):
MyProject\MyProject\bin\Debug\MyProject.dll
MyProject\MyProject\bin\Debug\MyProject.pdb
MyProject\MyProject\MyProject.csproj
MyProject\MyProject\MyProject.cs
MyProject\MyProject.sln

您的翻译步骤命令可能是这样的:

sourceanalyzer -b MyProjectScan -vsversion 11.0 MyProject

Sourceanalyzer将查看MyProject文件夹及其所有子文件夹中的程序集和.pdb文件。 -vsversion 11.0参数告诉Sourceanalyzer使用哪个.NET框架构建程序集。


2
不,Fortify需要编译步骤来扫描C#代码。使用Fortify扫描.NET应用程序的最简单方法是使用Visual Studio插件或从命令提示符运行:
sourceanalyzer -b mybuild devenv myproj.sln /REBUILD DEBUG
你也可以尝试在https://protect724.hp.com的在线论坛上发布Fortify问题。支持小组会监视这些论坛。
更新: 我无法对詹姆斯·尼克斯上面的评论发表评论,因为我的声望不够高,但他所说的确实可行。已经进行了编译(你有DLL),所以我的回答是正确的。我想评论一个巨大的警告,詹姆斯没有提到,那就是确保你拥有所有的代码。当你用PDB文件扫描.NET DLL时,只有你指向的DLL会被扫描。如果它是一个Web应用程序,ASPX文件需要预编译以产生带有PDB的DLL。如果这样做,数据流分析将受到显着影响。一般来说,我告诉客户只有在无法使用构建进行扫描时才使用此选项。存在很多错误的空间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接