
文章来源:夜组安全
Skill介绍
给 AI 渗透助手装上"安全带"——不锁油门,只锁刹车
Skill + Hook 双层约束系统,让 Claude Code / AI Agent 在渗透测试场景下既能放手测试,又不会脱库、删库、留后门
📖 这个项目解决什么问题
🛡️ Pentest Guard让 AI 帮你做渗透测试时,你会遇到两类痛点:
sqlmap --dump-allrm -rf 清日志 |
Pentest Guard 的答案:只锁刹车,不锁油门
✅ AI 可以放手做侦察、扫描、PoC、利用链构造——测试思路不被限制 ✅ 正常渗透工具(sqlmap、nmap、ffuf、nuclei)全放行 ✅ sqlmap --dump --start 1 --stop 3合规取证放行✅ localhost / 测试表 / Docker 操作自动 bypass 🛑 脱库、删库、留后门、横向 → 暂停 + 询问用户 🛑 fork bomb、mkfs、dd 覆写 → 硬阻断 🔓 用户拥有最终决定权:明确授权后 -- user-confirmed一律放行
⏱️ 30 秒看懂
# 你说:测下这个接口👤 你:帮我跑 sqlmap 测 https://target.com/api/search# strict 模式:常规扫描放行🤖 AI:sqlmap -u "https://target.com/api/search" --batch --level 3 ✓ 发现 keyword 参数存在时间盲注# 你说:拖 users 表👤 你:那拖一下 users 表# Hook 触发 PAUSE,AI 不会直接拖库🤖 AI:⏸️ 红线提示:全量 dump 触发数据外带红线。 合规替代: 1. 加 --start 1 --stop 3 限 3 条样本 2. 或仅取 version() 证明能拖 你确认要全量 dump 吗?# 你说:那就 3 条样本吧👤 你:先取 3 条样本看看🤖 AI:sqlmap -u "..." --dump -T users --start 1 --stop 3 ✓ 取得 3 条样本(已脱敏),未尝试全量 dump# 你说:必须全量(你拥有最终决定权)👤 你:必须全量 dump,我授权🤖 AI:sqlmap -u "..." --dump -T users -- user-confirmed ✓ Hook 放行(用户明确授权)📚 术语速查(新手先看这里)
| Skill | |
| Hook | PreToolUse hook |
| strict / redteam / off | |
| PAUSE | |
| HARD-BLOCKED | |
| bypass marker | -- user-confirmed),命中即放行 |
| 垃圾洞 |
🏗️ 工作原理:三层防御架构
📌 若下图不显示:GitHub 主页原生支持 Mermaid,但 VS Code / Typora / 部分博客平台需插件。可下滑查看 ASCII 备份图。


三层各自负责什么
SKILL.md | |||
pentest-guard-hook.py | |||
-- user-confirmed |
三层缺一不可:Skill 让 AI 大多数时候自觉暂停,Hook 在 AI 遗忘时兜底,用户始终掌握最终决定权。
模式对比
strict(默认) | ||
redteam | ||
off |
📊 行为矩阵
一眼看懂什么放行、什么暂停、什么硬阻断。
-- user-confirmed | |||
|---|---|---|---|
sqlmap --batch --level 3 | |||
sqlmap --dump --start 1 --stop 3 | |||
sqlmap --dump | |||
nmap -sV target.com | |||
nmap --top-ports 1000 | |||
DROP TABLE users | |||
mysqldump -A | |||
crackmapexec smb 10.0.0.0/24 | |||
mimikatz.exe | |||
:(){ :|:& }; | |||
mkfs.ext4 /dev/sda | |||
curl http://127.0.0.1:8080 | |||
docker run alpine ... |
图例:✅ 放行 · ⏸️ PAUSE 暂停询问 · 🛑 HARD-BLOCKED 硬阻断
🎯 精准边界(v2 新增:避免误伤正常渗透)
早期版本把 PoC 包数、Webshell 上传、弱口令爆破一刀切卡死,导致正常渗透都做不了。 v2 按"PoC 性质"而非"统一阈值"分级,更贴近实战。
PoC 包数分级
whoami、SQLi 取 version() | ||
Webshell 上传规则
<?php system($_GET['cmd']); ?> 验证文件上传漏洞 | |
.config.php.swp) | |
弱口令爆破规则
🎯 使用方式
命令速查
/pentest-guard | |
/pentest-guard status | |
/pentest-guard mode strict | |
/pentest-guard mode redteam | |
/pentest-guard mode off | |
/pentest-guard check | |
/pentest-guard report | |
/pentest-guard refresh | |
/pentest-guard confirm |
用户授权标记(按强度递增)
-- sandbox-only | ||
-- user-controlled test environment | ||
-- local-test | ||
-- authorized-redteam | ||
-- user-confirmed | 用户明确授权的任何操作 | ⭐⭐⭐ |
-- user-confirmed是最终逃生口:任何操作只要带这个标记都会放行,包括 fork bomb、DROP TABLE、sqlmap --dump。用户承担全部责任。
💬 真实对话示例
示例 1:众测项目,AI 主动暂停
👤 用户:帮我跑 sqlmap 拖这个站的 users 表🤖 AI:红线提示:全量 dump 触发数据外带红线。合规替代方案: 1. 加 --start 1 --stop 3 限 3 条样本取证 2. 或仅取 version() / current_database() 证明能拖你确认要全量 dump 吗?确认的话我加 -- user-confirmed 执行。👤 用户:那就先取 3 条样本看看吧🤖 AI:(合规取证直接放行)sqlmap -u "https://target.com/api/search?keyword=test" \ --dump -T users --start 1 --stop 3✓ 取得 3 条样本(已脱敏)✓ 数据库版本:MySQL 5.7.34✓ 表存在 admin 用户(用户名前缀 ad****)未尝试全量 dump。示例 2:红队 HVV,切换模式
👤 用户:切换到红队模式🤖 AI:要求确认授权依据(合同 / HVV 项目 / safe-harbor 条款)。👤 用户:合同号 HVV-2024-0823,已授权完整后渗透🤖 AI:(写入模式文件 = redteam)已切换。下列工具现在直接放行: - crackmapexec / psexec / wmiexec(横向) - mimikatz / secretsdump(凭据,非 -just-dc) - masscan / nmap 高速扫描但以下仍会 PAUSE: - DROP / DELETE / TRUNCATE - sqlmap --dump 无 --stop👤 用户:拿 mimikatz 抓下本机凭据🤖 AI:(redteam 模式直接放行,无需 user-confirmed)mimikatz.exe "privilege::debug""sekurlsa::logonpasswords""exit"示例 3:误报抑制
👤 用户:扫完了,看看有哪些漏洞🤖 AI:(自动加载 /pentest-guard)扫描结果按红线清单过滤:❌ 不报(垃圾洞): - CORS 配置宽松(无 PoC 数据外带证明) - X-Frame-Options 缺失 - Server: nginx 版本号暴露⚠️ 待验证: - /admin 路径未授权访问(需 PoC 证明越权) - search 接口时间盲注(需 3 包差分证明)✓ 已证明(可写报告): - /api/user/{id} IDOR(A 账号可读 B 账号订单,附 3 次复现)更多示例见 examples/usage-scenarios.md。
🚫 垃圾洞清单(误报抑制)
AI 会把所有"现象"都报成漏洞,让审核员淹没在低质量 finding 里。Pentest Guard 主动过滤。
以下类型绝对不报(除非附带完整 PoC + 已证明影响):
工具获取
https://github.com/aalhea/pentest-guards-skills/tree/main

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并致歉。祝愿每一位读者生活愉快!
本公号发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
推荐阅读


*Linux 文件系统性能深度对比:ext4 vs XFS vs Btrfs 选型指南


夜雨聆风