EVA
AI 驱动的渗透测试导航工具,多后端 LLM 支持,提供攻击路径规划和漏洞情报搜索
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI 驱动的渗透测试导航工具,多后端 LLM 支持,提供攻击路径规划和漏洞情报搜索
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
定位:AI 辅助渗透测试 Agent | 语言:Python | 许可:MIT
GitHub:ARCANGEL0/EVA | Star:407★ | Fork:76
某天你在 CTF 靶场里拿到了一个低权限 Shell,面对一台陌生的 Linux 主机,脑子里闪过一连串问题:该从哪开始?用哪些命令枚举?漏洞优先级怎么排?手工一条条敲命令、分析输出、查 CVE……效率低下,还容易遗漏。
EVA 就是为解决这个问题而生的:它扮演一个经验丰富的红队助手,接入 AI 大模型的能力,自动解析你的命令输出、识别攻击路径、推荐下一步操作,并直接生成可执行的命令序列。它不是替你完成渗透测试,而是给你指路,让你少走弯路。
EVA 由独立开发者 ARCANGEL0 构建,定位为开源社区版的"AI 渗透测试副驾驶"。作者同时维护了另一个项目 NekoCLI,两者在架构上有一定技术传承。
项目明确声明适用范围:CTF、Labs、以及你拥有合法授权的安全测试环境。首次启动时会强制用户确认授权条款,未经授权的渗透行为是违法的,这是 EVA 自身也明确标注的边界。
项目采用 MIT 许可证开源,当前版本 3.5,在 GitHub 上积累了 407 颗星、76 个 Fork、20 个 Topics 标签,涵盖 AI Agent、Cybersecurity、Offensive Security 等多个领域,说明其定位精准——垂直于 AI × 安全赛道的工具类项目。
EVA 支持六种 AI 后端接入,这是它最大的灵活性所在:
ALIENTELLIGENCE/whiterabbitv2 模型,无需联网、数据本地处理,适合隐私敏感的渗透测试场景。配合 Ollama 本地部署,支持一键安装。OPENAI_API_KEY 配置,支持 GPT-4 等商业模型。ANTHROPIC_API_KEY 配置,支持 Claude 3.5 Sonnet。GEMINI_API_KEY 配置,支持 Gemini 2.0 Flash。gpt4free.workers.dev 接口,免费尝鲜 GPT 类模型,但速度和稳定性有限。用户首次运行时,EVA 会引导配置 API Key;Ollama 用户还需要安装并运行 Ollama 服务。
EVA 按照标准渗透测试流程引导用户,分阶段递进:
① 目标定义:用户输入目标 IP/域名。
② AI 攻击策略生成:基于目标情报,AI 分析并给出攻击路径规划。
③ 信息收集(Reconnaissance):AI 推荐扫描命令,如 nmap、masscan、rustscan,并分析输出结果。
④ 漏洞评估(Vulnerability Assessment):对识别到的服务进行 CVE 漏洞匹配,结合 NVD、Vulners、Exploit-DB、CISA KEV 四大漏洞情报源查询。
⑤ 利用规划(Exploitation Planning):基于漏洞优先级制定利用方案。
⑥ 权限提升(Privilege Escalation):进入后利用阶段,分析提权路径。
⑦ 报告生成:完成后自动导出 HTML 格式渗透测试报告。
这是一个完整的闭环,而非单点工具。
EVA 内置了强大的漏洞情报模块 modules/exploit_search.py,集成多个权威数据源:
searchsploit 本地数据库,搜索公开利用代码。漏洞搜索还支持新鲜度加权——近两年内的漏洞会获得额外的权重加成,帮助优先处理最新威胁。
EVA 并不是直接执行任意 AI 生成的命令——modules/tooling.py 实现了严格的白名单控制机制:
/usr/share/ 目录查找并补全,避免路径错误。***。这套机制保证了 EVA 在引导辅助和安全控制之间取得平衡。
modules/attack_map.py 实现了攻击路径可视化功能,能根据扫描结果自动生成攻击地图(Attack Map),帮助渗透测试人员直观理解目标网络的攻击面。生成的地图文件保存在 ~/EVA_data/attack_maps/ 目录。
项目代码结构清晰,采用分层模块化架构:
| 模块 | 职责 |
|---|---|
eva.py | CLI 入口,参数解析,初始化 |
modules/llm.py | AI 后端调用封装,支持多 Provider 流式输出 |
modules/prompt_builder.py | 系统 Prompt 构建,定义 AI 角色和行为规范 |
modules/exploit_search.py | 漏洞情报多源搜索 |
modules/vuln_intel.py | 服务版本识别 + 漏洞关联 |
modules/attack_map.py | 攻击路径分析与可视化 |
modules/tooling.py | 命令白名单、安全过滤、路径补全 |
modules/workflow.py | 渗透测试流程状态管理 |
modules/reporting.py | HTML/PDF 报告生成 |
sessions/eva_session.py | 会话状态管理、命令执行循环 |
utils/ | 配置加载、系统工具、UI 渲染 |
整体约 170KB Python 代码(不含依赖),代码量适中,逻辑清晰。
EVA 通过 modules/prompt_builder.py 定义了严格的 AI Prompt 规范:
analysis(分析结论)、commands(下一步命令数组)两个必填字段。analysis 字段进一步结构化为 TARGET_SITREP(目标态势)、FINDINGS(发现)、NEXT_MOVE(下一步行动)、OPERATOR_NOTE(操作提示)。典型渗透测试会话的数据流如下:
用户输入目标 → sessions/eva_session.py 接收 → modules/workflow.py 构建上下文 → modules/llm.py 调用 AI → AI 返回 JSON 命令 → modules/tooling.py 安全过滤 → Shell 执行 → 输出结果 → modules/vuln_intel.py + modules/exploit_search.py 漏洞匹配 → 再次输入 LLM 分析 → 循环直到完成。
仅三个直接依赖:colorama(跨平台彩色终端输出)、openai(OpenAI API 客户端)、requests(HTTP 请求)。最小化依赖,减少环境配置复杂度,符合工具类项目的最佳实践。
值得注意的是,eva.py 启动时自动检测并安装缺失依赖,无需用户手动 pip install,进一步降低了上手门槛。
方式一(推荐):pip 一键安装
pip install eva-exploit
eva
方式二:Git 克隆
git clone https://github.com/ARCANGEL0/EVA.git
cd EVA
chmod +x eva.py
./eva.py
# 或加入 PATH
sudo mv eva.py /usr/local/bin/eva
Ollama 本地模型(可选但推荐):
curl -fsSL https://ollama.ai/install.sh | sh
ollama pull ALIENTELLIGENCE/whiterabbitv2
首次运行时,EVA 会引导用户配置 AI 后端。如果选择 Ollama,还需要先安装并启动 Ollama 服务。配置信息保存在 ~/EVA_data/config.py。
EVA 本身在工具层有命令白名单保护,但 Prompt 层面依赖于用户自行遵守授权约束。如果用户通过 Custom API 接入更强的模型,理论上存在 Prompt 注入绕过安全过滤的可能性。项目作者在文档中明确强调了合法使用的重要性,但技术层面没有强制执行手段。
API Key 以明文形式存储在 config.py 中(~/EVA_data/config.py),且 config.py 中默认值均为 *** 占位符。如果用户在同一台机器上与其他应用共享配置,可能存在 Key 泄露风险。建议用户使用环境变量而非明文配置文件存储 API Key。
作为安全工具,EVA 本身缺乏 Docker 容器化支持,这反而带来了一个悖论——很多安全测试环境本身就是容器化的(如 Kali Linux Docker),用户需要在容器内再手动配置 Python 环境。对于追求"开箱即用"的用户来说,这是一个遗憾。
当前报告仅支持 HTML 格式导出,无 PDF 原生支持(依赖系统是否安装 wkhtmltopdf)。报告内容覆盖了渗透测试各阶段的命令记录、发现和凭据,但不包含截图等视觉证据,专业报告场景下需要人工补充。
EVA 属于AI Agent for Cybersecurity 细分赛道的代表性开源项目。随着 LLM 在代码理解和推理能力上的提升,"AI 辅助渗透测试"正从概念走向实用。EVA 的出现填补了开源社区在这一领域的空白,与 Commercial 产品(如 PentestGPT、Co-Agent)形成互补。
从增长数据看,项目 stars 在 2026-06 达到 406-407,20 个精准 Topics 标签说明其定位清晰、用户认知一致,没有"什么都想做"的通病。
基于代码分析,EVA 未来可能的演进方向包括:
总结:EVA 是一个设计精良的 AI 辅助渗透测试导航工具,通过多后端 AI 集成、严格的安全控制机制和完整的渗透测试工作流,为安全从业人员提供了一个可靠的"AI 副驾驶"。尽管缺乏容器化和 Web UI 支持,但其纯 CLI 的轻量化设计反而契合了专业安全工具的定位,适合有一定渗透测试基础的用户快速上手。