C0R3DMP/secureflow
GitHub: C0R3DMP/secureflow
一个基于 CrewAI 多 Agent 协作的 AI 驱动渗透测试与安全评估框架,自动化完成从网络侦察到报告生成的完整安全评估流程。
Stars: 2 | Forks: 0
# SecureFlow
**AI 驱动的多 Agent 协作渗透测试框架**
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](#testing)
[](https://github.com/secureflow/secureflow)
SecureFlow 是一个完整的、由 AI 驱动的安全评估和应用开发平台。多个 Agent 团队(Recon、Analyst、Reporter)通过共享上下文进行协作,以执行全面的渗透测试。支持 Claude、Gemini 和 Ollama 等 LLM。
## 功能
### 🔒 安全评估工作流
- **Recon Agent** (Gemini API/Ollama) — 通过 nmap 进行网络侦察、端口扫描和 CVE 发现
- **Analyst Agent** (Gemini API/Ollama) — 漏洞分析、可利用性评估和攻击链识别
- **Reporter Agent** (Gemini API/Ollama) — 执行报告、CVSS 评分以及 90 天的修复路线图
### 💻 开发工作流
- **Architect Agent** — 系统设计、技术栈选择和项目结构规划
- **Developer Agent** — 生产环境代码生成、功能实现和项目脚手架
- **Reviewer Agent** — 代码质量审查、Bug 检测和安全评估
### 🎯 核心能力
- 具有共享上下文的多 Agent 协作工作流
- 带有 SSE 实时流的 FastMCP 服务器
- 具有实时扫描监控的 Web 仪表板
- 提供完整命令支持的 CLI 界面
- 报告导出(HTML、PDF、JSON)
- Webhook 通知和计划扫描
- 114 个自动化测试,覆盖全面
## 快速开始
### 1. 克隆与设置
```
git clone https://github.com/secureflow/secureflow.git
cd secureflow
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -e ".[dev]"
```
### 2. 配置
```
cp .env.example .env
# 使用你的 API 密钥编辑 .env(见 Configuration 部分)
```
### 3. 运行
```
# CLI 安全评估
secureflow scan example.com
# Web dashboard
secureflow server # Visit http://localhost:5000/ui
```
## 配置
### 环境变量
创建包含以下内容的 `.env` 文件:
```
# 必需
ANTHROPIC_API_KEY=sk-... # Optional, uses Claude CLI if not set
GEMINI_API_KEY=... # Optional, uses Gemini CLI if not set
# 可选
OLLAMA_BASE_URL=http://localhost:11434
MCP_SECRET=<32-char bearer token> # For server auth (generate: openssl rand -hex 32)
TELEGRAM_BOT_TOKEN=... # For Telegram notifications
TELEGRAM_CHAT_ID=... # For Telegram notifications
```
### LLM Provider 优先级
SecureFlow 会按以下顺序尝试各个 Provider(使用第一个可用的):
1. **Gemini API** (5 req/min) — 需要 `GEMINI_API_KEY`
2. **OpenRouter** (免费模型) — 需要 `OPENROUTER_API_KEY` — 推荐用于大批量任务
3. **Ollama** (本地,免费) — 需要运行 `ollama run qwen2.5-coder`
4. **Claude API** — 需要 `ANTHROPIC_API_KEY`
**建议:** 使用 OpenRouter 获取免费模型,其免费层级没有速率限制
## CLI 命令
| 命令 | 描述 |
|---------|-------------|
| `secureflow scan ` | 运行完整的安全评估 |
| `secureflow recon ` | 仅进行快速侦察 |
| `secureflow build ` | 生成应用程序代码 |
| `secureflow review ` | 代码质量审查 |
| `secureflow schedule add` | 安排周期性扫描 |
| `secureflow schedule list` | 显示已安排的扫描 |
| `secureflow schedule remove ` | 删除已安排的扫描 |
| `secureflow history` | 查看历史扫描 |
| `secureflow server` | 启动 MCP 服务器(端口 5000) |
| `secureflow status` | 检查系统健康状况 |
| `secureflow --help` | 显示所有命令 |
## API Endpoints
| Method | Endpoint | 描述 |
|--------|----------|-------------|
| POST | `/tools/run_security_crew` | 异步安全评估(返回 `scan_id`) |
| POST | `/tools/run_recon` | 快速侦察(异步) |
| POST | `/tools/run_dev_crew` | 代码生成(异步) |
| POST | `/tools/run_code_review` | 代码审查分析(异步) |
| GET | `/api/scans/{scan_id}` | 轮询扫描状态 |
| GET | `/api/history` | 扫描历史(JSON) |
| GET | `/api/reports/export?target=X&format=html` | 导出报告(html/pdf/json) |
| GET | `/ui` | Web 仪表板 |
| GET | `/stream/{target}` | SSE 进度流 |
## 架构
### 安全评估工作流
```
┌─────────────────────────────────────────────────────────┐
│ Phase 1: RECONNAISSANCE (Recon Agent) │
│ • nmap scan (top 1000 ports) │
│ • Service version detection │
│ • CVE lookup per service │
│ └─→ Save to SharedContext: recon_scan_results │
└──────────────────┬──────────────────────────────────────┘
│
┌──────────────────▼──────────────────────────────────────┐
│ Phase 2: ANALYSIS (Analyst Agent) │
│ • Read recon findings │
│ • Assess exploitability per service │
│ • Identify attack chains & lateral movement │
│ • Rate: CRITICAL | HIGH | MEDIUM | LOW │
│ └─→ Save to SharedContext: vulnerability_analysis │
└──────────────────┬──────────────────────────────────────┘
│
┌──────────────────▼──────────────────────────────────────┐
│ Phase 3: REPORTING (Reporter Agent) │
│ • Executive summary (non-technical) │
│ • Detailed findings table │
│ • 90-day remediation roadmap │
│ • Technical appendix & CVSS scores │
│ └─→ Return: final_report (HTML/PDF/JSON) │
└─────────────────────────────────────────────────────────┘
```
### 开发工作流
```
ARCHITECTURE → (shared context) → IMPLEMENTATION → REVIEW
```
## 测试
```
# 运行所有测试
pytest tests/ -v
# With coverage
pytest tests/ --cov=secureflow
# 特定测试
pytest tests/test_cli.py::test_scan -v
```
状态:**114/114 个测试通过** ✅
## 项目结构
```
secureflow/
├── secureflow/
│ ├── cli.py # CLI interface
│ ├── server.py # FastMCP server
│ ├── config.py # LLM config & provider detection
│ ├── server-launcher.py # Robust server management
│ └── crew/
│ ├── agents.py # 6 agent definitions
│ ├── tasks.py # Task workflows
│ ├── tools.py # Agent tools (nmap, CVE lookup, etc.)
│ ├── orchestrator.py # Security workflow
│ └── dev_orchestrator.py # Development workflow
├── tests/ # 114 automated tests
├── frontend/ # React dashboard
└── pyproject.toml # Package metadata
```
## 部署
### 本地开发
```
source venv/bin/activate
python server-launcher.py # Auto-restart on failure
```
### 生产环境 (systemd)
```
sudo cp secureflow.service /etc/systemd/system/
sudo systemctl enable --now secureflow
sudo systemctl status secureflow
```
### Docker
```
docker build -t secureflow .
docker run -p 5000:5000 -e ANTHROPIC_API_KEY=$KEY secureflow
```
## 安全性
- ✅ Bearer token 认证(MCP 服务器)
- ✅ 日志或 session 文件中不含凭证信息
- ✅ 发现结果使用 SQLite 存储(默认仅在本地)
- ✅ HMAC-SHA256 Webhook 签名
- ✅ HTML 报告中的 XSS 防护
## 已完成的里程碑
- [x] **M7** — CrewAI 1.14.5 升级,XSS 修复,Gemini 2.5-flash
- [x] **M8** — 并发扫描,异步工具,状态轮询
- [x] **M9** — 报告导出(HTML/PDF/JSON)
- [x] **M10** — 带有 HMAC 签名的 Webhook 通知
- [x] **M11** — 使用 cron 和 SQLite 持久化的计划扫描
- [x] **M12** — Claude/Gemini CLI 支持,详细的 Agent 提示,健壮的服务器启动器
## 许可证
MIT 许可证 — 详见 [LICENSE](LICENSE) 文件
## 支持
- **问题** — GitHub issues 追踪器
- **文档** — 参见 `docs/` 目录
- **示例** — 查看 `tests/` 获取模式
**基于 CrewAI + FastMCP 构建** | 版本 0.1.0 | ✅ 生产就绪
标签:AES-256, CTI, DLL 劫持, 多智能体, 大语言模型, 密码管理, 插件系统, 漏洞评估, 请求拦截, 逆向工具