PentesterFlow

在终端中协助渗透测试,并由分析人员掌控高风险操作。

Star 数
★ 1.4k
最近更新
1 个月前
License
Apache-2.0
主语言
TypeScript

30 秒速览

运行形态
命令行工具
可在哪里用
通用 · 跨平台OpenAI API
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Node.js 20+,用于从源码开发受支持的本地或托管模型后端Shell / 命令行网络访问本地文件系统MCP Server
典型场景
渗透测试人员在已获授权的 Web 或 API 项目中,需要从侦察一路推进到证据化报告,并希望敏感命令仍由人工审批。
不适合
  • 未获得目标系统明确授权就进行测试的用户
  • 希望有图形界面而非终端操作的渗透测试人员

这个 Agent 能做什么,适合哪些场景?

PentesterFlow 是面向授权渗透测试与漏洞赏金工作的开源终端助手,覆盖侦察、枚举、漏洞验证、证据收集和报告。它通过计划、执行、观察、验证、报告和学习的循环,调用 Shell、HTTP、文件、搜索、浏览器捕获及 Burp 相关工具,并默认要求人工批准敏感操作。产品支持 Ollama、LM Studio、Kimi、Groq、Gemini、OpenRouter、DeepSeek 和 OpenAI 兼容接口,可使用本地模型或托管模型。已确认的问题会以 Markdown 写入 ./findings/<slug>.md,并可同时保留覆盖状态、会话、上下文快照和 JSON Lines 日志。其运行边界是用户自己的终端与本地工作区;它能够执行命令、访问目标网络、修改文件并处理捕获的流量,因此只适用于获得明确授权的系统。

用户先用 /target 设置获准测试的目标,再给出诸如映射 API 或验证访问控制的问题。代理可加载 recon、webvuln、ssrf、ssti、jwt、graphql、race、takeover、supabase 或 deserialize 等 Markdown 技能,并调用 shell/BashTool、http、GlobTool、GrepTool、web_fetch、web_search、browser_capture_* 和文件工具开展测试。coverage 记录端点、参数与漏洞类型的测试组合,/next 根据尚未覆盖的部分建议后续工作。候选漏洞需要通过可复现的请求和响应证据验证;confirm_finding 随后把标题、严重性、影响、修复建议、证据和可复制的 curl 命令写入 ./findings/<slug>.md。会话保存在 ~/.pentesterflow/sessions/*.json,/compact、/memory、/snapshot 和后台持续学习机制用于跨长时间评估保留上下文。启用 --burp 后,本地监听器可接收 Burp 或浏览器流量,配套 pentesterflow-browser-mcp 则把捕获数据暴露给兼容的 MCP 客户端。

  1. 渗透测试人员在已获授权的 Web 或 API 项目中,需要从侦察一路推进到证据化报告,并希望敏感命令仍由人工审批。
  2. 漏洞赏金研究员需要测试 IDOR、JWT、SSRF、SSTI、GraphQL 或竞态问题,并把复现请求与响应保存为可提交的发现。
  3. 安全团队正在进行周期较长的评估,希望通过保存会话、压缩记忆、上下文快照和覆盖记录,在多次终端会话间继续工作。
  4. Burp Suite 用户希望把选中的请求发送到终端代理分析,并将确认后的发现重新导入 Burp issues。
  5. 重视数据边界的团队希望使用 Ollama 或 LM Studio 本地模型,同时仍保留切换到多个托管后端或 OpenAI 兼容端点的选择。

如何安装或部署这个 Agent?

macOS 或 Linux:

curl -fsSL https://raw.githubusercontent.com/PentesterFlow/agent/main/install.sh | sh

Windows PowerShell:

irm https://raw.githubusercontent.com/PentesterFlow/agent/main/install.ps1 | iex

安装器下载对应系统的独立二进制文件,并在可用时校验发布的 SHA-256。也可以从 GitHub Releases 下载 macOS arm64/x64、Linux arm64/x64 或 Windows x64 文件。若从源码开发,需要 Node.js 20+,然后运行:

npm install
npm run dev -- --version
npm run typecheck
npm run lint
npm run test
npm run build

首次使用还需要一个受支持的模型后端。使用本地 Ollama 的示例是:

ollama pull qwen2.5-coder:32b

pentesterflow

如何使用这个 Agent?

启动 pentesterflow 后,用 /provider 选择后端、API 密钥和模型;本地 Ollama 或 LM Studio 通常不需要托管服务密钥,Kimi、Groq、OpenRouter、DeepSeek 和 Gemini 示例分别使用 MOONSHOT_API_KEY、GROQ_API_KEY、OPENROUTER_API_KEY、DEEPSEEK_API_KEY 和 GEMINI_API_KEY。最小交互流程:

/provider
/target https://app.example.com
map the authenticated API surface and test for IDOR

也可直接指定后端,例如:

pentesterflow --backend ollama --model qwen2.5-coder:32b

OpenAI 兼容端点可这样配置:

pentesterflow --backend openai-compat --base-url https://api.example.com/v1 --api-key sk-...

恢复工作使用 pentesterflow --resume <session-id>。Burp 桥接使用 pentesterflow --burp 或 pentesterflow --burp 9999,默认监听 http://127.0.0.1:9999。仅应对明确授权的目标运行测试;除实验环境外,不应启用会自动批准非敏感工具调用的 --yolo。

这个 Agent 有哪些优点和局限?

优点
  • 工作流针对实战安全评估设计,内置从侦察到反序列化测试的多类技能,并以覆盖记录和 /next 管理大型攻击面。
  • 默认采用人工审批,并提供 allow once、allow session、敏感路径保护和灾难性 Shell 命令拦截。
  • 强调可审计证据:工具调用可见,命令可复现,确认后的发现包含请求证据、影响、修复建议及 curl PoC。
  • 支持多个本地和托管模型后端,以及 OpenAI 兼容接口,降低单一模型供应商锁定。
  • Burp、本地浏览器捕获和 MCP 路径可把现有代理流量纳入分析,而会话、快照及本地记忆适合长期项目。
局限
  • 代理获批后可以执行 Shell 命令、发送网络请求和修改文件;错误的授权范围或审批决定可能直接影响本机及目标系统。
  • 远程后端需要相应 API 密钥、网络连接并可能产生供应商费用;来源没有提供价格或成本上限。
  • 持续学习、会话、发现和调试日志会在本地保存目标上下文;完整调试日志可能含命令输出及复制的请求材料,需要单独保护。
  • 不同后端存在已记录的适配差异,例如 Groq 使用更紧凑的提示与较低压缩阈值,LM Studio 需要停止标记防护,部分服务还可能遇到 SSE 或工具调用问题。
  • Burp 工作流依赖配套 PentesterFlow Burp Integration;浏览器 MCP 还需要单独的 pentesterflow-browser-mcp 二进制文件。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
PentesterFlow 当前 73 · 存在缺口 命令行工具免费 + 模型费 ★ 1.4k 1 个月前 TypeScript OpenAI API
HexStrike AI MCP 22 · 缺口较多 MCP 服务器免费 ★ 13k 2 个月前 Python Claude.ai
DarkMoon 自主渗透测试平台 48 · 缺口较多 命令行工具免费 + 模型费 ★ 1.1k 18 天前 Python OpenAI API · Claude API
PentestAgent 50 · 缺口较多 命令行工具免费 + 模型费 ★ 3.2k 27 天前 Python OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
73/ 100 五分制 3.7 / 5
信任安全 21/29
可靠稳定 8/14
适用触发 15/18
规范维护 14/18
有效结果 10/13
证据核验 5/8
查看各维度的扣分理由
信任安全21 / 29 · 3.6/5

README 明确列出 shell、HTTP、文件修改、Burp/MCP、日志及持久化数据的外部影响,并说明敏感操作默认需要逐次或会话级批准;数据目录、远程模型端点、隐藏记忆注入和敏感调试日志也披露得较完整。扣分在于工具权限仍然广泛,YOLO 模式可跳过部分批准;密钥脱敏和高风险路径保护只有说明而无实现证据;依赖使用宽松版本范围,工作流 action 仅固定到主版本;外部攻击操作没有通用撤销或恢复方案。仓库、包元数据和许可证提供来源线索,但发布者身份未知且未给出明确版权主体。没有材料显示恶意软件、凭据窃取、隐蔽外传或无同意的破坏性默认行为。

可靠稳定8 / 14 · 2.9/5

README、package.json 和 CI/release 工作流对 Node 20+、构建命令、平台资产及检查流程基本一致,且 CI 覆盖 Node 20/22 与 macOS/Linux。扣分在于 package.json 为 0.1.0-dev,而安装示例引用 v0.1.6;Windows 仅见交叉编译发布,没有常规 CI;外部模型、Burp 和 MCP 的可用性依赖未给出降级矩阵。失败处理只零散提到学习失败写日志、调试日志及发布资产错误,缺少面向用户的系统化错误信息与恢复指导。

适用触发15 / 18 · 4.2/5

目标用户、授权渗透测试场景、完整测试生命周期、多种模型后端、操作系统、架构、技能覆盖和扩展目录均有清晰说明,环境适配证据较强。扣分在于能力边界主要依赖文档声明,广泛的自然语言触发、技能覆盖和隐藏记忆检索可能产生选择歧义;除 /target、计划模式、工具批准和步数上限外,没有展示更严格的目标白名单、网络边界或触发判定规则。

规范维护14 / 18 · 3.9/5

README 信息架构完整,安装、快速上手、命令、工具、数据路径、开发流程和贡献方式易于查找;安装器、校验和、直接下载及多平台资产说明充分。Apache-2.0 元数据与完整 LICENSE 一致,因此许可证得满分。扣分在于没有专门 FAQ 或完整故障排查章节;已知限制分散在警告和 provider 注记中;browser-ingest 已废弃且版本示例与包版本不一致。发布流程会生成版本与说明,但未提供仓库内 changelog。维护入口只有通用 issue/PR 链接和自动化更新路径,没有具名维护者、安全报告渠道或明确支持责任。

有效结果10 / 13 · 3.8/5

预期产出包括可复制 curl、Markdown 漏洞报告、原始请求证据、覆盖状态、日志和可恢复会话,对渗透测试工作流具有很强的直接可用性,因此输出可用性得满分。整合规划、工具、证据、报告、Burp 和持续学习显示出相对通用终端助手的增量价值,但核心效果主要由 README 陈述,缺少所给材料中的代码或测试佐证。支持本地模型并提供廉价模型提示有助于控制成本,但没有延迟、资源消耗、令牌费用、误操作成本或收益基准,故成本效益未获满分。

证据核验5 / 8 · 3.1/5

安装、许可、构建、CI、发布资产和校验和等主张可由 package.json 与工作流相互追踪;README 也给出确定的命令、文件路径和输出格式。扣分在于审批、脱敏、命令阻断、发现确认、记忆检索等关键产品主张没有随附源代码或测试,跨来源只能佐证外围工程与发布流程。文档使用“should”区分部分规范性要求,并明确调试日志风险,但多数能力仍作为既成事实陈述,未系统地区分已验证行为、设计意图和营销性效果主张。

风险与缓解建议
  • 该代理可执行 shell 命令、发送网络请求、修改文件并处理真实认证流量;仅应在书面授权且边界明确的目标上使用,并保持 YOLO 模式关闭。
  • 远程模型提供商可能接收提示、目标细节和工具上下文;使用前应核对各提供商的数据政策,并优先使用隔离的测试凭据。
  • 会话、个人记忆、Burp 捕获、finding 和完整调试日志可能包含敏感目标数据;即使声明有脱敏,也应限制权限、审查内容并制定保留与删除策略。
  • curl 或 PowerShell 管道式安装会执行远程脚本;应固定版本、先审阅安装器并独立校验发布校验和。
  • 本次仅依据 README、许可证、包元数据和工作流进行静态审查,未执行程序,也未验证审批、脱敏、命令阻断或漏洞确认逻辑。
证据充分度:低 评估于 2026年8月23日 审查版本 117c95c224e7 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.1.20 PentesterFlow v0.1.20
    发布说明摘录
    Full Changelog: https://github.com/PentesterFlow/agent/compare/v0.1.19...v0.1.20
    在 GitHub 查看 ↗
  2. v0.1.19 PentesterFlow v0.1.19
    发布说明摘录
    Full Changelog: https://github.com/PentesterFlow/agent/compare/v0.1.18...v0.1.19
    在 GitHub 查看 ↗
  3. v0.1.18 PentesterFlow v0.1.18
    发布说明摘录
    Full Changelog: https://github.com/PentesterFlow/agent/compare/v0.1.12...v0.1.18
    在 GitHub 查看 ↗

常见问题

它会自动攻击目标吗?
默认不会无条件执行敏感操作。相关工具受权限提示控制,用户可以单次允许、会话内允许或拒绝;--yolo 只应在实验环境使用,而且其说明仅保证自动批准非敏感工具调用。
必须把测试数据发送给云端模型吗?
不必须。它支持 Ollama 和 LM Studio 等本地后端,也支持多个托管后端及 OpenAI 兼容接口。实际数据边界取决于用户选择的后端。
它如何减少误报?
项目要求在调用 confirm_finding 前用请求和响应证据复现问题。确认后的报告会保存证据、影响、修复建议和可复制的 curl 命令,但最终判断仍由分析人员负责。
长期评估中断后能继续吗?
可以。会话保存在 ~/.pentesterflow/sessions/*.json,可通过 pentesterflow --resume <session-id> 恢复,并显示持久记忆摘要;系统还支持压缩、即时快照及活动期间每五分钟自动快照。
运行时会留下哪些敏感数据?
它可能保存会话、上下文快照、项目或个人记忆、发现、覆盖状态和日志。常见密钥会在压缩、快照和学习路径中被脱敏,但完整调试日志仍可能包含目标数据、命令输出与请求材料。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents