C# 加强命令行的使用

C# 加强命令行的使用,c#,security,command-line,configuration,fortify,C#,Security,Command Line,Configuration,Fortify,有人使用命令行运行fortify吗? 我试图在我的CI构建中加入fortify run,但我不知道如何操作。如果您在帮助文本中没有看到相应的构建命令,请告诉我们。99%的真实世界调用都在那里 根据您试图构建的源代码的类型,可以使用几十种不同的命令行开关和技术 我建议您从获取SCA用户指南开始。这是一个PDF文档,您可以从为您提供Fortify安装程序的任何人那里获得。Fortify有一个静态代码分析器工具,sourceanalyzer。这个工具是基于命令行的,因此,应该是可以集成到CI系统中的工

有人使用命令行运行fortify吗?
我试图在我的CI构建中加入fortify run,但我不知道如何操作。

如果您在帮助文本中没有看到相应的构建命令,请告诉我们。99%的真实世界调用都在那里

根据您试图构建的源代码的类型,可以使用几十种不同的命令行开关和技术


我建议您从获取SCA用户指南开始。这是一个PDF文档,您可以从为您提供Fortify安装程序的任何人那里获得。

Fortify有一个静态代码分析器工具,sourceanalyzer。这个工具是基于命令行的,因此,应该是可以集成到CI系统中的工具

如上所述,您可以使用“帮助”选项或查看文档/用户指南(名为:HP Fortify Static Code Analyzer用户指南),该指南涵盖多种语言和选项

您可能需要考虑的是在CI场景中执行这种扫描的速度和资源利用率。您可能需要考虑在夜间或非高峰时段运行此操作。文档说明该工具使用了相当多的内存


您可能还必须弄清楚如何处理sourceanalyzer工具生成的输出fpr文件。例如,您可以在TeamCity中将其作为工件,并手动将其上载到Fortify服务器或与Fortify workbench产品一起使用。我想你也可以想象一下,自动上传到Fortify服务器。

典型扫描的命令如下所示

  • 使用
  • sourceanalyzer-b

  • 使用
  • sourceanalyzer-b-scan-f.fpr

  • (如果您使用的是360 server)上载结果以增强服务器的安全性
  • fortifyclient上传fpr-f.fpr-project-version-urlhttps://fortify.com/f360 -用户-密码//

    但是,我请求有关构建标签的帮助。当我们调用SCA时,我们可以为它分配一个构建标签。但是,我不确定要为命令提供哪些选项

    sourceanalyzer-b testid代码库-构建标签


    如果有人知道文件的格式,请务必告诉我。

    因为我无法添加评论,所以我必须提供此作为答案。我们公司已经将扫描过程集成到我们的TFS构建环境中,并且工作得非常好

    我们使用一系列“调用流程”构建活动来实现这一点。整个安全扫描序列包装在一个条件中,该条件作为构建定义的参数公开。这允许我们根据需要启用或禁用扫描。我们还公开了一些其他内容,如强化项目、强化项目版本,以及上传FPR文件的另一个条件

    其要点如下:

    清洁

    sourceanalyzer-b“构建ID”-清除

    构建

    sourceanalyzer-b“Build ID”devenv BuildID.sln/Rebuild Debug/out“C:\SSCLogs\SSCBuild.log”

    扫描

    sourceanalyzer-b“构建ID”-扫描-格式fpr-f构建ID.fpr

    上传至SSC

    fortifyclient.bat-url SSCServerUrl-authtoken XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXX上传fpr-file BuildID.fpr-project“MyProject”-版本“MyProject v1.0.0”


    如果你想要一个完整的概述和/或一些屏幕截图,我很乐意为你提供一些东西

    这里的答案非常好,我想补充一点,您可以在扫描时添加日志记录,这非常有帮助

    使用日志扫描


    sourceanalyzer-b“Build ID”-scan-format fpr-f BuildID.fpr-debug-verbose-logfile“C:\logfile.txt”

    在我的公司,我们创建了一个docker映像来管理CI过程中的强化命令

    基本上,我们开发了一个python脚本来帮助我们集中扫描,然后在GitlabCI的一个作业中调用这个图像docker

    正如大家所解释的,sourceanalyzer是进行扫描的工具,我们使用cloudscan工具连接SCC,下载扫描并检查分析状态

    我们还使用:

    • fortifyclient要上载到*.fpr文件
    • F合并*.fpr文件的正确性
    • ReportGenerator生成带有最终结果的pdf

    目前我们使用的是fortify 19.10。

    我想我已经从使用sourcecodeanalyzer-h命令行帮助入手。当您使用-build label时,您必须提供一个标签名称,因此在您的示例中:
    Sourceanalyzer-b testid codebase-build label MyLabel
    接下来,登录到fortify软件安全中心(SSC)服务器,双击您的项目版本,单击工件,单击任何分析结果,您应该可以看到结果的详细信息。在这些细节中,您将看到“构建标签”。