Zen AI Pentest Framework 是 ara.so 出品的 Security Skills 集合中的一个技能,定位为生产就绪、AI 驱动的自主渗透测试框架,通过智能多代理系统编排 72+ 个真实安全工具。
用途与定位 该框架执行真实工具(Nmap、Nuclei、SQLMap、FFuF 等)并附带安全控制,而非使用模拟或仿真。其核心目标是自动化渗透测试流程,从侦察、扫描到漏洞验证与合规报告。
主要能力
- 自主 AI 代理:采用 ReAct 模式(推理 → 行动 → 观察 → 反思)。
- 真实工具执行:在 Docker 沙箱中运行,具备 4 级安全控制。
- 风险引擎:具备误报削减和 CVSS/EPSS 评分。
- FastAPI 后端:支持 WebSocket 实时更新。
- 持久化与缓存:PostgreSQL 持久化、Redis 缓存。
- 认证与权限:JWT 认证加 RBAC。
- 报告:专业 PDF/HTML 报告,并带合规映射。
- CI/CD 集成:支持 GitHub Actions、GitLab CI、Jenkins。
安装方式 前提条件:Python 3.10+、Docker 与 Docker Compose、PostgreSQL 13+(或使用 Docker Compose)、Redis(可选,用于缓存)。
Docker Compose 快速启动:
Clone repository
git clone https://github.com/SHAdd0WTAka/Zen-Ai-Pentest.git cd Zen-Ai-Pentest
Set environment variables
cp .env.example .env
Edit .env with your API keys and configuration
Start full stack
docker-compose up -d
Access web UI
http://localhost:3000 (default credentials: admin/admin)
Access API docs
http://localhost:8000/docs
手动安装:
Install Python dependencies
pip install -r requirements.txt
Install security tools (Ubuntu/Debian)
sudo apt-get update sudo apt-get install -y nmap nuclei sqlmap ffuf whatweb wafw00f subfinder httpx nikto
Initialize database
python -m alembic upgrade head
Run API server
uvicorn api.main:app --host 0.0.0.0 --port 8000 --reload
In another terminal, run frontend
cd frontend npm install npm run dev
配置 环境变量在项目根目录 .env 文件中设置,包括 API 密钥(OPENAI_API_KEY、ANTHROPIC_API_KEY)、数据库(DATABASE_URL、REDIS_URL)、安全(JWT_SECRET_KEY、JWT_ALGORITHM、ACCESS_TOKEN_EXPIRE_MINUTES)、API 配置(API_HOST、API_PORT、CORS_ORIGINS)、安全等级(DEFAULT_SAFETY_LEVEL、REQUIRE_VPN_FOR_LEVEL_3)、通知(SLACK_WEBHOOK_URL、SMTP_*)、代理配置(MAX_ITERATIONS、AGENT_TIMEOUT、ENABLE_MEMORY、MEMORY_WINDOW)以及工具超时(NMAP_TIMEOUT、NUCLEI_TIMEOUT、SQLMAP_TIMEOUT)。
安全等级(0-3):
- 0:只读信息收集
- 1:主动扫描(端口扫描)
- 2:漏洞探测
- 3:利用验证(需要 VPN)
配置文件 config/config.yaml 可设置默认与回退模型、温度、最大 token、启用的工具及各自参数、报告格式与模板目录、合规框架(OWASP、PCI-DSS、GDPR)。
使用方式 提供多种接入方式:
- REST API:登录获取 token,创建扫描(指定 target、scan_type、tools、safety_level、options),查询状态与结果。
- WebSocket:实时接收扫描更新,完成后退出。
- Python SDK:ZenClient 快速扫描、AutonomousAgent 高级扫描、自定义工具(继承 BaseTool)、多代理协调(ResearcherAgent、AnalystAgent、CoordinatorAgent)。
- CLI:zen-pentest scan/status/list/report/export/resume/benchmark/tools/db 等命令。
典型模式
- 安全侦察扫描(level 0):whois、dns、subfinder、whatweb,适合生产环境。
- 带验证的漏洞评估(level 2):nuclei、ffuf,开启 validate_findings、false_positive_filter、risk_scoring,仅保留已验证的高置信度发现。
- CI/CD 集成:如在 GitHub Actions 中运行扫描,按严重级别失败,生成 sarif 报告,并可创建安全公告。
- 合规报告:使用 ComplianceMapper 将发现映射到 OWASP、PCI-DSS、GDPR,输出审计用 PDF。
故障排查 涵盖工具执行失败(检查安装、Docker 沙箱、工具权限)、数据库连接错误(测试连接、重置数据库)、代理超时(增加超时与迭代、启用 checkpoint)、高内存占用(限制并发、禁用 memory、清 Redis)、误报(提高验证阈值、LLM 投票、要求证据)。调试可启用 ZEN_DEBUG 和 LOG_LEVEL。可运行自检套件检查数据库、Redis、工具、API 与代理状态。
安全与法律 文档明确提示:仅扫描你拥有或获得明确书面许可测试的系统。框架内置安全检查(SafetyValidator)会拦截私有 IP、localhost、云元数据端点;Level 3 需要 VPN;可在 config/authorized-targets.yaml 配置授权目标(域名、所有者、到期日、最大安全等级)。
资源 文档、API 参考、GitHub 仓库、Discord 与在线演示的链接见官方资料。
限制与未提供信息 本介绍基于已有资料整理,未提供收费、价格、具体平台支持范围或效果承诺等信息;实际能力受所安装工具、环境配置与授权范围限制。