1、支持UI进行人工判定。2、人工分析要支持代码跳转。3、支持自定义分析规则(进阶)。
1、部分情况下通过UI扫描会报错,大部分是RPC调用的问题。2、通过UI扫描无法准确把握分析进度,即使程序错误。
1. 编译项目src -> 得到NST2. 分析项目NST -> 得到fpr文件3. 审计项目Fpr -> Fortify UI 打开.fpr
1、编译项目
sourceanalyzer.exe -debug -verbose -Xmx10G -encoding UTF-8 -b demoapp C:demo_app
1、或只编译php文件后缀
sourceanalyzer.exe -debug -verbose -Xmx10G -encoding UTF-8 -b demoapp C:demo_app***.php
2、分析漏洞
sourceanalyzer.exe -debug -verbose -Xmx10G -encoding UTF-8 -b demoapp -scan -f demoapp.fpr
审计JAVA可以参考命令:
第42篇:Fortify代码审计命令行下的使用与调用方法https://mp.weixin.qq.com/s/FEnal9ZkIEJOXLcmX0WXgQ
Fortify 静态代码分析器 CE 24.4.0.0114版权所有 © 2003-2024 Open Text用法:清理:sourceanalyzer.exe -b <构建标识> -clean构建:sourceanalyzer.exe -b <构建标识> <sca-构建选项>扫描:sourceanalyzer.exe -b <构建标识> -scan <sca-扫描选项>详细调用方式:构建:sourceanalyzer.exe -b <构建标识>[ <sca-构建选项> ]<文件指定符>sourceanalyzer.exe -b <构建标识>[ <sca-构建选项> ]<编译器> <编译器选项>sourceanalyzer.exe -b <构建标识>[ <sca-构建选项> ]无接触模式 <构建工具> [ <构建工具选项> ]sourceanalyzer.exe -b <构建标识>[ <sca-构建选项> ]devenv <解决方案文件> /REBUILDsourceanalyzer.exe -b <构建标识>[ <sca-构建选项> ]msbuild /t:rebuild <解决方案或项目文件>sourceanalyzer.exe -b <构建标识>[ <sca-构建选项> ]xcodebuild -project <xcodeproj文件>sourceanalyzer.exe -b mybuild-source-base-dir <Web应用程序根目录> <cfm文件指定符>扫描:sourceanalyzer.exe -b <构建标识> -scan[ -f <输出文件> ][ -scan-precision <级别> ][ -rules <rules.xml> [ -no-default-rules ] ][ -filter <过滤文件> ]清理:sourceanalyzer.exe -b <构建标识> -clean查询:sourceanalyzer.exe -b <构建标识> { -show-build-warnings | -show-files }sourceanalyzer.exe { -version | -show-build-ids }sourceanalyzer.exe { -h | -? | -help }通用选项这些选项适用于所有 sourceanalyzer.exe 的调用。@<文件> 从指定的文件中读取命令行选项。注意文件参数前没有空格。-debug 使构建步骤向日志文件写入额外的故障排除信息。如果 Fortify 客户支持要求,请使用此选项。另请参阅 -logfile。-logfile <文件> 指定日志文件的目标路径。-verbose 将详细消息输出到控制台。-Xmx<num>M 指定最大 Java 堆内存大小。默认值为 -Xmx1800M。-autoheap 指示 SCA 根据可用的物理内存自动设置最大 Java 堆内存大小。可以替代 -Xmx 使用,默认已启用。-fcontainer 在 Docker 容器中运行时,指示 SCA 检测并仅使用分配给容器的内存。-version 显示 sourceanalyzer.exe 的版本信息。命令选项注意:每次调用仅允许使用一个“命令”选项。-h 显示此帮助文本。-help-?-clean 删除所有中间文件和构建记录。如果同时通过 -b 指定了构建 ID,则仅删除与该构建 ID 相关的文件和构建记录。-show-binaries 请参阅《Fortify SCA 用户指南》。-show-build-tree 请参阅《Fortify SCA 用户指南》。-show-build-ids 列出所有的 Fortify 构建 ID(分析模型)。-show-build-warnings 显示在构建 ID(由 -b 指定)的翻译阶段发生的可操作警告。-show-files 显示构建到由 -b 指定的模型中的所有源文件。-show-loc 显示为构建到由 -b 指定的模型中的文件所处理的代码行数。-scan 使 sourceanalyzer.exe 执行分析。(无) 如果未指定任何命令选项,则假定执行构建步骤。构建选项“构建”选项将源代码翻译为 Fortify 分析模型。-b <构建标识> 指定一个唯一名称,用于标识要构建的 Fortify 分析模型。另请参阅 -scan。-build-label <标签> 向 Fortify 分析模型指定一个可选的任意字符串值。该值将包含在输出文件中。-build-project <项目> 向 Fortify 分析模型指定一个可选的任意字符串值。该值将包含在输出文件中。-build-version <版本> 向 Fortify 分析模型指定一个可选的任意字符串值。该值将包含在输出文件中。-encoding <编码名称> 指定源文件的编码。默认值为平台默认编码。编译器集成构建选项这些选项在将 Fortify SCA 与编译器集成时使用。<编译器> <编译器选项> 指定编译器命令行。正在编译的文件将被添加到分析模型中,并且编译器将会被调用。touchless <构建工具> 指定一个构建工具命令。构建工具将会被调用,任何正在编译的文件都将被添加到分析模型中。[ <构建工具选项> ]-nc 指定此选项时,编译器不会被调用。文件指定构建选项这些选项用于直接将源文件传递给 Fortify SCA。<文件指定符> 表示文件或一组文件的表达式,可选地匹配模式:file1.java - 一个文件file*.java - 匹配表达式的文件"path/**/*.java" - 递归表达式匹配。注意:始终用引号括起包含 ** 的表达式。-exclude <文件指定符> 从需要翻译的文件集中排除与 <文件指定符> 匹配的任何文件。Java 专用构建选项这些选项应与文件指定选项一起使用。-classpath <类路径> 为 Java 构建使用指定的类路径值。-cp <类路径> 同上,简写形式。-extdirs 接受以冒号或分号分隔的目录列表。在这些目录中找到的所有 JAR 文件都将包含在类路径中。等同于 javac 的 -extdirs 选项。-sourcepath 指定源文件的位置,这些文件不会被包含在扫描中,但将用于名称解析。等同于 javac 的 -sourcepath 选项。sourcepath 类似于 classpath,但它使用源文件而不是类文件进行解析。-source <值> 指定 Java 代码遵循的 Java 语言版本。有效值为 1.8、8、11、17 和 21。默认值为 "11"。-jdk <值> 同上,简写形式。-java-build-dir <目录> 用于指定一个或多个 Java 源文件正在编译到的目录。也可以在扫描时指定。其他语言专用构建选项-source-base-dir <根目录> ColdFusion 应用程序的基目录。-python-path 为 Python 应用程序添加导入目录。-apex 将 ".cls" 文件扩展名设置为 Apex 语言(默认情况下基于文件内容检测)。等同于 -Dcom.fortify.sca.fileextensions.cls=APEX。-apex-sobject-path 添加文件以加载 Apex 应用程序中的 SObject 类型。扫描选项-b <构建标识> 指定构建 ID。构建 ID 用于跟踪哪些文件在构建过程中被编译和链接,以便稍后扫描这些文件。此选项可以指定多次,以在同一扫描中包含多个构建 ID。-bin <二进制文件> 所有编译并链接到指定二进制文件中的源文件都将被扫描。可以指定多个二进制文件。-disable-default-rule-type 请参阅《Fortify SCA 用户指南》。-f <文件> 写入分析结果的文件。默认值为标准输出(stdout)。-filter<文件> 指定一个过滤文件。更多信息,请参阅《Fortify SCA 用户指南》。-scan-policy <策略。有效值为 classic、security 和 devops。默认值为 security。更多信息,请参阅《Fortify 静态代码分析器用户指南》。-java-build-dir <目录> 用于指定一个或多个 Java 源文件已编译到的目录。也可以在构建时指定。-no-default-issue-rules 请参阅《Fortify SCA 用户指南》。-no-default-sink-rules 请参阅《Fortify SCA 用户指南》。-no-default-source-rules 请参阅《Fortify SCA 用户指南》。-no-default-rules 指示 Fortify SCA 不使用其默认规则。必须与 -rules 一起使用。-rules <指定符> 指定自定义规则文件或目录。如果指定的是目录,则所有以 .bin 或 .xml 结尾的文件都将被包含。此选项可以使用多次。-quick 运行快速扫描。快速扫描速度更快,但准确性较低。-scan-precision <级别> 使用特定于级别的配置属性来配置扫描的深度、精度和速度。-p <级别> 有效值为 1、2、3 和 4。-quiet 禁用命令行进度条。-scan 使 Fortify SCA 对模型执行分析。模型必须通过 -b 指定。构建会话-export-build-session <file.mbs>将通过 -b 指定的已翻译模型存储到指定的文件中。-import-build-session <file.mbs>将指定的文件加载到构建模型中。如果模型的构建 ID 已存在于模型注册表中,则导入将失败,并显示该 ID 的构建已存在的消息。示例用法ColdFusion 翻译:sourceanalyzer.exe -b mybuild -source-base-dir /www/app "/www/app/**/*.cfm"SQL 翻译:sourceanalyzer.exe -b mybuild -Dcom.fortify.sca.fileextensions.sql=PLSQL *.sqlsourceanalyzer.exe -b mybuild -Dcom.fortify.sca.fileextensions.sql=TSQL *.sqlC/C++ 构建:sourceanalyzer.exe -b mybuild gcc -c test.csourceanalyzer.exe -b mybuild CL.EXE /o HelloWorld HelloWorld.csourceanalyzer.exe -b mybuild makesourceanalyzer.exe -b mybuild devenv myproject.msproj /REBUILDObjective-C/C++ 构建:sourceanalyzer.exe -b mybuild clang -ObjC HelloWorld.msourceanalyzer.exe -b mybuild xcodebuild -project myproject.xcodeproj.NET 构建:sourceanalyzer.exe -b mybuild devenv myproj.sln /REBUILDsourceanalyzer.exe -b mybuild msbuild /t:rebuild myproj.csprojJava 专用构建:sourceanalyzer.exe -b mybuild -cp lib/dependency.jar "src/**/*.java"sourceanalyzer.exe -b mybuild -cp mytaglibs.jar webapp/*.jspsourceanalyzer.exe -b mybuild touchless antJ2EE 专用构建:sourceanalyzer.exe -b mybuild -cp "app/WEB-INF/lib/*.jar" app/*.jsp扫描步骤:sourceanalyzer.exe -b mybuild -scan -f results.fpr其他信息每个 SCA 选项的完整解释,请参阅《Fortify SCA 用户指南》。您可以使用我们的客户支持系统为 Fortify 产品在线提交支持请求。此简化的流程旨在提供更便捷的访问和更高的客户满意度。登录您的账户:https://softwaresupport.softwaregrp.com/
END
如您有任何投稿、问题、需求、建议
请NOVASEC公众号后台留言!
或添加 NOVASEC 联系人
感谢您对我们的支持、点赞和关注
加入我们与萌新一起成长吧!
本团队任何技术及文件仅用于学习分享,请勿用于任何违法活动,感谢大家的支持!!
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……




还没有评论,来说两句吧...