在.cs文件上运行强化扫描

时间:2015-03-03 14:01:25

标签: c# .net fortify

是否可以在.cs文件上运行Fortify扫描? 已经搜索过网和SF,但没有得到任何具体的答案。 项目结构与此https://pnppubsub.codeplex.com/SourceControl/latest

完全相同

有些项目是便携式类库

2 个答案:

答案 0 :(得分:3)

这不是真的正确。 Fortify doe不需要编译代码以便它可以执行扫描。如果它们是在Debug配置中构建并且存在.pdb文件,它可以接受预编译的.Net程序集。

例如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文件夹以及Assemblies和.pdb文件的所有子文件夹。 -vsversion 11.0参数告诉Sourceanalyzer构建程序集的.Net框架是什么。

答案 1 :(得分:2)

不,Fortify需要编译步骤来扫描C#代码。使用Fortify扫描.NET应用程序的最简单方法是使用Visual Studio插件或从命令提示符运行:

sourceanalyzer -b mybuild devenv myproj.sln / REBUILD DEBUG

您还可以尝试将Fortify问题发布到https://protect724.hp.com的在线论坛。支持小组监督这些论坛。

更新: 我不能对詹姆斯·尼克斯上面的评论发表评论,因为我没有足够的声誉,但他所说的可行。编译确实发生(你有DLL),所以我的答案是正确的。我想评论詹姆斯没有解决的一个巨大警告是确保你拥有所有的代码。当您使用PDB文件扫描.NET DLL时,将只扫描您指向它的DLL。如果它是一个Web应用程序,则需要预编译ASPX文件以生成带有PDB的DLL。如果没有发生,数据流分析将受到显着影响。一般情况下,我告诉客户只有在无法使用构建进行扫描时才使用此选项。错误的余地很大。