Fortify三种扫描模式有什么区别?分别怎么用?

一、通过"Audit Workbench"进行测试

"Audit Workbench"支持Java语言源代码的测试。

二、通过"Scan Wizard"进行测试

"Scan Wizard"支持Java、Python、C/C++、.Net、Go、PHP、Flex、Action Script、HTML、XML、JavaScript、TypeScript、Kotlin、SQL、ABAP、ColdFusion语言或框架源代码的测试。

三、通过命令行进行测试

命令行方式支持各语言源代码的测试。

1、Linux项目测试

以Linux下C/C++程序代码测试为例:

1)代码编译

在代码测试执行前,首先需要进行C/C++程序代码的编译,如下面的示例:

gcc -I. -o hello.o -c helloworld.c

通过gcc编译器将代码进行编译。

2)代码测试

在代码编译后,使用sourceanalyzer命令进行代码文件测试。

sourceanalyzer -b <build_id> gcc -I. -o hello.o -c helloworld.c

3) 代码扫描结果文件生成

在代码测试后,使用sourceanalyzer命令进行代码文件扫描及结果文件生成。

sourceanalyzer -b <build_id> -scan -f hello.fpr

其中,本命令中的<build_id>与第2步命令中的<build_id>相同。成功生成结果文件后,可以基于该结果文件生成测试报告。

4)代码扫描结果文件生成

在代码测试后,使用 sourceanalyzer 命令进行代码文件扫描及结果文件生成。

2、iOS项目测试

(1)iOS项目测试条件

1) iOS项目需要使用non-fragile Objective-C runtime模式(ABI version 2或3)

2) 使用Apple "xcode-select command-line tool"设置Xcode path,同时供Fortify使用。

3) 确保项目相关依赖库文件已经包含在项目中。

4) 针对Swift代码,确保所有第三方模块都已经被包含,包括Cocoapods。

5) 如果项目中包含二进制的属性列表文件,需要将它们转化为XML格式,通过Xcode的putil命令进行转换。

6) 针对Objective-C项目,需要保证头文件能够被获取。

7) 针对WatchKit应用,需要同时转化iPhone应用和WatchKit扩展目标。

(2) iOS代码测试执行

sourceanalyzer -b <build_id> xcodebuild [<compiler_options>]

(谢绝转载,更多内容可查看我的主页)

相关推荐
我命由我1234541 分钟前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
武子康3 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
YuTaoShao5 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
源码_V_saaskw6 小时前
JAVA图文短视频交友+自营商城系统源码支持小程序+Android+IOS+H5
java·微信小程序·小程序·uni-app·音视频·交友
超浪的晨6 小时前
Java UDP 通信详解:从基础到实战,彻底掌握无连接网络编程
java·开发语言·后端·学习·个人开发
双力臂4047 小时前
Spring Boot 单元测试进阶:JUnit5 + Mock测试与切片测试实战及覆盖率报告生成
java·spring boot·后端·单元测试
Edingbrugh.南空7 小时前
Aerospike与Redis深度对比:从架构到性能的全方位解析
java·开发语言·spring
QQ_4376643147 小时前
C++11 右值引用 Lambda 表达式
java·开发语言·c++
永卿0017 小时前
设计模式-迭代器模式
java·设计模式·迭代器模式
誰能久伴不乏8 小时前
Linux如何执行系统调用及高效执行系统调用:深入浅出的解析
java·服务器·前端