PentestCode

运行在终端里的自主 AI 渗透测试多智能体系统,自带持久化作战状态、战略协调与并行自治操作。

Star 数
★ 878
最近更新
20 天前
License
MIT
主语言
TypeScript

30 秒速览

运行形态
命令行工具
可在哪里用
通用 · 跨平台OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
LLM 提供商账号(Anthropic、OpenAI、Ollama,或通过 ai-sdk 接入的 20 多个其他提供商)Linux 或 macOS(x64/arm64)渗透测试工具,如 nmap、Nuclei、NetExec、Gobuster、sqlmapShell / 命令行网络访问本地文件系统
典型场景
授权渗透测试人员对内网目标执行从侦察到报告的完整方法论,状态可跨会话续接
不适合
  • 需要开箱即用、不想自行安装配置 nmap、NetExec 等外部工具的用户
  • 需要原生 Windows 支持的团队(仅 Linux/macOS)
  • 对稳定性要求高、不能接受 beta 版循环、漏路径和 token 浪费的用户

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

PentestCode(GitHub: s0ld13rr/pentestcode,MIT 许可)是一个面向进攻性安全的终端 AI 渗透测试智能体,由 OpenCode(MIT)硬分叉而来,去除了代码编辑功能并重建为渗透测试专用。它采用 HPTSA 研究中的战略家—协调者模型,由一个 lead 智能体(pentest)规划任务并并行调度 13 个专职子智能体(recon、scanner、exploiter、identity、webapp、post-exploit、critic、reporter 等)。所有智能体共享一份结构化的 engagement state,涵盖主机与服务、漏洞、凭据、访问权限、实体关系图、AD 域模型、网段及基于 Dijkstra/Yen 算法的攻击路径。除 bash 外内置 18 个专用工具(如 nmap_parse、bloodhound_parse、cred_spray、attack_path_suggest),并提供 19 个按需加载的技能包。它以单个自包含二进制发布(Linux/macOS,x64/arm64),支持通过 ai-sdk 接入 Anthropic、OpenAI、Google、Ollama 等 20 多家模型提供商,并处于 Beta 阶段。

用户给出一条指令(如 "pentest 10.10.10.5, goal is domain admin")后,lead 智能体执行完整的渗透链路:运行 nmap -sS -p- 并通过 nmap_parse 将 XML 直接写入 engagement state;根据端口(88+389)识别域控并并行派发 SMB、LDAP、HTTP 枚举子智能体;执行 AS-REP roasting 获取首个凭据,再用 cred_spray 对所有已知主机的 SMB/WinRM/LDAP/RDP 进行凭据喷洒;拿到 WinRM 落脚点后由后渗透智能体转储 SAM/LSA/DPAPI。所有发现通过 state_update(30+ 变更类型)写入状态,可用 state_query(20+ 查询类型)或斜杠命令 /status、/vulns、/creds 实时查询;findings.md 以时间戳记录每个漏洞、凭据和权限提升,report_gen 生成 markdown/JSON 报告。bloodhound_parse 填充 AD 域模型,attack_path_suggest 基于代价的 Dijkstra + Yen K 最短路径在关系图上寻找攻击路径,scope_check 做 CIDR/通配符范围校验,tunnel_manage 规划 SSH/chisel/ligolo 隧道。

  1. 授权渗透测试人员对内网目标执行从侦察到报告的完整方法论,状态可跨会话续接
  2. CTF 选手在多目标比赛中协调枚举、攻击链和 flag 跟踪
  3. 漏洞赏金猎人自动化 Web 应用与 API 安全测试及侦察
  4. 红队/安全研究者对 Active Directory 环境做身份与攻击路径分析(Kerberos、Bloodhound 数据)
  5. 基础设施安全团队审计网络服务、检查默认凭据
  6. 漏洞研究人员进行系统化枚举与验证,critic 智能体负责过滤误报

如何安装或部署这个 Agent?

通过 npm 安装:npm install -g pentestcode-ai;或用 curl 安装脚本:curl -fsSL https://raw.githubusercontent.com/s0ld13rr/pentestcode/main/install.sh | bash。可固定版本:PENTESTCODE_VERSION=0.1.7 curl -fsSL ... | bash;可自定义目录:PENTESTCODE_INSTALL=/usr/local/bin curl -fsSL ... | bash。也可从源码构建:bun install && bun run build --single --skip-embed-web-ui,产物位于 packages/opencode/dist/pentestcode-<os>-<arch>/bin/pentestcode。需要 Linux 或 macOS(x64/arm64),无需 Bun/Node 运行时。

如何使用这个 Agent?

先连接模型提供商:pentestcode auth login(支持 Anthropic、OpenAI、Google、Azure、AWS Bedrock、Ollama 等 20+ 提供商)。然后:pentestcode 启动交互式会话;或一次性执行:pentestcode --prompt "scan 10.10.10.0/24 and enumerate all services"。配置文件位于 .pentestcode/pentestcode.jsonc,例如 {"provider": {"anthropic": {"model": "claude-sonnet-4-20250514"}}}。运行中用 /status、/targets、/vulns、/creds、/scope、/phase 查看状态;/mode 切换 auto(自主跑完整流程)/ free(无阶段结构、绕过范围检查)/ guided(每步等待批准);/pause 设定发现时暂停策略(never/always/checkpoint);/report 生成报告。仅限授权目标使用。

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

优点
  • 13 个专职子智能体并行作战的多智能体架构,依据 HPTSA 研究相比单智能体有 4.3 倍提升
  • 结构化 engagement state 跨会话持久化,所有智能体共享主机、漏洞、凭据、访问与关系图数据
  • 18 个强制解析器工具(nmap_parse、cme_parse 等)确保工具输出结构化入state,而非靠手工 grep
  • 通过 ai-sdk 支持 20+ 模型提供商,单二进制自包含分发,无运行时依赖
  • 19 个按需加载的 markdown 技能包,可自行添加 SKILL.md 扩展而无需改代码
局限
  • 项目处于 Beta,README 明示在真实项目中有粗糙边缘,可能循环、遗漏明显路径或浪费 token
  • 依赖外部渗透工具(nmap、Nuclei、NetExec、Gobuster、sqlmap、SharpHound 等)需自行安装配置
  • 需要自备 LLM 提供商账号与 API 费用,自主多智能体并行运行的 token 消耗可能较高
  • free 模式会绕过范围检查,auto 模式自主执行攻击操作,存在越权风险,必须严格限定在授权范围
  • 仅支持 Linux 和 macOS,无 Windows 原生支持;README 未提供基准评测或第三方审计证据

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

它是 OpenCode(MIT)的硬分叉,去除了代码编辑定位、重建为进攻性安全用途;多智能体设计引用 HPTSA 研究(arXiv:2410.02246)的 strategizer-coordinator 模型,声称比单智能体提升 4.3 倍。

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

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
PentestCode 当前 55 · 缺口较多 命令行工具免费 + 模型费 ★ 878 20 天前 TypeScript OpenAI API · Claude API
DarkMoon 自主渗透测试平台 48 · 缺口较多 命令行工具免费 + 模型费 ★ 1.1k 1 天前 Python OpenAI API · Claude API
HackSkills — 面向 AI Agent 的攻击性安全技能库 31 · 缺口较多 命令行工具免费 ★ 2.5k 1 个月前 CSS —
HexStrike AI MCP 22 · 缺口较多 MCP 服务器免费 ★ 13k 2 个月前 Python Claude.ai

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
55/ 100 五分制 2.8 / 5
信任安全 14/29
可靠稳定 6/14
适用触发 9/18
规范维护 13/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全14 / 29 · 2.4/5

README 宣称有 scope_check 工具、guided 模式逐步审批、pause 策略与解析器强制管线,但提供的证据文件中没有任何工具实现或权限配置可供核对,最小权限只能记为有主张无实证(1)。guided 模式与 pause always 的描述支持用户确认机制(2)。engagement state、findings.md 的数据流描述较清晰(2)。凭据、hash、shell 访问被显式存储在状态中,但未见加密、脱敏或访问控制说明(1)。依赖大量打了补丁的第三方包与 beta 版 effect(4.0.0-beta.83),补丁存在但无安全审计证据(2)。工具会对真实目标执行 nmap、凭据喷洒、漏洞利用等外向动作,README 仅靠'授权测试'一词约束,且 free 模式'绕过 scope 检查'是明确扣分点(1)。无回滚/撤销机制的任何说明(1)。LICENSE 明确承认 fork 自 OpenCode 并保留 MIT(2)。

可靠稳定6 / 14 · 2.1/5

CI 含 unit/e2e/typecheck 工作流,契约一致性测试写得相当扎实(2),但可见测试全部针对 client SDK,核心 pentest 逻辑(状态机、解析器、scope 检查)无测试证据。依赖大量 beta/RC 版本(effect beta、drizzle RC、pkg.pr.new 的 solid-start),可用性风险实际存在(1)。失败消息仅有 typed error 的间接证据(1)。

适用触发9 / 18 · 2.5/5

面向 pentest/CTF/bug bounty 多场景,受众描述清楚(2)。beta 定位与'expect rough edges'诚实,但工具对目标的破坏性边界、scope 强制的技术保证在证据中缺失,且 free 模式故意绕过检查(1)。slash 命令与模式的触发语义有文档但无实现佐证(1)。支持 Linux/macOS、x64/arm64、多 provider(2)。

规范维护13 / 18 · 3.6/5

README 结构 excellent:安装、快速开始、架构、工具表、命令表、配置、贡献(3)。安装有多种方式含版本固定,但 curl|bash 管道安装未给校验和(2)。命名一致(pentestcode-ai npm 包、目录名)(2)。有配置示例与使用示例但无 FAQ(2)。beta 声明与'expect rough edges'是诚实的局限说明(2)。LICENSE 全文完整且含 fork 归属(3)。有 release badge 但无 CHANGELOG 文件(1)。有 issue 流程与 CI,维护路径可见但发布者身份未验证(2)。

有效结果9 / 13 · 3.5/5

findings.md、/status、/vulns、/creds、report_gen 提供了结构化可用输出(2)。相对'把提示词贴进聊天窗口'的基线,共享状态+解析器管线是真实的边际价值,但 4.3× 等 HPTSA 数字是外部研究的引用而非本项目实测(2)。单二进制、多 provider 降低了成本,但自主喷洒与并行子代理的 token/流量成本未给出估算(2)。

证据核验4 / 8 · 2.5/5

架构主张(13 agents、18 tools、19 skills、30+ mutation types)无法在提供的文件中追溯到实现(1)。HPTSA 论文引用与 fork 声明可外部核对,但内部数字无源(1)。README 区分了自身主张与外部研究(arxiv 链接、fork 说明),混淆较少(2)。

风险与缓解建议
  • 这是一个自主攻击型代理:nmap 扫描、凭据喷洒、漏洞利用均对真实目标执行,务必仅在书面授权范围内使用。
  • free 模式明确绕过 scope 检查;在无人监督的 auto 模式下此风险叠加,建议默认 guided + pause always。
  • 凭据、hash 与 shell 访问以明文存储在本地 engagement state 和 findings.md 中,注意文件权限与磁盘残留。
  • install.sh 通过 curl|bash 执行且无校验和;发布者身份未经验证,建议从源码构建或固定版本并核对哈希。
  • 大量依赖处于 beta/RC 且带本地补丁,存在供应链与稳定性风险;核心 pentest 逻辑(解析器、scope 检查)在可见证据中无测试覆盖。
证据充分度:低 评估于 2026年9月7日 审查版本 095654f24a74 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

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

  1. v0.2.6
    发布说明摘录
    What's New Self-Improvement System - Reflector agent — post-engagement reflection, analyzes outcomes, generates learned skills - Knowledge store — cross-engagement memory at ~/.pentestcode/knowledge/global.json (tool effectiveness, FP patterns) - /reflect slash command — spawns reflector on current or named engagement - Auto-generated skills saved to ~/.pentestcode/skills/user/learned/ CyberStrike Gap Closure …
    在 GitHub 查看 ↗
  2. v0.2.5
    发布说明摘录
    What's New - Goal system — /goal command + set_goal/update_goal/clear_goal state actions. Active goal is injected into system prompt to focus agent reasoning toward a specific objective. - TUI engagement selector — dialog on startup to pick an existing engagement or start fresh (.selected file protocol). - Discovered targets — discovered_targets on Scope tracks found-but-not-explicitly-scoped hosts separately. - Store auto-persist — removed 33 manual save() calls; mutations now auto-persist. Ref.modify atomics replace get+set pairs. …
    在 GitHub 查看 ↗
  3. v0.2.4
    发布说明摘录
    Pentest orchestration + reliability release. - Reliable multi-host pivoting: staged binary transfer + verified SOCKS tunnels; foothold kept alive (per-host exec throttle). - Coordinator = strategist: vector-ledger context, anti-solo-grind rail, activity-aware stall detection (no killing productive subagents). - Subagents scoped to their task (large token reduction); prove-before-claim marker/access read-back. - Scope is operator-gated (Yes/No) with ask-don't-self-limit + fleet-parallelism for breadth. - Web vuln-class skills + reliable-pivot skill; small_model cost tiering; retry caps. …
    在 GitHub 查看 ↗

常见问题

需要什么模型接入和费用?
需先运行 pentestcode auth login 连接一个提供商(Anthropic、OpenAI、Google、Azure、AWS Bedrock、Ollama 等 20+,通过 ai-sdk)。使用托管 API 会产生按 token 计费的费用;本地 Ollama 可避免 API 费用但需自行承担算力。多智能体并行会放大 token 消耗。
它会不会越出授权范围攻击?
内置 scope_check 做 CIDR/通配符范围校验,且支持 /scope 查看和编辑目标范围;但 free 模式明确绕过范围检查,guided 模式逐步等批准。务必只在书面授权的目标上使用,并用 auto + pause always 获得每发现即暂停的审查模式。
中途关闭终端会丢进度吗?
不会。engagement state 持久化跨会话保存,重新打开后智能体从中断处继续;findings.md 还以时间戳记录全部发现,可 tail -f 实时观察。
需要装哪些外部工具?
它协调真实渗透工具:nmap、Nuclei、NetExec、Gobuster、sqlmap、SharpHound、SSH/chisel/ligolo 等需存在于环境中。解析器工具(nmap_parse 等)是强制环节,确保输出进入状态库。
成熟度如何?
处于 Beta。README 建议在 CTF、HTB 或授权测试中实际使用并提交 issue 反馈,官方明示会有粗糙边缘。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents