Cerberus 旨在成为一个全面的自动化安全测试平台。它不仅仅是一个简单的扫描工具,而是一个可扩展的框架,能够支持从网络层到应用层的全方位安全测试。
- 高性能: 利用 C++ 核心处理计算密集型任务(如端口扫描、流量分析)。
- 易扩展: 通过 Python 提供灵活的插件系统,允许用户快速编写自定义测试脚本。
- 全覆盖: 涵盖信息收集、漏洞扫描、漏洞利用验证等渗透测试全流程。
- 安全研究人员: 需要灵活的工具来验证新的漏洞利用技术。
- 渗透测试工程师: 需要高效、自动化的工具来执行常规评估任务。
- 学生/教育工作者: 代码结构清晰,适合作为学习网络安全和工具开发的教材。
基于项目现状和目标,我们制定了以下分阶段开发计划:
目标: 构建稳固的混合架构核心,实现基础扫描功能。
- 核心引擎优化
- 完善 C++ 线程池和任务调度器。
- 优化 Python 与 C++ 的数据交换效率 (PyBind11)。
- 基础网络扫描模块
- 实现高性能 TCP/UDP 端口扫描 (C++ 实现)。
- 实现服务指纹识别 (Service Banner Grabbing)。
- 插件系统原型
- 设计 Python 插件接口 (BasePlugin 类)。
- 实现插件加载与生命周期管理。
- 命令行界面 (CLI) 增强
- 支持复杂的参数解析和配置文件加载。
- 优化输出格式 (支持 JSON/HTML 报告导出)。
目标: 扩展应用层测试能力,特别是 Web 安全领域。
- Web 爬虫与分析
- 实现多线程 Web 爬虫。
- 链接提取与表单解析。
- Web 漏洞扫描插件
- SQL 注入检测插件。
- XSS (跨站脚本) 检测插件。
- 敏感文件/目录扫描。
- POC 框架集成
- 建立 POC (概念验证) 库结构。
- 支持导入现有的 POC 格式 (如 YAML 定义)。
目标: 提升用户体验,向"平台"转型。
- Web UI / Dashboard
- 开发基于 Web 的管理界面 (可选框架: FastAPI + React/Vue)。
- 实时展示扫描进度和结果可视化。
- 报告与协作
- 生成符合合规要求的详细渗透测试报告 (PDF/Docx)。
- 扫描历史记录与趋势分析。
- API 接口
- 开放 RESTful API,允许与其他安全工具集成 (如 CI/CD 流水线)。
- Python (3.13+): 负责业务逻辑、插件系统、CLI/Web 接口、报告生成。
- 理由: 生态丰富,开发效率高,适合快速迭代和编写 POC。
- C++ (17/20): 负责底层网络包处理、高并发扫描、协议解析。
- 理由: 极致的性能和对底层系统资源的控制能力。
- 构建系统: CMake + scikit-build-core + Poetry。
- 绑定库: pybind11 (实现 Python 与 C++ 的无缝互操作)。
- 网络库 (C++): Asio (异步网络 I/O) 或 Raw Sockets。
- Web 框架 (Python): FastAPI (用于 API 和 Web UI 后端)。
| 风险点 | 描述 | 应对策略 |
|---|---|---|
| 架构复杂性 | 混合语言调试和维护难度大 | 保持接口简洁,编写详尽的单元测试,使用 CI/CD 自动化测试。 |
| 性能瓶颈 | Python GIL 可能限制并发能力 | 计算密集型任务下沉到 C++,Python 仅作调度;使用多进程。 |
| 法律风险 | 渗透测试工具可能被滥用 | 在启动时强制显示免责声明,文档中强调合法合规使用。 |