文章总结: 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 自动:
- 识别系统指纹(CMS/框架/版本)
- FOFA 圈定同款系统并统计规模
- 抽样验证其他同款站点
- 判定是否可批量通杀
一个低危变成批量中危,一个中危变成批量高危。
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
脚本会引导你填写:
- LLM API Key(必填)
- FOFA Key(推荐)
- 控制台访问令牌(自动生成)
- 对外端口(默认 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 ufw allow 18800/tcp # CentOS/RHELsudo firewall-cmd --permanent --add-port=18800/tcp && sudo 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” # 找某集团的资产cert.subject.org=”某某集团” && country=”CN” # 找特定 CMSbody=”Powered by XXX” && domain=”.edu.cn”
自然语言搜集
不会写 FOFA 语法也行,直接用大白话:
找全国高校的统一身份认证登录系统找某集团的 OA / CRM / ERP 资产
Collector Agent 会自动翻译成 FOFA 查询并逐轮演化。
#
七、常见问题与避坑
问题 1:LLM 调用失败 / 暂时不可用
现象:日志显示 LLM 暂时不可用,预计 XX 秒后重试
原因:连续失败触发了熔断冷却机制(分级冷却 300s → 900s → 1800s → 3600s)
解决:
# 彻底重启清除冷却状态docker compose down && docker compose up -d # 或者清除所有数据重建(会丢任务记录)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 # Anthropic 兼容接口LLM_PROTOCOL=anthropic_messages
问题 3:模型列表拉取失败(JSONDecodeError)
现象:设置页显示”拉取模型列表失败”
原因:LLM_BASE_URL 缺少 /v1 后缀,导致请求路径错误
解决:确保 base_url 以 /v1 结尾:
# ✅ 正确LLM_BASE_URL=https://api.example.com/v1 # ❌ 错误LLM_BASE_URL=https://api.example.com
问题 4:额度不足(quota)
现象:余额不足或无可用资源包
解决:
- 充值对应模型的资源包
- 注意某些平台资源包是按模型区分的
- 切换到免费/便宜模型(如
glm-4-flash、deepseek-chat)
问题 5:控制台设置页配置与 .env 冲突
重要:控制台设置页保存的配置优先级高于 .env 文件(存在数据库中)
如果你在设置页保存过旧配置,即使改了 .env 也不会生效。必须同时在设置页更新。
问题 6:Token 消耗过快
控制策略:
# 限制 Worker 最大轮数WORKER_MAX_ROUNDS=90WORKER_SOFT_ROUNDS=45 # 降低并发AUTOHUNTER_AGENT_THREAD_POOL_SIZE=4 # 工具输出截断(减少回传给模型的数据量)WORKER_LLM_TOOL_OUTPUT_TRUNCATE=4096
问题 7:构建失败(网络问题)
首次构建需要下载 nuclei/httpx 的 GitHub Release,国内可能超时:
- 确保服务器能访问 GitHub
- 或提前下载二进制放到 Dockerfile 对应路径
- 使用代理:
docker build --build-arg HTTP_PROXY=xxx
#
八、运维命令速查
# 查看实时日志docker compose logs -f autohunter # 重启服务docker compose restart autohunter # 停止服务(数据保留)docker compose down # 更新代码后重建docker compose up -d --build # 彻底清除重建(丢数据)docker compose down -v && docker compose up -d --build
#
九、安全注意事项
- 务必设置
AUTOHUNTER_API_TOKEN:否则控制台对全网裸奔 - 收窄 FOFA 搜索范围:用
org/domain/cert限定归属,避免打到授权范围外 - 成本控制:目标越多 token 越贵,合理设置并发和轮数预算
- 仅对授权目标使用:本工具遵循 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 自主漏洞挖掘平台》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。







评论