hleliofficiel/ExaAiAgent

GitHub: hleliofficiel/ExaAiAgent

一款基于多 Agent 架构的 AI 渗透测试框架,能够自动化发现并验证 Web 应用与云基础设施中的安全漏洞。

Stars: 10 | Forks: 1

ExaAiAgent Logo

ExaAiAgent

用于全面渗透测试的高级 AI 驱动网络安全 Agent

[![Python](https://img.shields.io/pypi/pyversions/exaai-agent?color=3776AB)](https://pypi.org/project/exaai-agent/) [![PyPI](https://img.shields.io/pypi/v/exaai-agent?color=10b981)](https://pypi.org/project/exaai-agent/) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE) [![Version](https://img.shields.io/badge/version-2.2.5-00d4ff.svg)]()

## 🔥 v2.2.5 的新功能 ### 🧱 运行时可靠性与开发者工作流 此版本重点关注使 ExaAiAgent 的操作更加可预测,并更容易集成到 agent 驱动的工作流中: - **Pull Request 上的 CI**:lint、类型检查、单元测试和冒烟测试现在会自动运行 - **遗留代码清理**:移除了导致测试和开发工具失效的陈旧 `strix` 引用 - **导入安全的工具服务器**:sandbox 工具服务器不再在导入时解析 CLI 参数 - **依赖兼容性修复**:解决了影响安装的 `websockets` 兼容性问题 ### 🧠 更好的 Agent 编排 - **改进的 Agent 消息传递**:修复了 agent 恢复/等待行为以及 sandbox 就绪问题 - **规范化的 Agent 状态**:跨 graph、tracer 和 UI 的状态流更加清晰 - **多工具 LLM 响应**:不再将模型输出仅截断为第一个工具调用 - **Prompt 模块合并**:角色默认设置和用户选择的模块现在可以正确组合 ### 💻 更好的 CLI/TUI 行为 - **交互式目标提交**:TUI 现在可以更流畅地将目标加入队列并开始扫描 - **改进的错误呈现**:在 CLI/TUI 中显示更清晰的运行时错误,而不是静默失败 - **更智能的 Prompt 解析**:自动检测到的 prompt 模块现在能更可靠地接入执行过程 - **明确 Docker 要求**:在启动过程中,首次运行/运行时的期望更加清晰 ### 🤖 AI Agent 集成 - **更新了仓库技能**:`SKILL.md` 现在可以顺畅地引导其他 AI agent 使用和操作 ExaAiAgent - **对 OpenClaw 友好的操作**:更适合控制扫描或维护工具的外部 AI agent ### 🛡️ 智能安全工具 | 工具 | 功能 | |------|------------| | **Smart Fuzzer** | 线程安全、具备上下文感知能力并带有速率限制的模糊测试 | | **Response Analyzer** | SQL 错误、堆栈跟踪、敏感数据检测 | | **Vuln Validator** | 生成 PoC 并减少误报 | | **WAF Bypass** | 针对 Cloudflare、Akamai、AWS WAF 的多层绕过 | ### ⚡ CLI 与稳定性 - **线程安全**:修复了异步扫描中的竞态条件 - **资源管理**:自动关闭和清理后台进程 - **安装**:适用于 Linux/macOS (bash/zsh/fish) 的稳健 `install.sh` ``` # 全新安装脚本 curl -sSL https://raw.githubusercontent.com/hleliofficiel/ExaAiAgent/main/install.sh | bash ``` ## 🔥 ExaAiAgent 概述 ExaAiAgent 是一款精英级的 AI 驱动网络安全 agent,它的行为就像真实的渗透测试员一样——动态运行您的代码,查找漏洞,并通过实际的 proof-of-concept 进行验证。专为需要快速、准确安全测试的开发者和安全团队而构建。 **核心功能:** - 🔧 开箱即用的**完整黑客工具包** - 🤝 可协作和扩展的**Agent 团队** - ✅ 使用 PoC 进行**真实验证**,拒绝误报 - 💻 **开发者优先**的 CLI,提供具有可操作性的报告 - 🔄 **自动修复和报告**以加快修复速度 - 🧠 **多 LLM 支持** - OpenAI、Anthropic、Gemini、本地模型 - 🌐 **云与容器安全**测试能力 - 🚀 **智能模块加载** - 自动检测并加载相关模块 ## 🎯 使用场景 - **应用安全测试** - 检测并验证严重漏洞 - **快速渗透测试** - 在数小时内(而非数周内)完成渗透测试 - **Bug Bounty 自动化** - 自动化研究并生成 PoC - **CI/CD 集成** - 在进入生产环境前阻断漏洞 - **API 安全测试** - REST、GraphQL、gRPC 安全分析 - **云安全** - AWS、Azure、GCP 配置审查 ## 🚀 快速开始 **前置条件:** - Docker(运行中) - Python 3.12+ - 一个 LLM 提供商(OpenAI、Anthropic、OpenRouter、Ollama 或任何兼容的提供商) ### 安装与首次扫描 ``` # 安装 ExaAiAgent # 方法 1:自动化脚本(推荐) pip install exaai-agent # 方法 2:pipx pipx install exaai-agent # 配置你的 AI provider(选择一个) # 选项 1:OpenAI export EXAAI_LLM="openai/gpt-5" export LLM_API_KEY="your-openai-key" # 选项 2:Anthropic export EXAAI_LLM="anthropic/claude-sonnet-4-5" export LLM_API_KEY="your-anthropic-key" # 选项 3:OpenRouter(访问多个模型) export EXAAI_LLM="openrouter/auto" export LLM_API_KEY="your-openrouter-key" export LLM_API_BASE="https://openrouter.ai/api/v1" # 选项 4:Ollama(本地模型) export EXAAI_LLM="ollama/llama3" export LLM_API_BASE="http://localhost:11434" # 运行你的首次安全评估(自动检测 modules!) exaai --target https://your-app.com ``` ## ✨ 功能特性 ### 🛠️ Agentic 安全工具 ExaAiAgent agent 配备了全面的安全测试工具包: - **完整的 HTTP 代理** - 请求/响应操作与分析 - **浏览器自动化** - 用于 XSS、CSRF、身份验证流程的多标签浏览器 - **终端环境** - 用于执行命令的交互式 shell - **Python 运行时** - 自定义漏洞利用开发与验证 - **信息侦察** - 自动化 OSINT 与攻击面映射 - **代码分析** - 静态和动态分析能力 - **API 模糊测试** - 高级 REST/GraphQL API 测试 ### 🎯 全面漏洞检测 ExaAiAgent 识别并验证广泛的安全漏洞: | 类别 | 漏洞 | |----------|-----------------| | **访问控制** | IDOR、越权、身份验证绕过 | | **注入** | SQL、NoSQL、命令、GraphQL 注入 | | **服务端** | SSRF、XXE、反序列化缺陷 | | **客户端** | XSS、原型链污染、DOM 漏洞 | | **业务逻辑** | 竞态条件、工作流篡改 | | **身份验证** | JWT 漏洞、OAuth/OIDC 缺陷、会话管理 | | **WebSocket** | CSWSH、消息注入、DoS | | **基础设施** | 子域名接管、配置错误 | | **WAF 绕过** | 编码、走私、请求头操作 | ### 🕸️ Agent 图谱 用于全面安全测试的高级多 agent 编排: - **分布式工作流** - 针对不同攻击的专用 agent - **可扩展的测试** - 并行执行以实现快速覆盖 - **动态协调** - Agent 协作并共享发现 ## 💻 使用示例 ### 基础用法 ``` # 扫描本地 codebase exaai --target ./app-directory # GitHub repository 的安全审查 exaai --target https://github.com/org/repo # Black-box web application 评估 exaai --target https://your-app.com ``` ### 智能自动加载(v2.0 新增!) ``` # GraphQL endpoint - 自动加载 graphql_security exaai --target https://api.example.com/graphql # WebSocket - 自动加载 websocket_security exaai --target wss://chat.example.com/socket # OAuth endpoint - 自动加载 oauth_oidc exaai --target https://auth.example.com/oauth/authorize # Subdomain recon - 自动加载 subdomain_takeover exaai --target example.com --instruction "enumerate subdomains" ``` ### 高级测试场景 ``` # Grey-box authenticated 测试 exaai --target https://your-app.com --instruction "Perform authenticated testing using credentials: user:pass" # 多目标测试(source code + 已部署的 app) exaai -t https://github.com/org/app -t https://your-app.com # 使用特定的 modules(覆盖自动检测) exaai --target https://api.example.com --prompt-modules graphql_security,waf_bypass # Lightweight 模式(减少 token 消耗) export EXAAI_LIGHTWEIGHT_MODE=true exaai --target https://example.com --instruction "quick security scan" ``` ### 🤖 Headless 模式 以编程方式运行 ExaAiAgent,无需交互式 UI: ``` exaai -n --target https://your-app.com ``` ### 🔄 CI/CD (GitHub Actions) ``` name: exaai-security-test on: pull_request: jobs: security-scan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install ExaAiAgent run: curl -sSL https://raw.githubusercontent.com/hleliofficiel/ExaAiAgent/main/install.sh | bash - name: Run ExaAiAgent env: EXAAI_LLM: ${{ secrets.EXAAI_LLM }} LLM_API_KEY: ${{ secrets.LLM_API_KEY }} run: exaai -n -t ./ ``` ### ⚙️ 配置 ``` # 必需 export EXAAI_LLM="openai/gpt-5" export LLM_API_KEY="your-api-key" # 可选 - 性能调优 export EXAAI_LIGHTWEIGHT_MODE=true # Reduced token consumption export EXAAI_MAX_TOKENS=2048 # Max output tokens export LLM_API_BASE="your-api-base" # For local models export PERPLEXITY_API_KEY="key" # For search capabilities ``` **推荐的模型:** - OpenAI GPT-5 (`openai/gpt-5`) - Anthropic Claude Sonnet 4.5 (`anthropic/claude-sonnet-4-5`) - Google Gemini 2.0 (`gemini/gemini-2.0-flash`) ## 📦 可用的安全模块 ### 漏洞模块 | 模块 | 描述 | |--------|-------------| | `sql_injection` | SQL/NoSQL 注入测试 | | `xss` | 跨站脚本攻击 | | `ssrf` | 服务端请求伪造 | | `xxe` | XML 外部实体攻击 | | `rce` | 远程代码执行 | | `idor` | 不安全的直接对象引用 | | `authentication_jwt` | 身份验证与 JWT 漏洞 | | `business_logic` | 业务逻辑缺陷 | | `csrf` | 跨站请求伪造 | | `race_condition` | 竞态条件漏洞利用 | | `graphql_security` | 特定于 GraphQL 的攻击 | | `websocket_security` | WebSocket 漏洞 | | `oauth_oidc` | OAuth2/OIDC 缺陷 | | `waf_bypass` | WAF 绕过技术 | | `subdomain_takeover` | 子域名接管 | | `prompt_injection` | AI/LLM prompt 注入攻击 | | `kubernetes_security` | **新功能!** K8s RBAC 与 Pod 安全审计 | | `subdomain_enumeration` | **新功能!** 基于 OSINT 的子域名发现 | | `port_scanning` | **新功能!** 服务发现与端口审计 | | `technology_fingerprinting` | **新功能!** Web 技术栈识别 | ## 🆕 更新日志 ### v2.2.5 (最新版) - **运行时可靠性**:修复了交互式扫描流程、工具服务器导入安全、sandbox 就绪以及 agent 消息传递问题 - **开发者工作流**:CI 现在会在 Pull Request 上运行 lint、类型检查、测试和冒烟检查 - **Prompt 智能**:更智能的 prompt 解析,合并默认/用户模块,以及用于规划、验证、报告和运行时恢复的全新专家 prompt 模块 - **Agent 协调**:规范化状态并改进了多工具执行行为 - **Agent 新手指引**:更新了 `SKILL.md`,以便外部 AI agent 可以更可靠地操作和维护 ExaAiAgent ### v2.2.2 - **侦察引擎**:用于子域名枚举、端口扫描和技术指纹识别的新模块 - **AI Agent 集成**:兼容 OpenClaw/Agent - **稳定性修复**:ToolManager 线程安全、资源清理 - **开发者体验 (DevEx)**:新的 `install.sh` 脚本,改进了日志记录 ### v2.1.2 - **Bug 修复**:修复了 k8s 扫描器导入问题 - **横幅**:更新了横幅版本字符串 ### v2.1.0 - **新模块**:K8s、Azure、GCP、Prompt 注入 - **React2Shell**:CVE-2025-55182 检测 - **自动发现**:改进了目标检测 ## 🛠️ 故障排除 ### 🔧 故障排除 #### 问题:“LLM Connection Failed”或找不到模型 现代模型(如 `gemini-3-pro-preview`)需要最新版本的 `litellm` 才能被正确识别。 **解决方案:更新 LiteLLM** ``` pip install -U litellm ``` **Linux/Debian 用户(外部管理的环境):** 如果您遇到权限错误或“externally-managed-environment”,您可能需要使用虚拟环境 (`venv`) 或强制执行用户级安装: ``` # 选项 1:Virtual Environment(推荐用于服务器) python3 -m venv venv source venv/bin/activate pip install exaai-agent # 选项 2:强制用户安装 pip install -U litellm --user --break-system-packages ``` ## 🌟 支持该项目 **喜欢 ExaAiAgent?** 在 GitHub 上给我们一颗 ⭐! ## 🙈 致谢 ExaAiAgent 建立在 [LiteLLM](https://github.com/BerriAI/litellm)、[Caido](https://github.com/caido/caido)、[ProjectDiscovery](https://github.com/projectdiscovery)、[Playwright](https://github.com/microsoft/playwright) 和 [Textual](https://github.com/Textualize/textual) 等出色的开源项目之上。
标签:AI智能体, Docker沙箱, LNA, XXE攻击, 多智能体协作, 安全工具链, 实时处理, 密码管理, 插件系统, 结构化查询, 自动化安全, 请求拦截, 逆向工具