AutoHunter:解放双手!AI自主漏洞挖掘平台

admin 2026-08-21 05:09:54 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: AutoHunter是一款基于多Agent协同的自动化漏洞挖掘系统,由安全研究员StanleyNull开发。其核心理念是让AI执行侦察、攻击验证等任务,人工仅做最终审核。系统内置nmap、nuclei等真实工具链,通过多Agent流水线架构实现7×24小时无人值守挖洞,并具备通杀验证、情报复用、崩溃恢复等特性。部署简单,支持多种大模型,适合SRC漏洞挖掘场景。 综合评分: 87 文章分类: 安全工具,渗透测试,红队,漏洞分析,AI安全


AutoHunter:解放双手!AI 自主漏洞挖掘平台

InfVul无限漏洞实验室

2026年8月20日 06:47 北京

在小说阅读器读本章

去阅读

一台机器 = 24×7 不停歇的挖洞平台,你只当「人工复审员」,醒来几分钟完成裁决。


一、项目简介

AutoHunter是一款基于多 Agent 协同的自动化漏洞挖掘系统,由安全研究员 StanleyNull 开发。它的核心理念很简单——让 AI 干脏活累活,人只做最终决策。

你把一台服务器交给它,配好大模型 API 和 FOFA Key,它就能 7×24 小时不停歇地搜集目标、发起侦察、执行真实攻击验证、提交漏洞发现,而你只需要每天花几分钟看看 AI 审核后的结果,做通过/打回/编辑的裁决。

项目地址:https://github.com/StanleyNull/AutoHunter

在此特别向工具的作者——Stanley_Null 大佬致敬!


#

二、核心优势

1. 真实工具链挖洞,不是纸上谈兵

容器内置了完整的渗透工具链:

  • nmap — 端口扫描与服务识别
  • nuclei — PoC 漏洞验证
  • sqlmap — SQL 注入自动化
  • httpx — 批量 HTTP 探测
  • whatweb — 指纹识别
  • curl/wget/jq — 通用请求与数据处理

LLM 通过 function calling 真实调用这些工具、真实发包验证,产出的是有请求/响应证据链的实锤漏洞。

2. 多 Agent 协同的流水线架构

不是一个模型干所有事,而是多个专职 Agent 各司其职:

| Agent | 职责 | | — | — | | Collector | 从 FOFA 持续搜集目标,探活、预筛、评分、归属标注后入队 | | Worker | 每个目标一个 Worker,LLM 自主侦察 + 调用工具链挖洞 | | Reviewer | 极理性 AI 初审,过滤半成品/误报,只把够格的洞送到人工面前 | | KillSweep | 出洞后分析能否「一打一片」,自动验证同款站点 | | Deepen | 对有潜力的目标进行深度挖掘 | | Intel Curator | 情报沉淀与复用 |

3. 极理性 AI 审核机制

Reviewer Agent 不是简单过滤,而是:

  • 只认「实际可利用 + 实锤危害」的漏洞
  • 要求完整证据链(请求包 → 响应包 → 影响证明)
  • 高危/严重漏洞会触发复现验证(重新发包确认)
  • 垃圾洞(反射 XSS、phpinfo、用户名枚举等)直接丢弃

大幅减少无效人工复审时间。

4. 通杀 Hunter — 一打一片

发现一个漏洞后,KillSweep Agent 自动:

  1. 识别系统指纹(CMS/框架/版本)
  2. FOFA 圈定同款系统并统计规模
  3. 抽样验证其他同款站点
  4. 判定是否可批量通杀

一个低危变成批量中危,一个中危变成批量高危。

5. 24×7 无人值守 + 崩溃恢复

  • 状态全持久化到 SQLite,进程重启从 DB 重建

  • Docker restart: unless-stopped 崩溃自动拉起

  • AUTOHUNTER_RESTORE_ON_STARTUP=1

    重启自动续跑之前 running 的任务

  • Watchdog 监控主循环健康状态

6. 情报沉淀与复用

验证过的凭证、端点、指纹进入全局情报库,后续 Worker 打同一目标或同款系统时直接复用,不重复劳动。

7. 内置安全防护

  • 应用层 WAF 默认开启(保护控制台本身)
  • 多角色访问令牌:全权限 / 只读 / 观摩
  • SSRF 防护(防止把 FOFA Key 发往内网)
  • 工具执行沙箱(超时限制、输出截断)

#

三、系统架构与工作逻辑

整体流程

#

Worker 工具能力

Worker 通过 function calling 可调用以下工具:

| 工具 | 用途 | | — | — | | http_request | 发送任意 HTTP 请求,自动管理 Cookie/会话 | | run_shell | 执行任意 shell 命令(nmap/nuclei/sqlmap 等) | | decode_transform | 解码 base64/hex/JWT/URL 编码 | | suggest_waf_bypass | WAF 被拦截时给出绕过建议 | | analyze_javascript | 分析 JS 文件提取接口/密钥/逻辑 | | submit_finding | 提交发现的漏洞 | | finish | 完成当前目标的挖掘 |

技术栈

| 层 | 选型 | | — | — | | 后端 | Python 3.12 · FastAPI · SQLAlchemy (SQLite) · asyncio | | 前端 | Vue 3 · Vite | | 容器 | Docker · Docker Compose v2 | | 模型 | 支持 OpenAI Chat / Anthropic Messages 协议 | | 工具链 | nmap · nuclei · sqlmap · httpx · whatweb |


四、部署流程(完整实操)

环境要求

  • 任意装得上 Docker 的系统(推荐 Linux)
  • 最低配置:2C4G,磁盘 ≥ 20G
  • 需要能访问 LLM API 和目标网络

方式一:一键部署脚本(推荐)

# 1. 安装 Docker(已装跳过)curl -fsSL https://get.docker.com | sh && sudo systemctl enable --now dockersudo usermod -aG docker $USER && newgrp docker # 2. 拉代码git clone https://github.com/StanleyNull/AutoHunter.git autohunter && cd autohunter # 3. 运行引导脚本(交互式填 Key)bash scripts/install.sh

脚本会引导你填写:

  1. LLM API Key(必填)
  2. FOFA Key(推荐)
  3. 控制台访问令牌(自动生成)
  4. 对外端口(默认 18800)

方式二:手动部署

# 复制配置文件cp .env.example .env # 编辑配置(至少填 LLM_API_KEY)vim .env # 构建并启动docker compose up -d --build # 查看日志docker compose logs -f autohunter

首次构建耗时

首次构建约5-15 分钟,包括:

  • 拉取 Python/Node 基础镜像
  • 编译 Vue 前端
  • 安装渗透工具(nmap/nuclei/sqlmap/httpx/whatweb)
  • 下载 nuclei 模板库

构建完成后访问 http://<服务器IP>:18800/

防火墙放行

# Ubuntu/Debiansudo&nbsp;ufw allow 18800/tcp&nbsp;# CentOS/RHELsudo&nbsp;firewall-cmd --permanent --add-port=18800/tcp &&&nbsp;sudo&nbsp;firewall-cmd --reload

#

五、模型配置详解

AutoHunter 支持多种大模型,核心要求是支持 tool calling(function calling)。

支持的模型协议

| 协议 | 配置值 | 适用模型 | | — | — | — | | OpenAI Chat Completions | openai_chat | DeepSeek / GPT / 通义 / Kimi / GLM(paas/v4) | | Anthropic Messages | anthropic_messages | Claude / GLM(anthropic端点) / 第三方中转 | | 自动检测 | auto | 按 base_url 特征自动判断 |

推荐模型配置

DeepSeek(性价比最高):

LLM_BASE_URL=https://api.deepseek.com/v1LLM_API_KEY=sk-xxxLLM_MODEL=deepseek-chatLLM_PROTOCOL=openai_chat

智谱 GLM-5.2(Anthropic 协议):

LLM_BASE_URL=https://open.bigmodel.cn/api/anthropicLLM_API_KEY=你的智谱keyLLM_MODEL=glm-5.2LLM_PROTOCOL=anthropic_messages

第三方中转站(如 TokenRhythm):

LLM_BASE_URL=https://tokenrhythm.studio/v1LLM_API_KEY=sk_tr_xxxLLM_MODEL=deepseek-v4-pro-0813LLM_PROTOCOL=anthropic_messages

工具调用兼容模式

# auto(默认):原生优先,不支持时自动切提示词模拟# prompt:始终用提示词模拟(给不支持 tool calling 的模型)# native:仅原生AUTOHUNTER_TOOL_COMPAT=auto

多端点池化

支持配置多个 LLM 端点做负载均衡和故障切换:

LLM_PROVIDER_MODE=poolLLM_PROVIDERS_JSON=[{”name”:”primary”,”base_url”:”...”,”api_key”:”...”,”model”:”...”,”protocol”:”...”,”weight”:3},{”name”:”backup”,”base_url”:”...”,”api_key”:”...”,”model”:”...”,”weight”:1}]

#

六、使用指南

#

创建挖掘任务

登录控制台 → 「新建挖掘任务」:

| 字段 | 说明 | | — | — | | 任务名称 | 随便起,方便区分 | | 任务模式 | EduSRC企业SRC | | 目标来源 | FOFA 自动搜 / 手动清单 / 两者 | | 搜集方式 | FOFA 语法 / 自然语言意图 / 自动判断 |

FOFA 语法示例

# 找教育网下的管理后台body=”管理” && org=”China Education and Research Network Center”&nbsp;# 找某集团的资产cert.subject.org=”某某集团” && country=”CN”&nbsp;# 找特定 CMSbody=”Powered by XXX” && domain=”.edu.cn”

自然语言搜集

不会写 FOFA 语法也行,直接用大白话:

找全国高校的统一身份认证登录系统找某集团的 OA / CRM / ERP 资产

Collector Agent 会自动翻译成 FOFA 查询并逐轮演化。


#

七、常见问题与避坑

问题 1:LLM 调用失败 / 暂时不可用

现象:日志显示 LLM 暂时不可用,预计 XX 秒后重试

原因:连续失败触发了熔断冷却机制(分级冷却 300s → 900s → 1800s → 3600s)

解决:

# 彻底重启清除冷却状态docker&nbsp;compose down && docker compose up -d&nbsp;# 或者清除所有数据重建(会丢任务记录)docker compose down -v && docker compose up -d

预防:调整冷却参数,降低敏感度:

LLM_PROVIDER_FAILED_RETRY_SECONDS=10LLM_PROVIDER_FAIL_THRESHOLD=8

问题 2:协议不匹配(404 / Not Found)

现象:请求发到了错误的路径

原因:LLM_PROTOCOL=auto 自动检测错误

解决:显式指定协议:

# OpenAI 兼容接口LLM_PROTOCOL=openai_chat&nbsp;# Anthropic 兼容接口LLM_PROTOCOL=anthropic_messages

问题 3:模型列表拉取失败(JSONDecodeError)

现象:设置页显示”拉取模型列表失败”

原因:LLM_BASE_URL 缺少 /v1 后缀,导致请求路径错误

解决:确保 base_url 以 /v1 结尾:

# ✅ 正确LLM_BASE_URL=https://api.example.com/v1&nbsp;# ❌ 错误LLM_BASE_URL=https://api.example.com

问题 4:额度不足(quota)

现象:余额不足或无可用资源包

解决:

  • 充值对应模型的资源包
  • 注意某些平台资源包是按模型区分的
  • 切换到免费/便宜模型(如 glm-4-flashdeepseek-chat

问题 5:控制台设置页配置与 .env 冲突

重要:控制台设置页保存的配置优先级高于 .env 文件(存在数据库中)

如果你在设置页保存过旧配置,即使改了 .env 也不会生效。必须同时在设置页更新。

问题 6:Token 消耗过快

控制策略:

# 限制 Worker 最大轮数WORKER_MAX_ROUNDS=90WORKER_SOFT_ROUNDS=45&nbsp;# 降低并发AUTOHUNTER_AGENT_THREAD_POOL_SIZE=4&nbsp;# 工具输出截断(减少回传给模型的数据量)WORKER_LLM_TOOL_OUTPUT_TRUNCATE=4096

问题 7:构建失败(网络问题)

首次构建需要下载 nuclei/httpx 的 GitHub Release,国内可能超时:

  • 确保服务器能访问 GitHub
  • 或提前下载二进制放到 Dockerfile 对应路径
  • 使用代理:docker build --build-arg HTTP_PROXY=xxx

#

八、运维命令速查

# 查看实时日志docker&nbsp;compose logs -f autohunter&nbsp;# 重启服务docker compose restart autohunter&nbsp;# 停止服务(数据保留)docker compose down&nbsp;# 更新代码后重建docker compose up -d --build&nbsp;# 彻底清除重建(丢数据)docker compose down -v && docker compose up -d --build

#

九、安全注意事项

  1. 务必设置 AUTOHUNTER_API_TOKEN:否则控制台对全网裸奔
  2. 收窄 FOFA 搜索范围:用 org/domain/cert 限定归属,避免打到授权范围外
  3. 成本控制:目标越多 token 越贵,合理设置并发和轮数预算
  4. 仅对授权目标使用:本工具遵循 CC BY-NC 4.0,禁止商业用途,滥用后果自负

#

十、总结

AutoHunter 的定位很清晰:把漏洞挖掘中最耗时间的「初筛 + 验证 + 重复劳动」交给 AI,人只负责最终的「决策 + 报告提交」。

适合谁用:

  • SRC 赏金猎人(批量挖教育/企业 SRC)
  • 安全团队(7×24 持续监控资产安全状态)
  • 安全研究员(验证某类漏洞的批量影响面)

不适合:

  • 没有 LLM API 预算的(token 消耗不低)
  • 网络受限环境(需要访问目标 + LLM API)
  • 追求 0day 级漏洞发现(目前更擅长已知漏洞类型的批量验证)

一句话总结:挂机过夜,醒来收洞。


Warning:仅限对已获明确书面授权的目标使用。 本工具遵循 CC BY-NC 4.0,禁止任何商业用途,滥用后果自负。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:InfVul无限漏洞实验室 《AutoHunter:解放双手!AI 自主漏洞挖掘平台》

评论:0   参与:  0