是否可以在.cs文件上运行Fortify扫描? 已经搜索过网和SF,但没有得到任何具体的答案。 项目结构与此https://pnppubsub.codeplex.com/SourceControl/latest
完全相同有些项目是便携式类库
答案 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。如果没有发生,数据流分析将受到显着影响。一般情况下,我告诉客户只有在无法使用构建进行扫描时才使用此选项。错误的余地很大。