【Code With SOLO】用 SOLO 从零搭建一款支持 11 款扫描器的渗透测试报告自动生成桌面应用

1. 摘要

作为一名安全从业者,每次渗透测试后撰写报告都要耗费大量时间整理漏洞数据、截图、评级。我用 SOLO 从零搭建了一款安全报告自动生成器——导入扫描器报告后一键生成专业级安全报告,支持 11 款主流扫描器、14 种导出格式、3 套报告模板,并打包为跨平台桌面应用。

2. 背景

我是一名安全服务工程师,日常工作中需要使用 AWVS、Burp Suite、Nessus、XRay 等多款扫描工具,每轮测试结束后需要手动整理各工具的扫描结果,逐一评定漏洞等级、编写修复建议、排版报告。一份完整的渗透测试报告通常需要 4-6 小时,其中大量时间花在重复性的数据搬运和格式调整上。

我希望有一款工具能:自动解析各扫描器的原始报告 → 统一管理漏洞数据 → 一键生成格式规范的安全报告。

3. 实践过程

任务拆解

我将整个项目拆解为以下阶段,逐步交给 SOLO 实现:

  1. 基础框架搭建 — Flask 后端 + SQLite 数据库 + 前端页面骨架

  2. 扫描器解析器 — 逐个实现 11 款扫描器的报告解析

  3. 报告生成引擎 — 实现 Word/PDF/Excel/HTML 等 14 种格式导出

  4. 漏洞管理功能 — CRUD、CVSS 评分、去重、翻译

  5. 桌面应用封装 — Electron 壳 + 系统托盘 + 自动更新

  6. 体验打磨 — 登录认证、日志系统、代理支持、Bug 修复

使用 SOLO 的能力

能力 用途
多文件代码生成 一次性生成 11 个扫描器解析器、12 个报告生成器
代码审查与 Bug 修复 全量扫描代码逻辑,发现并修复 10+ 个 Bug(变量未定义、临时文件泄漏、焦点丢失等)
跨文件重构 统一登录弹窗入口、重构报告保存流程、增强日志系统
技术选型 确定报告生成方案(python-docx/openpyxl/weasyprint)、翻译方案(离线字典+在线 API)
文档编写 补充完善 1300+ 行的 README 使用说明

关键 Prompt 示例

“检测程序的每个代码逻辑,修复所有的 bug 和报错”

SOLO 启动了 3 个并行子任务,分别审查 Electron 主进程、前端页面、Python 后端,最终输出了一份包含 20+ 个问题的审查报告,按严重程度排序,并一次性全部修复。

“在漏洞管理页面点击一键翻译功能显示:翻译请求失败”

SOLO 定位到 translators 库未安装,安装后自动编写测试脚本验证离线翻译和在线翻译 API 均正常工作。

踩过的坑

  • Electron 焦点问题:登录弹窗在 401 拦截中弹出时密码框无法输入,需要 Alt+Tab 切换才能恢复。最终通过统一登录入口(handleAuthAction)+ 宏任务延迟调用的方式解决

  • SPA 页面切换:滚动提示条的 setTimeout 在页面切换后丢失,改用 sessionStorage + 全局 setInterval 解决

  • 报告保存路径:Electron 桌面版需要弹窗让用户选择保存路径,而不是自动保存到固定目录

  • 临时文件泄漏tempfile.mkdtemp() 在异常路径下未清理,用 try/finally 包裹解决

4. 成果展示

项目地址

GitHub 仓库:sec-report-generator(MIT 开源协议)

核心功能

支持的 11 款扫描器: AWVS、Burp Suite、Nessus、Nmap、XRay、ZAP、Nuclei、SQLMap、安恒、绿盟、启明星辰

14 种导出格式: Word(.docx)、PDF、Excel(.xlsx)、HTML、Markdown、JSON、XML、CSV、TXT、Jira、DefectDojo 等

3 套报告模板:

  • 企业合规版 — 完整合规检查项和风险评级

  • 渗透实战版 — 突出漏洞利用路径和攻击链

  • 简洁摘要版 — 适合管理层快速审阅

其他特性:

  • CVSS v3.1 自动评分

  • 离线术语字典 + 在线 API 翻译(搜狗/百度/Google 等)

  • 漏洞去重、批量管理

  • Webhook 通知(企业微信/钉钉/飞书/Slack)

  • 跨平台桌面应用(Windows/macOS/Linux)

  • 系统托盘、自动更新、文件拖拽导入

技术栈

Plain Text

后端:Flask + SQLite + python-docx + openpyxl + weasyprint
前端:Tailwind CSS + 原生 JavaScript(SPA)
桌面:Electron 28 + electron-builder

5. 效果与总结

提效效果:

  • 报告撰写时间从 4-6 小时缩短到 30 分钟以内

  • 扫描结果导入 → 报告生成全流程自动化

  • 漏洞评级、翻译、去重一键完成

SOLO 在项目中的角色:

  • 从零搭建了整个项目(后端 6 个路由模块 + 11 个解析器 + 12 个生成器 + Electron 桌面壳)

  • 全程代码审查和 Bug 修复,保证了代码质量

  • 跨文件重构能力让架构调整变得轻松

可复用的方法:

  1. 分阶段交付:先搭骨架、再填充功能、最后打磨体验,每个阶段都可以独立验证

  2. 并行审查:让 SOLO 同时审查前端/后端/桌面端,快速发现跨层问题

  3. 描述现象而非方案:报 Bug 时描述具体现象(“密码框需要 Alt+Tab 才能输入”),让 SOLO 自行定位根因

项目仓库地址:Release 安全报告自动生成工具 · GGbong00/sec-report-gen