强化命令行使用

时间:2010-10-13 15:12:07

标签: c# security command-line configuration fortify

有没有人用命令行来运行强化? 我试着在我的CI版本中加入强化运行,我不知道该怎么做。

6 个答案:

答案 0 :(得分:12)

由于我无法添加评论,我将不得不提供此答案。我们公司已将扫描流程集成到我们的TFS构建环境中,并且运行良好。

我们使用一系列“调用过程”构建活动来实现这一目标。整个安全扫描序列包含在条件中,该条件作为构建定义的参数公开。这允许我们根据需要启用或禁用扫描。我们还公开了一些其他的东西,比如Fortify Project,Fortify Project Version和另一个上传FPR文件的条件。

它的主旨是:

<强>清洁

sourceanalyzer -b "Build ID" -clean

<强>构建

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

<强>扫描

sourceanalyzer -b "Build ID" -scan -format fpr -f BuildID.fpr

上传到SSC

fortifyclient.bat -url SSCServerUrl -authtoken XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX uploadFPR -file BuildID.fpr -project "MyProject" -version "MyProject v1.0.0"

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

答案 1 :(得分:4)

典型扫描的命令看起来像这样。

  1. 使用
  2. 构建代码

    sourceanalyzer -b <build ID> <sourcecode>

    1. 使用
    2. 扫描构建

      sourceanalyzer -b <build ID> -scan -f <test>.fpr

      1. (如果您使用的是360服务器)将结果上传到强化服务器
      2. fortifyclient uploadFPR -f <test>.fpr -project <projectname> -version <versionname> -urlhttps://fortify.com/f360 -user <username> -password <password> /// <authtoken>

        但是,我请求构建标签的帮助。当我们调用SCA时,我们可以为其分配构建标签。但是我不确定为命令提供什么选项。

        sourceanalyzer -b testid codebase -build-label <option>

        如果有人知道该格式,请告诉我。

答案 2 :(得分:3)

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

如上所述,您可以使用帮助选项或查看文档/用户指南(名称:HP Fortify静态代码分析器用户指南),其中涵盖了多种语言和选项。

您可能需要考虑的一点是在CI方案中执行此类扫描的速度和资源利用率。您可能需要考虑在夜间或非高峰时段运行此操作。该文档指出该工具使用了相当数量的内存。

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

答案 3 :(得分:2)

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

根据您尝试构建的源代码类型,有许多不同的命令行开关和技术可供使用。

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

答案 4 :(得分:2)

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

使用记录进行扫描

sourceanalyzer -b&#34; Build ID&#34; -scan -format fpr -f BuildID.fpr -debug -verbose -logfile&#34; C:\ logfile.txt&#34;

答案 5 :(得分:1)

在我的公司,我们创建了一个 docker 镜像来管理 CI 过程中的 Fortify 命令。

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

正如这些人所解释的,sourceanalyzer 是执行扫描的工具,我们使用 cloudscan 工具与 SCC 连接并下载扫描并检查分析状态。

我们也使用:

  • fortifyclient 上传到 * .fpr 文件
  • FPRUtility 合并 * .fpr 文件
  • ReportGenerator 生成带有最终结果的 pdf。

目前我们使用 fortify 19.10。