© 2026FindAgent  · @simprr
返回列表
G

GH05TCREW/pentestagent

PentestAgent is an AI agent framework for black-box security testing, supporting bug bounty, red-team, and penetration testing workflows.

aiai-agentsai-assistantai-cybersecurityai-hackingai-security-toolblackbox-testingctf-toolsknowledge-graphllmmcp-toolspenetration-testingpentesting-toolsred-teamingsecurity-automation
⭐

1.8k

Stars

🔱

377

Forks

👁

18

Watchers

📋

10

Issues

PythonMIT创建于 2025/5/15更新于 今天
在 GitHub 上查看
README
由 Gemini 翻译整理

PentestAgent

AI 渗透测试框架

Python License Version Security MCP

https://github.com/user-attachments/assets/a67db2b5-672a-43df-b709-149c8eaee975

要求

  • Python 3.10+
  • OpenAI、Anthropic 或其他支持 LiteLLM 的服务商 API Key

安装

# 克隆仓库
git clone https://github.com/GH05TCREW/pentestagent.git
cd pentestagent

# 设置 (创建 venv,安装依赖)
.\scripts\setup.ps1   # Windows
./scripts/setup.sh    # Linux/macOS

# 或者手动设置
python -m venv venv
.\venv\Scripts\Activate.ps1  # Windows
source venv/bin/activate     # Linux/macOS
pip install -e ".[all]"
playwright install chromium  # 浏览器工具所需

配置

在项目根目录创建 .env 文件:

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

或使用 OpenAI:

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

支持任何 LiteLLM 所支持的模型。

运行

pentestagent                    # 启动 TUI
pentestagent -t 192.168.1.1     # 指定目标启动
pentestagent --docker           # 在 Docker 容器中运行工具

Docker

在 Docker 容器中运行工具以实现隔离,并预装渗透测试工具。

选项 1:拉取预构建镜像(最快)

# 包含 nmap, netcat, curl 的基础镜像
docker run -it --rm \
  -e ANTHROPIC_API_KEY=your-key \
  -e PENTESTAGENT_MODEL=claude-sonnet-4-20250514 \
  ghcr.io/gh05tcrew/pentestagent:latest

# 包含 metasploit, sqlmap, hydra 等的 Kali 镜像
docker run -it --rm \
  -e ANTHROPIC_API_KEY=your-key \
  ghcr.io/gh05tcrew/pentestagent:kali

选项 2:本地构建

# 构建
docker compose build

# 运行
docker compose run --rm pentestagent

# 或使用 Kali 版本
docker compose --profile kali build
docker compose --profile kali run --rm pentestagent-kali

容器运行的 PentestAgent 可直接访问 Linux 渗透测试工具,代理可以通过终端工具直接调用 nmap、msfconsole、sqlmap 等。

需要安装并运行 Docker。

模式

PentestAgent 具有三种模式,可通过 TUI 中的命令访问:

模式命令描述
Assist/assist 单次指令执行,支持工具调用
Agent/agent 针对单一任务的自主执行
Crew/crew 多代理模式。由协调器生成专门的工作节点
Interact/interact 交互模式。与代理对话,在渗透测试过程中获得引导和帮助

TUI 命令

/assist     单次指令执行
/agent      在任务上运行自主代理
/crew       在任务上运行多代理团队
/interact   在引导模式下与代理聊天
/target     设置目标
/tools      列出可用工具
/notes      显示已保存的笔记
/report     从当前会话生成报告
/memory     显示 token/内存使用情况
/prompt     显示系统提示词 (System Prompt)
/mcp        可视化或添加新的 MCP 服务器
/clear      清除聊天记录和历史
/quit       退出 (支持 /exit, /q)
/help       显示帮助 (支持 /h, /?)

按 Esc 停止运行中的代理。按 Ctrl+Q 退出。

剧本 (Playbooks)

PentestAgent 包含用于黑盒安全测试的预构建攻击剧本。剧本定义了针对特定安全评估的结构化方法。

运行剧本:

pentestagent run -t example.com --playbook thp3_web

Playbook Demo

工具

PentestAgent 内置工具并支持 MCP (Model Context Protocol) 以实现扩展性。

内置工具: terminal (终端), browser (浏览器), notes (笔记), web_search (网页搜索,需 TAVILY_API_KEY), spawn_mcp_agent (代理衍生)

代理自动衍生 (spawn_mcp_agent)

spawn_mcp_agent 是一个内置工具,允许正在运行的代理通过 stdio 连接衍生出其自身的子副本作为从属 MCP 服务器。子进程是完全隔离的——拥有独立的运行时、LLM 客户端、对话历史和笔记存储,且其完整的工具集在衍生后会被注入回父代理的可用工具中。

这实现了层次化的多代理工作流,无需外部编排:代理通过按需衍生子进程并委派限定范围的子任务来实现自我组织。

参数类型默认值描述
targetstring—传递给子进程的渗透目标
scopestring[]—子进程的作用域目标/CIDR
modelstring—子进程使用的模型
贡献者
Ggfdj
项目信息
默认分支main
LicenseMIT License
创建时间2025/5/15
最近更新今天
GAI 中文摘要

PentestAgent 是一个基于 AI 的黑盒渗透测试框架,旨在通过自动化智能代理技术辅助安全专家进行漏洞挖掘与攻击模拟。该项目支持多种交互模式与攻击剧本,能显著提升红队评估、漏洞赏金计划及各类安全测试任务的效率。

它具备单次指令执行、自主任务处理以及多智能体协作的多种工作模式,能够灵活应对不同深度的安全评估需求。内置丰富的渗透测试工具链并支持 MCP 协议扩展,可实现终端交互、网页浏览及网络搜索等自动化功能。提供预构建的攻击剧本(Playbooks)以实现标准化的安全评估流程,同时支持容器化部署以确保测试环境的隔离与工具兼容性。拥有独特的自我衍生能力,允许代理根据任务需求动态创建并管理子代理,从而构建层次化的复杂任务执行体系。

本项目主要适用于红队安全专家、漏洞研究员以及追求渗透测试流程自动化的安全从业者。它非常适合在需要进行高效黑盒测试、复杂漏洞挖掘以及多阶段协同攻防演练的场景中使用。