首页 网络安全 渗透测试 查看内容

PentestAgent:AI 渗透测试工作台

2026-5-26 09:37 766 0

摘要: 它的基本结构可以拆成五层:层级作用仓库位置TUI / CLI负责交互、命令入口、会话管理pentestagent/interface/Agent处理任务、调用 LLM、调度工具pentestagent/agents/Tools终端、浏览器、笔记、Web 搜索、MCP 子 Agentpentestagent/tools/...
关键词:Agent, Notes, PentestAgent, Docker, Shadow, GitHub, Runtime, GH05TCREW, Tools, Server

简介

PentestAgent 是 GH05TCREW 开源的 AI 渗透测试工具,定位是面向黑盒安全测试的 TUI Agent。它可以在终端界面里调用 LLM、浏览器、终端、笔记、MCP 工具和子 Agent,辅助完成授权范围内的安全测试流程。

项目地址:

https://github.com/GH05TCREW/pentestagent

技术原理

PentestAgent 的核心不是单纯“让模型回答渗透测试问题”,而是把模型放进一个可执行、可记忆、可扩展的运行环境里。

它的基本结构可以拆成五层:

层级
作用
仓库位置
TUI / CLI
负责交互、命令入口、会话管理
pentestagent/interface/
Agent
处理任务、调用 LLM、调度工具
pentestagent/agents/
Tools
终端、浏览器、笔记、Web 搜索、MCP 子 Agent
pentestagent/tools/
Runtime
本地或 Docker 中执行命令和浏览器动作
pentestagent/runtime/
Knowledge
RAG、Notes、Shadow Graph
pentestagent/knowledge/

在普通 Agent 模式下,用户给出任务,模型根据系统提示和历史上下文选择工具执行。工具返回结果后,Agent 再继续推理,直到任务完成或达到最大迭代次数。

在 Crew 模式下,Orchestrator 会管理 Worker Pool。它会根据任务拆分子任务,再让不同 Worker 执行。仓库里的 CrewOrchestrator 还会读取 notes,并把 notes 交给 Shadow Graph 生成策略提示。

这个设计让 PentestAgent 更像一个“带工作台的 AI 安全助手”,而不是一次性命令生成器。

四种工作模式

README 里给出了 4 种 TUI 模式:

模式
命令
适合场景
Assist
/assist
一次性辅助任务,执行工具后返回结果
Agent
/agent
单任务自主执行
Crew
/crew
多 Agent 协作,由 Orchestrator 分派 Worker
Interact
/interact
交互式引导,适合边测试边询问

TUI 里还提供了常用命令:

/target        设置目标
/tools               查看可用工具
/notes               查看保存的笔记
/report              从当前会话生成报告
/memory              查看 token / memory 使用
/conversations       浏览和恢复历史会话
/mcp      查看或添加 MCP 服务
/spawn               手动生成子 Agent
/despawn             终止子 Agent

其中 /conversations 比较实用。它会保存历史对话,支持回溯、分叉和恢复。对于安全测试这种长流程任务,这比一次性聊天窗口更适合复盘。

MCP 与子 Agent

PentestAgent 对 MCP 的支持分成两个方向。

第一,它可以消费外部 MCP Server,把第三方工具接入自身工具列表。例如 README 里给了 nmap MCP、Kali MCP、n8n MCP 的示例配置。

第二,它也可以把自己暴露成 MCP Server,让 Claude Desktop、Cursor 等 MCP 客户端远程调用它。

启动 STDIO MCP Server:

pentestagent mcp_server --type stdio

启动 SSE MCP Server:

pentestagent mcp_server --type sse --host 0.0.0.0 --port 8080

MCP Server 模式下,它暴露的能力包括任务执行、异步任务、任务查询、工具启停、会话历史、memory、日志和 metrics。

Kali MCP List

更关键的是 spawn_mcp_agent。这是一个内置工具,允许正在运行的 Agent 生成一个子 PentestAgent,并通过 stdio MCP 接回父 Agent。子 Agent 有自己的运行时、LLM client、会话历史和 notes store。

这种方式适合把大任务拆成多个隔离子任务。例如一个父 Agent 负责总体判断,两个子 Agent 分别跑不同网段的枚举任务。子 Agent 完成异步任务后,会通过通知唤醒父 Agent 读取结果。

RAG、Notes 与 Shadow Graph

PentestAgent 不是只靠上下文窗口记忆。

README 里列了三类知识能力:

能力
说明
RAG
把方法论、CVE、wordlist 放到 pentestagent/knowledge/sources/ 后自动检索注入
Notes
Agent 把 credential、vulnerability、finding、artifact 等信息保存到 notes
Shadow Graph
Crew 模式下根据 notes 构建知识图谱,辅助发现关系和下一步动作

代码里的 ShadowGraph 使用 NetworkX。它会从 notes 中抽取 host、service、credential、finding、artifact 等节点,再建立 AUTH_ACCESSHAS_SERVICERELATED_TO 等关系。

这对黑盒测试很重要。一次测试不会只有一个结果,常见情况是先拿到一个服务指纹,再发现一个凭据,再把凭据和另一个主机产生关联。Shadow Graph 的价值就在于把这些碎片连起来。

Playbook

PentestAgent 内置 attack playbooks,用来把特定测试类型拆成阶段化任务。

README 给出的运行方式:

pentestagent run -t example.com --playbook thp3_web

仓库里目前可以看到 thp3_webthp3_networkthp3_recon 等 playbook。以 thp3_web 为例,它分成 Discovery 和 Exploitation 两个阶段,Discovery 关注技术栈、内容发现、参数点、认证会话机制;Exploitation 关注注入、XSS、权限绕过、SSTI、SSRF、反序列化、XXE、文件包含等类别。

这里要注意:playbook 是任务结构,不等于漏洞确认。实际结论仍需要人工复核和授权边界控制。

Playbook Demo

快速上手

PentestAgent 要求 Python 3.10+,并需要 OpenAI、Anthropic 或其他 LiteLLM 支持的模型 API Key。

  1. 克隆项目
git clone https://github.com/GH05TCREW/pentestagent.git
cd pentestagent
  1. 安装依赖

Linux / macOS:

./scripts/setup.sh

Windows:

.scriptssetup.ps1

也可以手动安装:

python -m venv venv
source venv/bin/activate
pip install -e ".[all]"
playwright install chromium
  1. 配置模型

使用 Anthropic:

ANTHROPIC_API_KEY=sk-ant-...
PENTESTAGENT_MODEL=claude-sonnet-4-20250514

使用 OpenAI:

OPENAI_API_KEY=sk-...
PENTESTAGENT_MODEL=gpt-5

README 写明它支持 LiteLLM 支持的模型,所以实际模型范围不只这两类。

  1. 启动 TUI
pentestagent

带目标启动:

pentestagent -t 192.168.1.1

使用 Docker 隔离运行工具:

pentestagent tui --docker

Docker 模式下,工具会在容器里运行。README 还提供了两个预构建镜像:基础镜像和 Kali 镜像。

docker run -it --rm 
  -e ANTHROPIC_API_KEY=your-key
  -e PENTESTAGENT_MODEL=claude-sonnet-4-20250514
  ghcr.io/gh05tcrew/pentestagent:latest

Kali 镜像包含更多安全工具:

docker run -it --rm 
  -e ANTHROPIC_API_KEY=your-key
  ghcr.io/gh05tcrew/pentestagent:kali
n8n MCP Example

使用场景

1. 授权黑盒测试辅助

任务示例:在已授权目标上做信息收集、端口枚举、页面梳理、发现记录和报告整理。

技术要点:使用 Agent 或 Interact 模式,让模型调用 terminal、browser、notes 等工具。建议配合 Docker Runtime,把命令执行限制在容器环境内。

2. 多 Agent 分工

任务示例:父 Agent 负责总体方向,子 Agent 分别处理不同网段、不同服务或不同测试路径。

技术要点:通过 /spawn 或 spawn_mcp_agent 生成子 Agent。子 Agent 通过 MCP 工具接回父 Agent,并支持异步任务结果通知。

3. MCP 工具整合

任务示例:把 Kali MCP、MetasploitMCP、nmap MCP 或内部自研 MCP 工具接入同一个 TUI。

技术要点:在 mcp_servers.json 中配置外部 MCP Server。工具太多时,PentestAgent 会用 MCP RAG Tool Optimizer 按任务检索相关工具,减少上下文压力。

4. 安全测试过程复盘

任务示例:保存一次测试的对话、工具调用、笔记、发现和报告,用于团队复盘。

技术要点:会话历史会持久化保存,TUI 里可以用 /conversations 浏览和恢复。Notes 还能被 Agent 后续读取,继续补充上下文。

需要注意的点

第一,项目仍是 Alpha。pyproject.toml 里开发状态为 Development Status :: 3 - Alpha,不要直接把它当成成熟商用扫描平台。

第二,仓库没有提供公开 benchmark 数据。文章里的判断只基于项目介绍、代码结构和本地文件,不把功能状态夸大成实测效果。

结尾

PentestAgent 的重点在 TUI、MCP、子 Agent、RAG、Notes 和 Docker Runtime 这几块组合能力。

如果只是想找一个“问一句给一条命令”的工具,它可能显得偏重。但如果你关注 AI 安全测试工作台、MCP 工具编排和多 Agent 协作,它的架构值得拆开看。

项目地址:

https://github.com/GH05TCREW/pentestagent


本文出处: https://mp.weixin.qq.com/s/yhNvsOTvJIlL7UoG9w01Mg
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部