用途
Pentest 是一个面向已授权攻击性安全测试的合成技能,用于生成受范围门禁约束的渗透测试计划、检查清单和结构化发现记录。它只做规划、方法论梳理和报告合成,不包含任何攻击执行、C2 植入或 webshell 投放能力。
主要能力
- 强制范围门禁:在任何侦察、Web、API 或 OSINT 规划之前,必须运行 scripts/scope_check.py,提供 --target、--roe-file 和 --phase。若 ok 为 false 或退出码非零,立即停止并展示 deny_reason。
- 分阶段方法论:通过 scripts/phases.py 定义合法阶段,覆盖 recon、web、api、osint、network、cloud、mobile、wireless、llm、internal、binary、blockchain、post-exploit 等模式,每个阶段需通过范围门禁后才加载对应 playbook。
- 信号路由(triage):通过 references/methodology-router.md 将信号(如 sqli、xss、kerberos、llm-injection)映射到规范 playbook 和可选外部技能 slug。
- 结构化发现:使用 scripts/findings_emit.py 和 references/findings-schema.md 生成或聚合 JSON 格式的发现记录,包含严重性、证据和修复建议。
- 报告合成:按严重性分组,包含范围元数据(engagement_id、目标、ROE 哈希),并声明授权依据和遵守的禁止行为。
- 环境与策略检查(doctor):运行 scripts/doctor.py 进行只读的资产与策略就绪检查。
使用方式
通过命令模式调用,例如:
/pentest help:显示模式、范围门禁步骤、层级边界和参考索引。/pentest doctor:运行只读环境与策略检查。/pentest scope <target>:运行范围校验,需配合 --roe-file 和 --phase。/pentest recon <target>:通过范围门禁后加载侦察 playbook。/pentest web <target>:通过范围门禁后加载 Web 测试 playbook。/pentest api <target>:通过范围门禁后加载 API 测试 playbook。/pentest osint <target>:通过范围门禁后加载被动 OSINT 模板。/pentest validate:运行 scripts/check.py 验证技能与发现 JSON。/pentest report:聚合会话发现并生成报告。
范围门禁命令示例:
uv run python scripts/scope_check.py \
--target "<host-or-url>" \
--roe-file "<path-to-roe.json>" \
--phase "<mode>"
适用场景
- 在签署 ROE 的正式授权下,对线上应用、API、网络、云、移动、无线、LLM、内部、二进制、区块链等目标进行渗透测试的方法论规划。
- 需要生成分阶段检查清单、测试矩阵和结构化发现报告的安全评估项目。
- 需要将信号路由到规范 playbook 或可选外部 CLI(如 Strix,由操作员手动运行)的规划场景。
限制
- 不执行攻击:捆绑的 Python 脚本仅用于规划、验证和 JSON 处理,不探测目标、不运行漏洞利用。
- 不提供 C2 或 webshell:拒绝植入、反向 shell 或恶意软件暂存请求。
- 不适用于静态审计:预部署 SAST、密钥、依赖和合规检查应使用 security-scanner。
- 不适用于 CTF:合成靶场或训练环境应使用 ctf-* 技能。
- 未授权即拒绝:没有签署 ROE 时,重定向到 security-scanner 或直接拒绝。
- fail-closed:缺失 --target 或 --roe-file 时立即拒绝,过期 ROE 或范围外目标同样拒绝。
- 外部运行器可选:不自动安装 Strix 等工具,仅在 references/external-runners.md 中记录。
- ROE 只读:脚本仅验证 ROE 文件,不创建或修改授权。
- 一次加载一个参考文件:采用渐进式披露,避免预加载全部参考。
- 不存储实时凭据:发现和报告中需脱敏密钥。
关键规则
- 范围门禁优先——未通过 scope_check.py 不得进行侦察、Web、API 或 OSINT 规划。
- fail-closed——缺失目标或 ROE 文件立即拒绝。
- 脚本内无攻击执行。
- 不提供 C2 或 webshell。
- 未授权测试重定向或拒绝。
- CTF 不是渗透测试,重定向到 ctf-*。
- 仅由操作员运行工具,技能脚本不探测目标。
- 遵守 ROE 阶段和禁止行为。
- 使用结构化发现格式。
- 一次加载一个参考文件。
- 在深入检查清单前先呈现计划,获得操作员批准。
- 不存储实时凭据。
- 外部运行器可选,不自动安装。
- ROE 只读。