ptkvaibhav/burp-fortify-ssc-parser-plugin
GitHub: ptkvaibhav/burp-fortify-ssc-parser-plugin
一个 Fortify SSC 插件,用于解析和可视化 Burp Suite XML 扫描结果,实现 DAST 漏洞的集中管理。
Stars: 3 | Forks: 0
## 📖 概述
Fortify SSC 依赖外部插件来支持第三方安全工具。本插件实现了最新的 Fortify 插件 SPI(v1.2.2320.0),在 Burp Suite 的动态分析导出与 Fortify 的集中漏洞管理之间搭建桥梁。
### ✨ 主要功能
- **确定性 ID 生成**:通过对问题名称、主机、路径和位置进行 MD5 哈希,确保漏洞 ID 在后续扫描中保持稳定,防止重复。
- **丰富的属性映射**:自定义属性确保 Burp 特有数据(如置信度、问题背景、修复细节)在 SSC 中完全可见。
- **自定义视图模板**:包含一个量身定制的 UI 模板(`viewtemplate/ViewTemplate.json`),可在 SSC 界面中清晰地组织问题详情。
- **灵活的报告支持**:既能解析标准格式的 `Saved Items` XML,也能解析更新的 `Burp Reports`(`
`)XML 结构,完整支持 CDATA 和复杂标签。
- **隔离的依赖关系**:利用 Gradle Shadow 将内部库(如 Jackson)重定位,确保在 Fortify 环境中无类加载器冲突。
- **企业级 CI/CD**:集成了完整的 GitHub Actions 工作流,支持自动化测试、CodeQL 安全扫描、代码风格检查(Checkstyle)以及构建打包。
## 🚀 快速开始
### 前置条件
- **Java:** JDK 17
- **构建工具:** Gradle 9.4.1
- **Fortify SSC:** 19.x 或更高版本(已在现代版本上充分测试并兼容)
- **Burp Suite:** 具备导出 XML 的能力
### 构建插件
本项目使用 Gradle Shadow 插件创建 Fortify 所需的“Fat JAR”。
```
# 克隆仓库
git clone https://github.com/ptkvaibhav/burp-fortify-ssc-parser-plugin.git
cd burp-fortify-ssc-parser-plugin
# 构建 Fat JAR
./gradlew clean build shadowJar
```
生成的部署工件位于:
`build/libs/burp-fortify-ssc-parser-plugin-2.0.0.jar`
## ⚙️ 安装与使用
### 1. 安装到 Fortify SSC
1. 以管理员身份登录你的 Fortify SSC 实例。
2. 导航至 **管理 > 插件 > 解析器**。
3. 点击 **添加** 并上传 `burp-fortify-ssc-parser-plugin-2.0.0.jar` 文件。
4. **重要:** 上传后,在列表中找到“Burp Suite Parser Plugin”并点击 **启用**。
### 2. 上传扫描结果
Fortify SSC 要求上传的工件指定引擎类型。
1. 将你的 Burp Suite 扫描结果导出为 **XML 格式**(例如 `burp-results.xml`)。
2. 在与 XML 文件相同的目录中创建一个纯文本文件 `scan.info`。
3. 在 `scan.info` 中添加以下确切内容:
engineType=BURP
4. 创建一个 ZIP 压缩包(例如 `results.zip`),其中包含 `burp-results.xml` 和 `scan.info`。
5. 将 `results.zip` 上传到 Fortify SSC 中你选择的应用程序版本。
## 🛠️ 开发与架构
- **`BurpParserPlugin.java`**:实现 `ParserPlugin` 的主入口点。负责通用扫描映射、稳健的截断、重复预防和迭代。
- **`BurpItems.java` / `BurpItem.java`**:代表 Burp 导出结构的 Jackson XML 数据模型。
- **`BurpVulnerabilityAttribute.java`**:枚举,定义在 SSC UI 中呈现的自定义字段。
### 代码质量
本项目强制执行严格的代码质量标准:
- **代码风格检查:** 运行 `./gradlew checkstyleMain` 确保代码符合格式要求。
- **测试:** 运行 `./gradlew test` 执行全面的 JUnit 5 和 Mockito 测试套件,验证边界情况、重复处理和 CDATA 解析。
## 🛡️ 安全
安全是重中之重。关于支持的版本、如何报告漏洞以及我们的内部检查(CodeQL、Dependabot),请参阅我们的[安全政策](SECURITY.md)。
## 📄 许可证
本项目采用 MIT 许可证 - 详情请参见 [LICENSE](LICENSE) 文件。
## 💬 支持
如果需要帮助或有疑问,请查看我们的[支持指南](SUPPORT.md)。标签:Burp Suite, DevSecOps, Fortify SSC, GPT, JS文件枚举, MD5哈希, MIT许可, Mutation, SPI, XML解析, 上游代理, 企业级安全, 去重, 可视化, 后台面板检测, 域名枚举, 开源, 扫描结果导入, 插件, 漏洞管理, 解析