| name | secknowledge-skill |
| description | Web+AI 安全测试知识库。融合 WooYun 88,636 案例 + 先知 L1-L4 方法论 + GAARM 150 风险
+ OWASP Top 10 (LLM/ASI/WSTG)。
TRIGGER when 任务是实战安全测试:渗透测试、漏洞挖掘/利用、红队攻防、安全审计 (SAST/DAST)、
CTF、AI/LLM 安全测试 (Prompt 注入/越狱/MCP/Agent/沙箱逃逸)。用户明确给出测试目标
(URL/代码/模型/Agent 架构) 且意图是"测试/审计/挖漏洞/利用"。
DO NOT trigger:
- 安全概念讨论("什么是 XSS"、"SQL 注入原理是什么")→ 普通问答
- 非安全性质的 code review / debug / 性能优化 → code-audit-skill 或其他
- 修复语法错误 / 业务逻辑 bug → 普通编程协助
- 纯 Web 白盒代码审计(完整项目目录 / Source-Sink 污点分析)→ code-audit-skill
- 仅引用 CVE 编号查文档 → WebSearch
边界细则: CTF 短代码片段 + 利用思路 → 本 Skill;完整项目目录 + 系统白盒审计 → code-audit-skill
|
Web 和 AI 安全测试知识库
知识源: WooYun 88,636 漏洞 × 先知 5,600+ 文档 × GAARM 150 AI 风险 × OWASP
架构: SKILL.md(路由)→ references/(按场景加载)
触发条件
触发条件(AND 组合):
- 用户意图是执行安全测试(渗透/挖洞/利用/审计) — 非讨论/学习
- 提供了具体目标:URL、接口、代码片段、模型/Agent 架构、MCP 配置 — 非抽象问题
- 任务涉及以下领域之一:
- Web: SQL 注入/XSS/命令执行/越权/文件上传/SSRF/反序列化/XXE/GraphQL/HTTP 走私
- AI: Prompt 注入/越狱/MCP 投毒/Agent 滥用/RAG 投毒/沙箱逃逸/模型窃取
- 绕过: WAF/内容过滤/Guard Rails 绕过
不触发(任一命中即路由到他处):
- 概念讲解:"什么是…"、"…原理"、"…怎么防御" → 普通问答
- 非安全代码审查:"review 代码质量"、"优化性能" → 普通 code review
- 业务 bug:语法错误、空指针、业务逻辑错误(非安全逻辑)→ 普通 debug
- 深度白盒代码审计(Source-Sink 污点传播、AST 分析)→ code-audit-skill
- 查 CVE 文档、工具文档 → WebSearch/Context7
歧义处理:目标和意图不明时,先问:"目标是什么?你希望做渗透测试 / 代码审计 / 还是了解概念?"
行为准则(整个会话有效,不因对话长度放松)
- ❗ 所有 Payload/CVE 编号/风险编号必须引用 reference 文件的具体章节 — 每次输出前自检。未在 reference 中的一律标注 "UNABLE TO CITE",禁止编造。
- ❗ 区分"漏洞假设"与"漏洞确认" — 基于方法论推断的潜在风险 → 标注
假设(需验证);有明确证据的 → 标注 已确认(证据: …)。禁止混淆。
- ❗ 授权边界 — 任何利用步骤输出前必须确认是 CTF/授权渗透/本人环境。无授权上下文只输出分析,不输出可直接武器化的完整 Payload。
幻觉防护与来源引用
| 内容类型 | 正确输出 | 禁止输出 |
|---|
| CVE 编号 | 引用具体 reference 文件和章节,或标 "UNABLE TO CITE — 建议 WebSearch 核实" | 编造 CVE-YYYY-NNNN |
| Payload | 从 references/web-*.md 或 references/ai-*.md 内 payload 章节引用 | 凭印象写 payload |
| GAARM 风险编号 | 引用 references/gaarm-risk-matrix.md | 自造编号 |
| OWASP 条目 | LLM01-10 / ASI01-10 / WSTG-* 引用 testing-methodology.md §10.x | 改写编号含义 |
| 工具/命令 | 仅使用在 reference 中出现过的,或明确标注 "通用命令(未在 reference 中核对)" | 伪造工具参数 |
| 无检索结果 | "UNABLE TO ASSESS:reference 未覆盖此场景,建议 WebSearch" | 凭经验推测作为结论 |
标注分级:
[引用] — 来自 reference 具体章节(需带 file:section)
⚠️ 通用知识 — 未在本 Skill reference 中核对,仅作提示
💡 建议 — 方法论推理,非事实声明
输出约束
禁止输出:
- 开场白:"让我来分析…" / "首先我们需要…" / "根据你的需求…"
- 工具调用描述:"我将使用 Read 工具读取 XX"
- 已知信息复述(用户刚说的 URL、目标类型)
- 无来源引用的 Payload 或 CVE 编号
- 未经授权场景下的完整武器化链
输出限制:
- 单次回复 ≤ 3 个层次的建议(避免信息膨胀)
- Payload 示例 ≤ 5 条/漏洞类型(完整列表引用 reference)
- 使用表格/速查格式,禁止长段落叙述
工具优先级(本 Skill 自用)
| 操作 | 首选 | 降级条件 | 降级工具 |
|---|
| 读 reference | Read | Read 失败 | Bash cat |
| 搜索关键词/CVE | Grep (reference 内) | 连续 2 次未命中 | WebSearch |
| 代码审计目标 | 委派 code-audit-skill | — | — |
单次超时 ≠ 不可用,必须重试 1 次后才能降级。
使用流程
依赖链约束(贯穿三步,强制):
- Step 2 输入 == Step 1 的"已定位 reference 列表",不得新加文件
- Step 3 引用集合 ⊆ Step 2 的"已加载列表",禁止在 Step 3 重新搜索 reference
- Step 3 Checkpoint 中的引用计数必须能在 Step 2 Checkpoint 中找到对应来源
Step 1: 目标分类 + reference 定位
- 判断:Web / AI / Web+AI 混合 / 容器沙箱
- 定位:按"场景导航索引"找到对应 reference 文件,记为列表
L1
失败降级:
- 目标信息不足无法分类 → 触发歧义澄清问题,不猜测;不允许默认归类为 "Web+AI 混合"
- 场景导航索引未覆盖该场景 → 标注 "UNABLE TO CITE: 场景 {X} 不在索引内",列表
L1 为空,进入 Step 3 时只能输出方法论级建议
✅ Checkpoint: Step 1 完成: 目标类型={X}, |L1| == 场景导航索引匹配数 = {N}
Step 2: 按需加载 Step 1 定位的 reference(懒加载)
- 输入: Step 1 产出的列表
L1;记本步加载集合为 L2,必须满足 L2 ⊆ L1
- 每次加载 1 个文件,单次 ≤ 1000 tokens;超出预算的 reference(如
ai-identity-app.md 906 行、ai-data-app.md 903 行)必须用 Read offset/limit 或 Grep 定位后再读
- 禁止在本步加载未在
L1 中的文件
失败降级:
- Read 失败 → 重试 1 次 → 仍失败用 Bash cat → 都失败 → 标注 "UNABLE TO ASSESS: 文件不可读",从
L2 移除该项,不允许跳过到 Step 3
- Grep 无命中 → 标注 "UNABLE TO CITE: {关键词} 未在 {文件} 中检出"
- reference 文件不存在 → 标注断链 + 列入待补 reference 清单,不编造内容
✅ Checkpoint: Step 2 完成: |L2| == |L1| - 不可读文件数 = {M}, 合计 {X} tokens
Step 3: 按方法论输出测试思路(L1→L4)
- 输入: Step 2 产出的加载集合
L2;本步所有引用必须 ⊆ L2
- L1 攻击面识别 → L2 假设构建 → L3 深度利用 → L4 防御反推
- 每条结论必须引用
L2 中某文件的具体 section/行号;无依据 → 标注 "UNABLE TO CITE" 并停止该假设线
- 禁止重新搜索:本步发现需要新 reference → 回到 Step 1 重新定位,而不是直接 Read/Grep
✅ Checkpoint: Step 3 完成: 输出 N 条假设, 其中 已引用 M 条 + UNABLE TO CITE K 条 == N (等式验收)
全流程交叉验证:
场景导航索引
每行指向对应 reference。详细 Payload/案例/方法论全部在 reference 中,本 SKILL.md 不再展开。
核心方法论
| 场景 | reference |
|---|
| L1-L4 思维金字塔 + WooYun 漏洞公式 + GAARM 映射 | references/testing-methodology.md |
| OWASP Top 10 映射(LLM/ASI/WSTG) | testing-methodology.md §10.1-10.3 |
| GAARM 150 条风险编号 | references/gaarm-risk-matrix.md |
Web 安全(按漏洞类型)
| 场景 | reference |
|---|
| SQL 注入(含 SQLMap 速查) | references/web-sqli.md |
| XSS 跨站脚本 | references/web-xss.md |
| 命令执行(RCE) | references/web-rce.md |
| XXE(XML 外部实体) | references/web-xxe.md |
| 反序列化漏洞 | references/web-deser.md |
| 文件上传(含 Webshell 免杀) | references/web-upload.md |
| 文件遍历 / 文件包含 | references/web-traversal.md |
| 信息泄露(.git / 备份 / 错误信息) | references/web-leak.md |
| SSRF / 服务器配置错误 / CMS+URL 附录 | references/web-ssrf-misc.md |
| 越权 / 支付 / 密码重置 / 会话 / API 鉴权 | references/web-logic-auth.md |
| CORS / GraphQL / HTTP 走私 / WebSocket / OAuth | references/web-modern-protocols.md |
| 供应链 / 云配置 / 容器 / CI/CD / 框架 CVE | references/web-deployment-security.md |
AI/LLM 安全(按 GAARM 阶段)
| 安全域 | 应用阶段 | 部署阶段 | 训练阶段 |
|---|
| AI 应用(应用阶段按风险大类细分↓) | 见下方细分表 | ai-app-deploy.md | ai-app-train.md |
| AI 模型(应用阶段按风险大类细分↓) | 见下方细分表 | ai-model-deploy.md | ai-model-train.md |
| AI 数据(Prompt 泄露/窃取/推断) | ai-data-app.md | ai-data-deploy.md | ai-data-train.md |
| AI 身份(角色逃逸/Agent 伪造) | ai-identity-app.md | ai-identity-deploy.md | ai-identity-train.md |
| AI 基座(容器/沙箱/供应链) | ai-baseline-app.md | ai-baseline-deploy.md | ai-baseline-train.md |
AI 应用 - 应用阶段按风险大类:
| 风险类别 | GAARM 编号 | reference |
|---|
| Prompt 注入与变种(直接/间接/XSS/Memory/蠕虫/混淆/编码/反向诱导/多模态) | GAARM.0039, 0040.x, 0043.x, 0044, 0045, 0061 | ai-app-prompt.md |
| MCP 协议攻击(地毯式骗局/工具投毒/指令覆盖/隐藏指令) | GAARM.0046.x | ai-app-mcp.md |
| Agent 与 CoT 攻击(Agent 利用/SSRF/RCE/CoT/查询注入/环境注入) | GAARM.0041.x, 0042.x, 0047, 0056.001, 0060 | ai-app-agent-cot.md |
AI 模型 - 应用阶段按风险大类:
| 风险类别 | GAARM 编号 | reference |
|---|
| 越狱(DAN/Many-shot/对抗后缀/概念激活) | GAARM.0027.x | ai-model-jailbreak.md |
| 幻觉(事实/跨模态) | GAARM.0028.x, 0064 | ai-model-hallucination.md |
| 非合规内容(偏见/暴力/政治/虚假/诱导) | GAARM.0029.x | ai-model-content.md |
| 版权与商业违法 | GAARM.0030.x | ai-model-copyright.md |
| 功能滥用与信息伪造(图/音/视频/钓鱼) | GAARM.0031.x, 0033, 0062, 0063 | ai-model-misuse.md |
| 对抗样本与模型提取 | GAARM.0032.x | ai-model-extraction.md |
专项 reference:
- AI Agent / MCP / Skills 2025-2026 前沿风险 →
references/ai-app-frontier.md
- 容器与沙箱逃逸实战方法论 →
references/ai-baseline-escape.md
Payload 速查(按场景在主 reference 中查找)
| 场景 | reference |
|---|
| SQL 注入 Payload | references/web-sqli.md |
| XSS Payload | references/web-xss.md |
| RCE / 命令执行 Payload | references/web-rce.md |
| 反序列化 / XXE Payload | references/web-deser.md / references/web-xxe.md |
| 文件上传绕过 / 路径遍历 Payload | references/web-upload.md / references/web-traversal.md |
| SSRF Payload | references/web-ssrf-misc.md |
| Web 现代协议 Payload(GraphQL/HTTP 走私/WebSocket) | references/web-modern-protocols.md |
| Prompt 注入 Payload | references/ai-app-prompt.md |
| MCP 投毒 Payload | references/ai-app-mcp.md |
| Agent / CoT 注入 Payload | references/ai-app-agent-cot.md |
| 越狱 / 对抗后缀 Payload | references/ai-model-jailbreak.md |
| 容器逃逸 / 持久化 / 横向移动 | references/ai-baseline-escape.md |
零结果处理
| 情况 | 正确动作 |
|---|
| Grep 未命中 reference | "UNABLE TO CITE: 该场景 {X} 未在 reference 中覆盖。建议 WebSearch 或补充 reference" |
| 用户给的 URL 无响应 | "UNABLE TO ASSESS: 目标不可达" — 不基于 URL 结构猜测漏洞 |
| 需要执行但无授权上下文 | "仅输出分析,不输出武器化链。如为授权测试,请明确授权范围" |
| reference 与用户场景部分匹配 | 引用已匹配部分 + 明确标注未覆盖部分为 "UNABLE TO CITE" |
与其他 Skill 的路由
| 用户诉求 | 正确路由 |
|---|
| 渗透测试 / 红队 / CTF / 挖洞 | 本 Skill |
| Java/JS 深度白盒代码审计(Source-Sink) | code-audit-skill |
| Mirawork 平台专项测试 | mirawork-security-tester |
| WooYun 历史漏洞分析方法论 | wooyun-legacy |
| 先知社区研究方法论 | xianzhi-research |
v2.0 | 知识源: WooYun 88,636 × 先知 5,600+ × GAARM 150 × OWASP LLM/ASI/WSTG