pikpikcu/airecon
GitHub: pikpikcu/airecon
结合Ollama本地大模型和Kali Docker沙箱的自主渗透测试代理,支持侦察、分析、利用、报告全流程,无需API密钥即可离线运行。
Stars: 359 | Forks: 58
AI-Powered Autonomous Penetration Testing Agent
AIRecon 是一款自主渗透测试代理,结合了自托管的 **Ollama LLM** 和 **Kali Linux Docker 沙箱**、原生 **Caido 代理集成**、结构化的 **RECON → ANALYSIS → EXPLOIT → REPORT 流程**,以及实时 **Textual TUI** — 完全离线运行,无需 API 密钥。  ## 为什么选择 AIRecon? 商业 API 模型(OpenAI GPT-4、Claude、Gemini)在递归自主侦察工作流程中成本过高,每次会话可能需要数千次 LLM 调用。 AIRecon 专为本地、私有运行而构建。 | 功能 | AIRecon | 基于云的代理 | |---------|---------|-------------------| | 需要 API 密钥 | **否** | 是 | | 目标数据上传到云 | **否** | 是 | | 离线工作 | **是** | 否 | | Caido 集成 | **原生** | 无 | | 会话恢复 | **是** | 视情况而定 | - **隐私优先** — 目标情报、工具输出和报告永远不会离开您的机器。 - **原生 Caido** — 5 个内置工具:list、replay、automate(`§FUZZ§`)、findings、scope。 - **完整工具链** — Kali 沙箱 + 浏览器自动化 + 自定义模糊测试器 + Schemathesis API 模糊测试 + Semgrep SAST。 - **技能知识库** — 57 个内置技能文件,289 个关键词 → 技能自动映射。由 **[airecon-skills](https://github.com/pikpikcu/airecon-skills)** 扩展 — 一个社区技能库,包含 57 个额外的 CLI 剧本,用于 CTF、漏洞赏金和渗透测试。 ## 流程 ``` RECON → ANALYSIS → EXPLOIT → REPORT ``` 每个阶段都有特定目标、推荐工具和自动转换条件。阶段执行是**软性**的 — 代理会被引导但不会被阻止。检查点每 5(阶段评估)、10(自我评估)和 15(上下文压缩)次迭代运行一次。 ## 模型要求 AIRecon 需要具有**扩展思考**(`` 块)和**可靠工具调用**能力的模型。功能通过 `ollama show` 元数据自动检测。 | 模型 | 拉取命令 | VRAM | 备注 | |-------|------|------|-------| | **Qwen3.5 122B** | `ollama pull qwen3.5:122b` | 48+ GB | 最佳质量,最可靠 | | **Qwen3.5 35B** | `ollama pull qwen3.5:35b` | 20 GB | **推荐给大多数用户** | | **Qwen3.5 35b** | `ollama pull qwen3.5:35b-a3b` | 16 GB | MoE — 更低 VRAM | | **Qwen3.5 9B** | `ollama pull qwen3.5:9b` | 6 GB | **最低可行** — 预期频繁出错 | **模型大小指导:** - **≥32B:** 适合完整侦察流程,工具调用准确率高 - **8B-14B:** 可用于简单任务,预期 20-40% 的工具调用错误和幻觉 - **<8B:** 技术上可用但产生不可靠结果 — 不建议用于正式测试 **已知问题:** DeepSeek R1 产生不完整的函数调用。小于 8B 的模型缺乏可靠的工具调用支持。 ## 安装 **前置条件:** Python 3.12+、Docker 20.10+、Ollama(运行中)、git、curl ### 一键安装(推荐) ``` curl -fsSL https://raw.githubusercontent.com/pikpikcu/airecon/refs/heads/main/install.sh | bash ``` 脚本自动检测远程或本地模式,如缺少 Poetry 则安装(通过官方安装器 — 无系统包冲突),构建 wheel 并安装到 `~/.local/bin`。 ### 手动安装(从源码) ``` git clone https://github.com/pikpikcu/airecon.git cd airecon ./install.sh ``` ``` # 添加到 ~/.bashrc 或 ~/.zshrc(如需要) export PATH="$HOME/.local/bin:$PATH" airecon --version ``` ## 配置 配置文件:`~/.airecon/config.yaml`(首次运行时自动生成)。 ``` # ====================================== # Ollama 连接 # ====================================== # Ollama API 端点。必需 — 必须设置。本地:http://127.0.0.1:11434。远程:http://IP:11434 ollama_url: "http://127.0.0.1:11434" # 要使用的模型。122B 最佳推理(需要 60GB+ VRAM)。12GB VRAM:使用 qwen2.5:7b 或更小。8GB VRAM:使用 qwen2.5:1.8b。 ollama_model: "qwen3.5:122b" # 总请求超时时间(秒)。180s = 3 分钟。大多数模型稳定。慢速远程服务器或 122B 模型增加至 300s。 ollama_timeout: 180.0 # ====================================== # Ollama 模型设置 # ====================================== # 上下文窗口大小。65536 = 64K(12GB VRAM + 8B 模型稳定)。131072 = 128K 需要 30GB+ VRAM。设为 -1 使用服务器默认值。 ollama_num_ctx: 65536 # CTF/摘要模式上下文。32768 = 32K(12GB VRAM 稳定)。8B+ 模型为稳定性从 64K 减少。 ollama_num_ctx_small: 32768 # LLM 输出随机性。0.0=确定性,0.15=推荐(严格),0.3=创意。不影响思考模式 — 仅控制输出多样性。 ollama_temperature: 0.15 # 最大生成 token 数。16384 = 16K(12GB VRAM 稳定)。32K 需要更多 VRAM。 ollama_num_predict: 16384 # 启用扩展思考模式(适用于 Qwen3.5+/Qwen2.5+)。启用后,模型在回答前生成 推理块。 ollama_enable_thinking: true # 思考强度:low|medium|high|adaptive。12GB VRAM:使用 'low' 或 'medium'。'high' 可能导致 8B 模型 OOM。Low=仅深度工具,Medium=ANALYSIS+深度工具,High=最多迭代(仅高 VRAM)。 ollama_thinking_mode: low # 保护前 N 个 token 免于 KV 驱逐。4096 = 4K(为 12GB VRAM 稳定性减少)。更大 VRAM 用 8K。 ollama_num_keep: 4096 # ====================================== # 代理服务器 # ====================================== # 代理服务器绑定主机。127.0.0.1 = 仅本地主机。 proxy_host: 127.0.0.1 # 代理服务器端口。默认 3000。 proxy_port: 3000 # ====================================== # 超时时间 # ====================================== # Docker 命令超时(秒)。900s = 15 分钟用于长扫描(nmap、nuclei)。 command_timeout: 900.0 # ====================================== # Docker 沙箱 # ====================================== # 容器内存限制。'16g' = 16GB(32GB+ RAM 主机稳定,18GB 镜像 + Chromium)。防止 OOM 杀死。32GB RAM 设为 '12g',16GB 系统设为 '8g',8GB 系统设为 '4g'。 docker_memory_limit: 16g # ====================================== # 深度侦察 # ====================================== # 会话开始时自动启动深度侦察。 deep_recon_autostart: true # 侦察执行模式:standard|full。standard=尊重用户范围,full=将简单目标提示自动扩展为全面侦察。 agent_recon_mode: standard # ====================================== # 安全 # ====================================== # 允许破坏性测试(例如 DELETE 请求)。默认:False 以确保安全。 allow_destructive_testing: false ``` | 键 | 默认值 | 备注 | |-----|---------|-------| | `ollama_temperature` | `0.15` | 保持在 0.1–0.2。更高值会导致幻觉。 | | `ollama_num_ctx` | `131072` | 如果 VRAM 有限,降至 `32768`。 | | `ollama_keep_alive` | `"60m"` | 模型保持在 VRAM 中的时间。 | | `deep_recon_autostart` | `true` | 裸域名输入自动展开为完整侦察。 | | `allow_destructive_testing` | `false` | 解锁激进模式(SQLi 确认、RCE 链)。 | | `command_timeout` | `900.0` | Docker 中每个 shell 命令的最大秒数。 | | `vuln_similarity_threshold` | `0.7` | 漏洞的 Jaccard 去重阈值。 | **远程 Ollama:** ``` "ollama_url": "http://192.168.1.100:11434" "ollama_model": "qwen3:32b" ``` ## 使用方法 ``` airecon start # start TUI airecon start --session标签:AI安全, AI风险缓解, API安全测试, Bug Bounty, Caido, Chat Copilot, CISA项目, DNS 反向解析, DNS枚举, Docker, HTTP工具, LLM评估, Ollama, Python, SAST, Schemathesis, Semgrep, Textual TUI, Web安全, WordPress安全扫描, XXE攻击, 侦察工具, 反取证, 可自定义解析器, 安全评估, 安全防御评估, 无API依赖, 无后门, 无线安全, 本地大模型, 浏览器自动化, 盲注攻击, 离线工具, 网络安全, 网络安全审计, 网络安全工具, 自主代理, 自主渗透测试, 蓝队分析, 请求拦截, 逆向工具, 隐私保护