airecon
Ollama本地大模型驱动的自主渗透测试Agent,无需API Key,100%本地化运行
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Ollama本地大模型驱动的自主渗透测试Agent,无需API Key,100%本地化运行
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:安全研究员坐在工位上,对着一个类 Linux 终端窗口输入一句话——"对 example.com 做完整渗透测试"——然后 AI 代理开始自动运转,subfinder 找子域名、nmap 扫端口、naabu 探测服务、nuclei 匹配漏洞、Playwright 自动化浏览器操作、最后生成一份 Markdown 格式报告。整个过程不需要打开任何 Web 界面,不需要付费 API Key,所有流量、数据、报告都留在本地机器上。这就是 AIRecon 正在做的事情。
AIRecon 由独立安全研究人员 pikpikcu 开发维护(GitHub: pikpikcu),目前已获得 661 颗 GitHub Stars,被标记为 ai-agents、penetration-testing、ollama、bugbounty、automation 等主流 AI 安全话题。
这个项目的诞生逻辑非常直接:传统渗透测试工具链高度碎片化——subfinder 子域名发现、nmap 端口扫描、SQLMap 注入测试,每个工具都有自己独立的 CLI 参数和工作流程,安全研究员需要在多个工具之间手动切换、解析输出、协调配合。对于一次完整的 Web 应用渗透测试,一个人往往需要同时开 5-10 个终端窗口。
而商业 API 类 AI Agent(GPT-4、Claude、Gemini)在这种 递归式自主侦察工作流 中成本极高——一次完整渗透测试可能需要调用数千次 LLM API,按照商业 API 的 Token 计费模式,单次渗透测试成本轻松超过数十美元。更关键的是,目标情报数据(子域名、端口、漏洞信息、报告内容)会被发送到第三方服务器,对于进行真实 bug bounty 猎洞或企业内部安全评估的研究员来说,这是无法接受的数据隐私风险。
AIRecon 的核心答案是:100% 本地化运行。用户自托管 Ollama,大模型推理完全在本地完成,不需要任何 API Key,不向任何云服务发送目标数据。

图1:AIRecon 官方 Logo
AIRecon 的代码采用清晰的三层模块化架构,核心代码位于 airecon/proxy/ 目录下:
airecon/proxy/ 下包含约 20 个核心 Python 模块,涵盖了渗透测试所需的全部工具链:
ollama.py:Ollama API 客户端封装,支持本地/远程 Ollama 服务器连接、超时控制、上下文窗口管理、extended thinking 模式(<think> 块)。支持 Qwen3.5、DeepSeek R1 等主流开源模型。docker.py:Kali Linux Docker 沙箱管理,在隔离容器内执行所有高权限操作(nmap raw socket、端口扫描、漏洞利用)。通过 docker exec 执行命令,docker cp 传输文件。browser.py:Playwright 自动化封装,支持无头 Chromium 浏览器操作,用于爬取 JavaScript 渲染页面、自动化表单提交。caido_client.py:Caido(Web 安全代理)原生集成,支持 replay、fuzz、findings、scope 等 5 个内置工具。fuzzer.py:自定义模糊测试引擎,结合 Schemathesis API 模糊测试。semgrep.py:静态应用安全测试(SAST)集成。web_search.py:DuckDuckGo 搜索集成。mcp.py:MCP(Model Context Protocol)服务器动态连接,支持外部 MCP 工具扩展。airecon/proxy/agent/ 目录下有约 50 个 Python 文件,构成了完整的 AI Agent 决策系统:
loop.py 系列(loop_cycle_llm.py、loop_tool_cycle.py、loop_process_core.py、loop_semantic.py 等):核心状态机循环,控制 AI Agent 在 RECON → ANALYSIS → EXPLOIT → REPORT 四个阶段之间的流转。每个阶段有特定目标和退出条件。pipeline.py:四阶段 Pipeline 管理器,协调阶段转换和上下文压缩。executors/ 目录:细粒度工具执行器,包括 executors_browser.py(浏览器)、executors_caido.py(Caido)、executors_fuzzing.py(模糊测试)、executors_filesystem.py(文件操作)、executors_observe.py(HTTP 观察)等。chain_planner.py:攻击链规划,将复杂目标分解为有序攻击步骤。adaptive_learning.py:自适应学习模块,基于历史工具成功率动态调整工具排序和策略。session.py / session_persistence.py:会话管理与持久化,支持中断恢复。auth_manager.py:认证管理,支持用户名密码、TOTP 双因素认证。waf_detector.py / waf_bypass.py:WAF 检测与绕过策略。airecon/tui/ 基于 Textual 框架构建实时 TUI(文本用户界面),提供:
整个项目使用 Poetry 管理 Python 依赖,配置文件为 pyproject.toml,符合现代 Python 项目规范。

图2:AIRecon Textual TUI 界面截图
AIRecon 的工作流程遵循严格的四阶段 Pipeline:RECON(侦察)→ ANALYSIS(分析)→ EXPLOIT(利用)→ REPORT(报告)。
每个阶段有明确的目标集和自动退出条件。例如 RECON 阶段的目标包括:子域名枚举、端口扫描、服务识别、Web 指纹识别;退出条件是连续 5 次迭代无新发现。
阶段转换通过 LLM 自动判断,但 强制软约束——Agent 被引导而非被强制,可以在紧急情况下跳过某个阶段直接渗透。
关键 checkpoint 机制:
AIRecon 可以选配 airecon-dataset 本地知识库,该数据集索引了约 109 万条安全记录,包括:
| 数据集 | 记录数 | 内容 |
|---|---|---|
| Pentest Agent (ChatML) | 322,433 | CVE 利用工作流 |
| CTF SaTML 2024 | 190,657 | CTF 攻防交互数据 |
| CTF Instruct | 141,182 | Pwn/Web/Crypto/Forensics |
| Cybersecurity CVE | 124,732 | CVE 分析 |
| Red Team Offensive | 78,430 | 横向移动/权限提升 |
| SQL Injection Q&A | 50,632 | SQL 注入全流程 |
LLM 在面对不熟悉的技术时会自动调用 dataset_search 工具,从本地 SQLite FTS5 索引中检索相关 CVE 利用链、技术细节和绕过方法,实现事实性锚定,减少幻觉。
AIRecon 支持通过 ~/.airecon/mcp.json 配置文件动态接入外部 MCP 服务器,将第三方工具暴露为 mcp_<server> 工具。支持的传输协议包括:stdio(标准输入输出)和 SSE(Server-Sent Events)。
已有社区项目接入 MCP,如 hexstrike-ai(AI 漏洞分析)、xssgen(XSS 生成工具)等。
AIRecon 对 LLM 有明确的技术要求:必须支持 extended thinking(<think> 块)和可靠的 tool calling 能力。
推荐模型(按 Ollama pull 方式安装):
| 模型 | VRAM | 推荐场景 |
|---|---|---|
| Qwen3.5 122B | 48GB+ | 最高质量 |
| Qwen3.5 35B | 20GB | 推荐日常使用 |
| Qwen3.5 35B MoE (a3b) | 16GB | 低显存 |
| Qwen3.5 9B | 6GB | 最低可用 |
小于 8B 的模型在 tool calling 准确率上存在显著问题,错误率可达 20-40%,且容易产生幻觉(虚构 CVE、跳过 scope 规则)。
Google Colab 远程推理支持:对于没有本地 GPU 的用户,项目提供了预配置的 Colab notebook,通过 cloudflared tunnel 将 Colab 的 T4/A100 GPU 上的 Ollama 服务暴露给本地 AIRecon。

图3:AIRecon 整体架构图(本地 Ollama + Docker 沙箱 + Textual TUI)
AIRecon 提供两种安装方式:
一键安装(推荐):curl -fsSL https://raw.githubusercontent.com/pikpikcu/airecon/refs/heads/main/scripts/install.sh | bash
该脚本自动检测 Poetry 是否安装、通过官方安装脚本安装 Poetry(避免系统包管理器版本冲突)、构建 Python wheel 并安装到 ~/.local/bin。
手动安装:克隆仓库后运行 ./install.sh。
Ollama 独立部署:用户需要单独安装并启动 Ollama 服务(ollama serve),拉取合适尺寸的模型,然后配置 ~/.airecon/config.yaml 中的 ollama_url 和 ollama_model。
Docker 沙箱:首次运行时 AIRecon 会自动构建 Kali Linux Docker 镜像(约 18GB),包含 60+ 安全工具(nmap、sqlmap、ffuf、nuclei 等)。构建命令:docker build -t airecon-sandbox airecon/containers/kali/。
主要部署门槛:
127.0.0.1:48080)。AIRecon 在数据隐私方面表现突出:目标情报、工具输出、漏洞报告从不离开本地机器。所有 LLM 推理在本地 Ollama 实例完成,不依赖任何外部 API。
然而安全边界需要用户自行把握:
setcap cap_net_raw,cap_net_admin)、Docker 特权模式,具备完整的本地网络访问能力。allow_destructive_testing: true 配置下,Agent 可执行 DELETE 请求等破坏性操作。项目文档明确要求:仅用于授权安全测试,用户须遵守目标范围和法律规范。
模型能力依赖:AIRecon 的上限完全由所选 LLM 的能力决定。小于 8B 的模型会产生大量幻觉(虚构 CVE、跳过 scope 规则),12B-14B 模型工具调用错误率约 20-40%,实际可用性有限。真正可靠的体验需要 35B+ 模型(20GB VRAM),这超出了很多个人研究员的硬件条件。
Docker 环境不稳定:Kali Docker 镜像约 18GB,在低内存机器上构建和运行容易 OOM(内存不足)。配置 docker_memory_limit 参数需要用户对容器资源管理有一定了解。
阶段切换的 LLM 依赖:RECON→ANALYSIS→EXPLOIT→REPORT 四个阶段的自动切换完全依赖 LLM 的推理能力,没有硬编码的退出条件。在复杂目标上,LLM 可能过早退出侦察阶段或陷入循环利用无害端点。
缺乏 Web UI:纯 TUI 界面对非命令行用户不友好,缺乏可视化的漏洞报告导出、图表展示等辅助功能。
AIRecon 代表了 AI + 安全工具链融合的一个重要方向——用 AI Agent 编排传统安全工具,减少人工介入,提高渗透测试效率。与商业 API 类 AI 安全工具相比,100% 本地化的设计在数据隐私敏感的场景下具有不可替代的价值。
从 GitHub Stars 增长轨迹看,该项目在 2025-2026 年间保持了稳定增长,主要受益于:
未来可能的发展方向包括:多 Agent 协作(不同 Agent 负责不同攻击面)、自动化 CVE 验证工作流、以及与更多企业安全工具链(Burp Suite、Jira)的集成。