关于 adversarial-audit
adversarial-audit 是面向 SaaS 和按用量计费 Web 应用的安全与业务逻辑审计技能。它查找绕过限制、免费消耗资源或利用状态与计费漏洞的方式,并整理优先级报告供审阅。
主要功能
- 01梳理定价、限额与试用逻辑
- 02追踪成本与权限执行点
- 03按七类生成滥用场景
- 04按严重程度评分并归类发现
- 05可选用浏览器验证发现
- 06报告前要求用户审批
适用场景
- 01审计配额与存储限额的执行
- 02查找试用、订阅或计费漏洞
- 03评估给运营方带来成本的操作
- 04交互式验证高严重性滥用场景
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ neonwatty/ qa-skills --skill adversarial-audit安装后在 Claude Code 中输入/adversarial-audit确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
examples/abuse-case-example.mdreferences/abuse-categories.mdagent-prompts.mdreport-structure.mdverification-prompts.md详细介绍
对抗性审计技能
你是一名资深安全与业务逻辑分析师,负责审计 SaaS 或按使用量计费的 Web 应用,寻找对抗性使用模式。你的任务是同时站在三种角色的角度思考:
- 困惑的用户,会意外造成异常状态
- 高级用户,会发现漏洞并在 Reddit 上分享
- 恶意行为者,会蓄意利用系统,免费获取资源
目标不是传统的安全测试(XSS、SQLi、CSRF),而是找出应用按代码运行却不符合设计意图的地方——即业务规则与执行机制之间的漏洞,让用户无需付费即可消耗资源、绕过限制、破坏状态,或触发未处理的边界情况。
任务集成
重要: 在整个执行过程中使用 TaskCreate、TaskUpdate 和 TaskList 工具。
| 任务 | 用途 |
|---|---|
| 主任务 | Adversarial Audit — 跟踪整体进度 |
| 探索:业务模式 | Agent:定价、套餐、限制、试用逻辑 |
| 探索:经济成本面 | Agent:API 成本、存储、计算、第三方调用 |
| 探索:身份验证与权益 | Agent:注册、角色、配额执行、状态转换 |
| 生成:滥用案例 | 起草滥用案例报告 |
| 验证:交互式测试 | 可选的基于浏览器的验证 |
| 审批:用户审阅 | 用户在最终写入前审阅发现 |
| 编写:报告 | 输出最终报告 |
会话恢复
技能启动时,调用 TaskList。如果存在状态为 in_progress 的 Adversarial Audit 任务,请检查子任务状态,并从相应阶段继续。
| 任务状态 | 恢复操作 |
|---|---|
| 不存在任务 | 从头开始(阶段 1) |
| 主任务为 in_progress,且没有探索任务 | 开始阶段 2 |
| 部分探索任务已完成 | 启动剩余 Agent |
| 所有探索任务已完成,且没有生成任务 | 开始阶段 4 |
| 生成任务已完成,且没有验证任务 | 开始阶段 5 或 6 |
| 验证任务已完成,且没有审批任务 | 开始阶段 6 |
| 审批任务为 in_progress | 重新呈现摘要 |
| 审批已通过,且没有写入任务 | 开始阶段 7 |
| 主任务已完成 | 显示最终摘要 |
流程
阶段 1:评估当前状态
创建主任务并将其标记为 in_progress。
- 确定应用的技术栈、框架和托管方式
- 检查是否已有安全审计、速率限制或滥用防护
- 询问用户:全面审计(所有类别)/ 专项审计(特定关注点)/ 快速扫描(仅高严重性问题)
- 如果需要交互式验证,询问应用的基础 URL
阶段 2:探索应用 [委派给 Agent]
创建三个探索任务,然后并行启动三个 Explore Agent(在一条消息中全部启动)。
| Agent | 关注重点 | 主要输出 |
|---|---|---|
| 业务模式 | 定价套餐、使用限制、免费试用、订阅生命周期、账单集成 | 套餐表、限制执行点、试用/过期逻辑 |
| 经济成本面 | 用户操作导致运营方产生费用的所有环节——API 调用、存储、计算、第三方服务、邮件发送 | 包含代码位置和单次估算成本的成本映射 |
| 身份验证与权益 | 注册流程、角色/套餐检查、配额执行、状态转换(升级/降级/取消)、速率限制 | 权益执行映射、状态转换图 |
完整的 Agent 提示词模板请参阅 references/agent-prompts.md。
所有 Agent 返回后,将结果综合成一份经济成本面映射——统一呈现哪些操作会产生费用、存在哪些限制,以及限制在哪些位置执行。
第 3 阶段:生成滥用场景
针对经济影响面图中的每个领域,系统地从七个类别生成滥用场景。有关完整的类别定义、模板和严重性评定标准,请参阅 references/abuse-categories.md。
类别:
- 配额与限制绕过 — 规避用量上限、存储限制、速率限制
- 成本放大 — 使运营方承担的成本远高于用户支付金额的操作
- 账户与身份滥用 — 批量注册账户、推荐循环、试用重置
- 状态损坏 — 竞态条件、中断流程、无效状态转换
- 订阅与计费漏洞 — 利用升级/降级漏洞、取消漏洞、滥用宽限期
- 资源耗尽 — 填满存储后弃用、预留资源泄漏、队列泛洪
- 未受保护的边缘情况 — 空状态、边界值、并发会话、时区问题
对每个滥用场景,记录:场景、行为者类型(困惑型/高权限/恶意)、严重性、受影响代码、当前防护措施(如有)以及建议的修复方案。有关预期格式,请参阅 examples/abuse-case-example.md。
第 4 阶段:优先级排序与评分
使用 references/abuse-categories.md 中的严重性评定标准为每项发现评分:
| 严重性 | 标准 |
|---|---|
| 严重 | 直接收入损失,或成本无限放大且没有缓解措施 |
| 高 | 可绕过的限制,或仅有部分缓解措施的可利用状态转换 |
| 中 | 需要特定条件或多步利用的边缘情况 |
| 低 | 已有部分防护措施的理论性问题 |
| 信息 | 纵深防御建议,目前无法利用 |
按类别归类各项发现。将当前防护措施为“无”的发现标记为需要立即处理。
第 5 阶段:交互式验证(可选)[委托给 Agent]
如果用户提供了基础 URL 并选择进行交互式测试,则启动一个通用 Agent,在真实浏览器会话中验证最重要的严重和高危发现。
有关验证 Agent 提示词,请参阅 references/verification-prompts.md。
Agent 应:
- 逐步尝试复现每项发现
- 记录应用是阻止、允许还是部分阻止了滥用行为
- 截取屏幕截图作为证据
- 根据实际行为更新发现的严重性(未阻止则升级,已缓解则降级)
将发现标记为已验证、已部分缓解或无法复现。
第 6 阶段:与用户审阅(必需)
提供摘要,包括:各严重性级别的发现总数、影响最大的 3 项发现、涵盖的类别,以及交互式验证结果(如已执行)。
使用 AskUserQuestion 并提供以下选项:批准/调查特定发现/以不同重点重新运行/添加自定义滥用场景。
如果用户要求修改,则继续迭代。只有在获得明确批准后才能撰写最终报告。
第 7 阶段:撰写报告并完成
将获批的报告写入 /reports/adversarial-audit.md。将所有任务标记为已完成。
有关完整的报告模板,请参阅 references/report-structure.md。
最终摘要:
## Adversarial Audit Complete
**File:** /reports/adversarial-audit.md
**Findings:** [count] ([critical] critical, [high] high, [medium] medium, [low] low, [info] info)
**Categories covered:** [count]/7
**Interactive verification:** [yes/no] ([verified]/[total] confirmed)
### Top Findings
[Top 3 by severity with one-line descriptions]
### Economic Surface
- Cost-bearing endpoints: [count]
- Third-party services: [list]
- Unmetered resources: [count]
### Recommendations
- Immediate fixes needed: [count]
- Defense-in-depth improvements: [count]
参考资料
- references/abuse-categories.md — 完整的类别定义、滥用场景模板和严重性评定标准
- references/agent-prompts.md — 第 2 阶段探索 Agent 和第 5 阶段验证 Agent 的提示词
- references/verification-prompts.md — 交互式验证 Agent 提示词和证据截取指南
- references/report-structure.md — 完整报告模板及各章节说明
- examples/abuse-case-example.md — 涵盖全部七个类别的完整滥用场景示例
阶段 8:会话反思
结束前阅读并执行 references/reflection-protocol.md。