# ScanPlatformTool **Repository Path**: eatfashdaddy/ScanPlatformTool ## Basic Information - **Project Name**: ScanPlatformTool - **Description**: 这是一个基于Fortify的静态代码扫描工具,支持Windows和Linux平台,主要功能包括增量扫描、全量扫描和报告生成。工具与GitLab集成,可以自动获取变更文件进行增量扫描,并生成详细的Excel格式报告。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-12 - **Last Updated**: 2025-06-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Fortify静态代码扫描工具 ## 项目简介 这是一个基于Fortify的静态代码扫描工具,支持Windows和Linux平台,主要功能包括增量扫描、全量扫描和报告生成。工具与GitLab集成,可以自动获取变更文件进行增量扫描,并生成详细的Excel格式报告。 ## 功能特性 - 支持增量扫描和全量扫描 - 自动生成Excel格式的扫描报告 - 支持漏洞分级显示(Critical/High/Medium/Low) - 提供白名单功能 - 与GitLab集成,自动获取变更文件 - 支持Windows和Linux平台 - 提供数据库存储扫描结果 ## 安装指南 ### 依赖安装 ```bash pip install -r requirements.txt ``` ### 依赖说明 - PyMySQL: MySQL数据库连接 - python-gitlab: GitLab API集成 - XlsxWriter: Excel报告生成 - python-jenkins: Jenkins集成(可选) - python-telegram-bot: 通知功能(可选) ## 配置说明 1. **数据库配置**:修改`config/sscconfig.ini`中的数据库连接信息 2. **GitLab配置**:修改`config/python-gitlab.cfg`中的GitLab访问信息 3. **扫描配置**: - Windows: `config/build_sca_local.properties`和`config/build_sca_local.xml` - Linux: `config/build_sca_local_linux.properties`和`config/build_sca_local_linux.xml` ## 使用说明 ### 基本用法 ```bash python main.py [options] ``` ### 常用选项 - `-p, --project`: 指定项目名称(必选) - `-b, --branch`: 指定分支名称(必选) - `-i, --incremental`: 增量扫描模式 - `-f, --full`: 全量扫描模式 - `-o, --output`: 报告输出路径(默认为当前目录) ### 示例 1. 增量扫描: ```bash python main.py -p my_project -b develop -i ``` 2. 全量扫描: ```bash python main.py -p my_project -b master -f ``` ## 报告格式说明 生成的Excel报告包含以下内容: 1. **汇总页**:按漏洞级别统计的数量和百分比 2. **详细页**:按漏洞级别分类的详细列表,包含: - 漏洞位置(文件路径、方法、行号) - 漏洞描述 - 修复建议 - 漏洞级别标记(不同颜色) ## 注意事项 1. 使用前需确保已正确安装Fortify SCA 2. 配置文件中的路径需根据实际环境修改 3. 增量扫描需要GitLab访问权限 4. 数据库需提前创建好相应的表结构 5. Windows和Linux平台需使用对应的配置文件 ![扫描工具原理图](config/代码扫描工具原理.png) ![avatar](https://github.com/heyingqin2017/ScanPlatformTool/blob/master/config/%E4%BB%A3%E7%A0%81%E6%89%AB%E6%8F%8F%E5%B7%A5%E5%85%B7%E5%8E%9F%E7%90%86.png)