导航

【新人求助】最近在尝试用 Hermes + Kali Linux 进行 AI 辅助漏洞挖掘,效果不太理想,想请教各位大佬

#1

各位大佬好,刚接触 AI 辅助安全研究不久,最近一直在折腾 Hermes,希望通过 AI Agent 调用 Kali Linux 里面的各种安全工具,尝试实现网站漏洞的辅助发现和分析。 目前大致的思路是:

  1. 通过 Hermes 作为 AI Agent,负责理解任务、规划测试步骤和调用工具。
  2. 让 Hermes 调用 Kali Linux 中的工具,例如 Nmap、Nuclei、httpx、Burp Suite 等。
  3. 对授权测试目标进行信息收集、目录探测、技术指纹识别和漏洞检测。
  4. 将工具输出结果交给 AI 分析,尝试识别潜在漏洞、过滤误报,并给出进一步验证思路。
  5. 最后由人工复核漏洞,整理成规范的漏洞报告。

但是实际折腾下来,发现效果并没有预期中那么好,主要遇到了几个问题:

  • 工具调用方面: AI 有时候不能很好地理解工具输出,参数选择也不够准确。
  • 漏洞分析方面: 扫描结果比较多,但 AI 对真正有价值的漏洞判断不够准确,误报也比较多。
  • 测试流程方面: AI 经常重复执行一些操作,缺少比较清晰、连贯的测试思路。
  • 深度分析方面: 对一些需要结合业务逻辑、身份认证和接口权限才能发现的漏洞,AI 似乎比较难独立分析。
  • 上下文管理方面: 测试过程比较长,工具输出一多,AI 就容易丢失前面的信息。

所以想向各位有经验的大佬请教几个问题:

  1. 目前大家有没有真正把 Hermes、OpenClaw 之类的 AI Agent 用于 Web 渗透测试或漏洞研究?
  2. AI Agent 调用 Kali 工具,通常是采用什么架构?MCP、命令行封装,还是自己编写工具接口?
  3. 对于 Web/API 漏洞挖掘,哪些工具组合和工作流比较实用?
  4. AI 在分析扫描结果、发现越权、IDOR、SQL 注入以及业务逻辑漏洞方面,大家有什么比较好的实践?
  5. 如何让 AI 不只是机械地调用扫描工具,而是能够结合前面的结果制定下一步测试思路?
  6. 有没有比较成熟的开源项目、工作流或者值得参考的案例?

目前还是新人阶段,主要在自己的测试环境和明确授权的目标上学习研究。 希望各位大佬能够分享一些真实的实践经验,包括架构设计、工具组合、提示词设计和工作流等。 如果有相关项目或技术文章,也欢迎推荐。 感谢各位大佬指点!

2 小时前
#2

有零散公开实践,但如果你期待的是丢个 URL 就能自动完成整套 Web 审计,目前确实还差得比较远。Hermes、OpenClaw 这类 Agent 更适合定位成“测试编排器+结果分析器”,而不是全自动挖洞机。你现在遇到的重复执行、误报多、丢上下文,很多时候不是模型能力问题,而是工具接口、任务状态和证据管理没做好。

工具层不用纠结 MCP 还是命令行:已有 CLI 且支持 JSON 输出的,直接包一层最省事;工具多、后续可能换模型或接多个客户端,再上 MCP;业务接口的组合校验则自己写小工具或请求模板。MCP 主要解决描述和调用方式,不会自动解决“这个结果意味着什么”。每个工具最好固定输入参数、目标校验、输出格式、超时和原始结果文件,Agent 只拿精简后的 findings,不直接执行任意 shell 字符串。再给命令做一次指纹,已执行过的目标+参数组合直接拒绝重复。

工具组合我一般会拆成几段跑:subfinder/httpx 做存活和站点整理,ffuf/katana 补目录与路由,nuclei 批量筛候选,sqlmap 只接手已有异常信号的参数,interactsh 验证盲注一类需要回连的漏洞,最后把关键请求放进 Burp Repeater/Comparer 手工复核。nmap 只在确实需要端口信息时再跑,不然输出很容易淹掉上下文。Nuclei 的结果只能当候选,不能直接当漏洞结论。

IDOR、越权这类问题用“大范围扫描”效果通常很差,更实用的是做请求矩阵:准备两个身份、两组对象 ID,对同一个接口替换 user_id、order_id、tenant_id 等参数,再比较状态码、响应长度、关键字段和副作用。AI 很适合做响应差异归类,但接口的预期权限最好由你明确给它。SQLi 也建议先做布尔、报错或时间差验证,确认有差异后再交给 sqlmap,避免每次都让 Agent 盲跑。

上下文别把所有终端输出往聊天窗口里塞。每个目标单独保存一份状态,记录“已确认事实、待验证假设、已执行动作、证据文件、下一动作”,原始输出落盘,只把摘要和关键证据送进模型。提示词可以简单规定每轮只输出:观察到什么、证据在哪、置信度多高、下一步最小验证动作、什么条件下停止;没有证据就不得标记为漏洞。这样能明显减少重复扫描和前后结论打架。

论坛里的 pykiller/API-T00L 其实挺能说明问题:它把钉钉、企业微信的固定接口、token 获取和请求流程做成了专用工具,效果比让模型面对一堆杂乱接口乱试好很多。放到 Agent 上也一样,高价值链路应该沉淀成明确的 workflow 或工具模板,而不是寄希望于模型临时规划。开源方面可以看 Nous Research 的 Hermes Agent、MCP 的官方工具示例、GreyDaze 的 PentestGPT(更偏早期研究原型),再配合 ProjectDiscovery 工具链和 pykiller/API-T00L 看具体工具化方式。

最后建议用一套已知漏洞的本地靶场做回归,统计的是“确认漏洞数、重复命令数、平均步骤数、误报率和上下文消耗”,而不是扫了多少条结果。整体思路改成“每一步只做一个可验证的小动作,下一步必须引用已有证据”,效果通常会比让 Agent 自由发挥好很多。

1 小时前
#3
你公众号上搜都不少有挖洞能力的,要能力强准确度高就得用更好的模型
1 小时前
#4
@gy1n 有推荐的吗 ?
1 小时前
#5

不过不是你这个模式的,不会去调用kali的,artex cairn这些

回复 4# Oscar3351

1 小时前
#6

回复 5# gy1n

感谢 🙏🏻
1 小时前
#7
@gy1n 私聊你了