vuln-analysis-expert
Enriches security reports with historical WooYun vulnerability data and real-world impact statistics.
Install
mkdir -p .claude/skills/vuln-analysis-expert && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/8490" && unzip -o skill.zip -d .claude/skills/vuln-analysis-expert && rm skill.zipInstalls to .claude/skills/vuln-analysis-expert
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
WooYun漏洞分析专家系统。基于88,636个真实漏洞案例提炼的元思考方法论、测试流程、利用技巧、绕过方法。覆盖SQL注入、XSS、命令执行、逻辑漏洞、文件上传、未授权访问等主要漏洞类型。当用户进行漏洞挖掘、渗透测试、安全审计、代码审计时触发。Key capabilities
- →Inject real company case studies into security reports
- →Provide quantitative statistical data for vulnerabilities
- →Prioritize security findings based on risk
- →Identify common attack patterns
How it works
The skill integrates historical WooYun vulnerability data to provide data-driven evidence and risk prioritization for security reports.
Inputs & outputs
When to use vuln-analysis-expert
- →Prioritize security findings in audit reports
- →Validate business logic vulnerabilities
- →Identify common attack patterns for specific sectors
About this skill
不维护决定
随着ai的发展越来越厉害,其实skill没什么太多作用了。我们决定不维护了
WooYun Legacy
中文 | English
给 AI 安全报告加上真实案例背书和数据支撑
WooYun Legacy 是一个 Claude Code 插件,基于 WooYun(2010-2016)收录的 22,132 个业务逻辑漏洞案例,为 Claude 的安全测试输出注入真实公司案例引用、量化统计数据和数据驱动的测试优先级排序。
它做什么 / 不做什么
它做的: 让 Claude 输出的安全报告从"你应该测支付篡改"变成"WooYun 支付绕过 1,056 案例中 68.7% 为高危,M1905 电影网 2588 元套餐曾被 5 毛买走"。案例背书、统计数据、优先级排序——这些让报告在甲方面前更有说服力。
它不做的: Claude 本身已经掌握业务逻辑安全测试的方法论——amount=0.01、IDOR 遍历、状态机跳步这些测试手法不需要插件也能输出。插件不教新的渗透技术,而是给已有能力加上数据弹药。
数据时效: 知识蒸馏自 WooYun 公开数据(2010-2016)。现代技术栈(云原生、GraphQL、Serverless)覆盖有限。但业务逻辑漏洞的攻击模式比技术栈更稳定——"修改金额参数看服务端是否校验"这个测试,2012 年和 2026 年一样管用。
负责任使用
WooYun Legacy 面向白帽研究者、安全团队和企业内部工程团队,用于授权测试、风险识别、代码审计、安全复盘和自我安全检查。项目把历史公开漏洞案例整理为结构化知识,帮助防守方理解业务逻辑系统中常见的失败模式。
本项目不支持、也不鼓励任何未授权访问、攻击或滥用行为。请只在你拥有授权的系统、代码库和测试环境中使用。
安装
提供两种安装方式:轻量安装(Marketplace,推荐)和全量安装(克隆完整仓库)。
两种模式的区别
| 轻量安装(Marketplace) | 全量安装(git clone) | |
|---|---|---|
| 安装体积 | ~432KB | ~71MB |
| 第一层:领域参考 (references/) | 6 个方法论文件 | 6 个方法论文件 |
| 第二层:深度分析 (knowledge/) | 8 个技术手册(完整) | 8 个技术手册(完整) |
| 第三层:漏洞案例库 (categories/) | 15 个浓缩索引(60KB) | 15 个完整案例库(71MB 原始数据) |
| 浓缩 vs 完整 | 每个分类保留前 15 条案例标题 + 高频参数 + 攻击模式分布 + 10 条 Payload 片段 | 全部 22,132 条案例的完整标题、分类、严重性、公司信息 |
| 行业渗透示例 (examples/) | 不含 | 运营平台、金融业务等实战方法论 |
| 评估基准 (evals/) | 不含 | 12 组对照评测原始数据 |
| 适合谁 | 日常安全测试、报告撰写、SRC 赏金 | 需要完整案例检索、深度数据分析、二次开发 |
结论: 对大多数用户来说,轻量安装已经覆盖了插件的全部核心能力(方法论 + 统计数据 + 案例引用 + 优先级排序)。全量安装适合需要检索完整案例库或基于原始数据做自定义分析的场景。
方式一:轻量安装(Marketplace,推荐)
# 1. 添加 Marketplace
claude plugin marketplace add tanweai/wooyun-legacy
# 2. 安装插件
claude plugin install wooyun-legacy@tanweai-security
或者在 Claude Code 交互界面中:
/plugin marketplace add tanweai/wooyun-legacy
/plugin install wooyun-legacy@tanweai-security
安装完成后,Claude Code 会在检测到安全相关任务时自动加载此插件。
方式二:全量安装(完整案例库)
克隆完整仓库,获取 71MB 原始案例数据 + 行业渗透示例 + 评测数据:
# 克隆完整仓库
git clone https://github.com/tanweai/wooyun-legacy.git
# 方法 A:单次会话加载
claude --plugin-dir ./wooyun-legacy/plugins/wooyun-legacy
# 方法 B:持久安装到 Claude Code
# 将 plugins/wooyun-legacy 目录复制到插件缓存
cp -r ./wooyun-legacy/plugins/wooyun-legacy ~/.claude-personal/plugins/cache/wooyun-legacy
全量安装后,仓库根目录的 categories/、knowledge/、examples/、evals/ 可以作为额外参考资料直接阅读或在 Claude Code 中加载使用。
方式三:团队统一配置
在项目的 .claude/settings.json 中添加,团队成员打开项目时自动提示安装:
{
"extraKnownMarketplaces": {
"tanweai-security": {
"source": {
"source": "github",
"repo": "tanweai/wooyun-legacy"
}
}
},
"enabledPlugins": {
"wooyun-legacy@tanweai-security": true
}
}
验证安装
在 Claude Code 中输入:
/skills
你应该能看到 wooyun-legacy 出现在技能列表中。或者直接提一个安全测试问题,观察 Claude 是否引用了 WooYun 真实案例。
更新与卸载
# 更新 marketplace 和插件(轻量安装)
claude plugin marketplace update tanweai-security
claude plugin update wooyun-legacy@tanweai-security
# 更新全量安装
cd wooyun-legacy && git pull
# 卸载插件
claude plugin uninstall wooyun-legacy
# 移除 marketplace
claude plugin marketplace remove tanweai-security
快速上手
安装后无需任何配置。当你在 Claude Code 中提出安全测试相关问题时,插件会自动激活。
第一次使用
试试这些提问:
帮我测试这个电商平台的支付安全,系统有购物车、第三方支付、订单管理和退款流程。
我需要对这个 SaaS 平台做越权测试,包括 IDOR、垂直越权、未授权访问。
审计这段下单接口代码的业务逻辑安全。
Claude 会自动加载 WooYun 方法论,输出包含真实案例引用、量化统计和结构化测试步骤的方案。
自动触发
插件不仅在明确的安全关键词下激活,也能识别隐含黑盒测试意图的日常表述:
显式安全关键词:
| 中文 | 英文 |
|---|---|
| 渗透测试、安全审计、漏洞挖掘 | penetration testing, security audit |
| 支付安全、金额篡改、订单篡改 | payment security, price tampering |
| 越权、IDOR、未授权访问 | authorization bypass, IDOR |
| 密码重置、弱口令、验证码绕过 | password reset, weak credentials |
| 逻辑漏洞、业务安全、竞态条件 | business logic, race condition |
| SRC 漏洞、代码审计安全性 | bug bounty, code review security |
隐含黑盒测试场景(不说"安全"也能触发):
| 用户说的 | 插件理解为 |
|---|---|
| "帮我测测这个接口" | API 黑盒安全测试 |
| "看看这个功能有没有问题" | 业务逻辑漏洞审查 |
| "这个参数能不能改" | 参数篡改测试 |
| "怎么绕过这个限制" | 业务规则绕过 |
| "订单/支付/退款流程测试" | 金融逻辑安全测试 |
| "帮我找 bug" / "find bugs" | 漏洞挖掘 |
| "test this endpoint" | 接口安全评估 |
| "can I bypass this" | 绕过测试 |
工具和手法关键词:
抓包分析、Burp Suite、拦截请求、修改参数、重放攻击、并发测试、遍历 ID、爆破、薅羊毛、刷单、套利、风控绕过、短信轰炸、接口滥用、intercept、replay、fuzz、enumerate、brute force
插件到底加了什么
先说实话:Claude 本身的安全测试能力已经很强。12 组对照评测中,不加载插件的 Claude 在领域专业断言上通过了 98%(47/48)。测试手法、攻击模式、修复建议——这些不需要插件。
插件加的是 Claude 训练数据里没有的东西:
| 维度 | 无插件 | 有插件 | 为什么重要 |
|---|---|---|---|
| 案例引用 | "建议测试支付篡改" | "M1905 电影网 2588 元套餐被 5 毛买走" | 甲方看到真实公司名才会重视 |
| 统计数据 | "风险较高" | "支付绕过 1,056 案例,68.7% 高危" | 量化数据让优先级排序有依据 |
| 分类体系 | OWASP 通用分类 | WooYun「任意X」分类法(任意账号/查看/修改/删除/操作) | 更贴合业务逻辑安全测试的表达习惯 |
| 优先级排序 | 凭经验判断 | 按高危占比排序(密码重置 88% > 支付绕过 68.7% > 弱口令 58.2%) | 时间有限时先测什么,有数据说话 |
| 本地化业务场景 | 通用 Web 场景 | 支付回调、公共服务系统、运营平台、增值业务 | SRC 和企业安全测试的实际目标 |
不加的东西: 攻击手法(amount=0.01、IDOR 遍历、状态机跳步)、测试步骤、修复建议——这些 Claude 本来就会。
使用场景
场景一:电商支付安全测试
<details> <summary><b>点击展开 Claude 的回复(节选)</b></summary>你说: 我在做一个电商平台的安全审计,这个平台有购物车、在线支付(第三方支付)、订单管理、退款流程。请帮我制定一个针对支付和订单流程的安全测试方案。
Claude 会输出一份结构化的测试方案,包含:
订单状态机非法转移检测(WooYun 订单篡改 1,227 案例,74.2% 高危):
| 非法转移 | 攻击意图 | 风险等级 |
|---|---|---|
| 待支付 → 已支付 | 跳过支付环节 | 严重 |
| 待支付 → 已完成 | 完全绕过支付和物流 | 严重 |
| 已发货 → 已退款 | 收货后退款 | 高 |
| 已完成 → 退款中 | 已确认收货后仍触发退款 | 高 |
| 已退款 → 已退款 | 重复退款 | 严重 |
每个测试点都有具体步骤和真实案例引用:
WooYun 模式: "M1905电影网价值2588套餐只要5毛钱" — 客户端提交价格被服务器直接信任。
测试步骤:
- 正常下单(如总额 ¥299),进入支付页面
- 拦截"发起支付"的请求
- 修改请求中的金额参数:
amount=0.01/amount=0/amount=-1- 观察支付页面显示的金额是否为篡改后的值
附录包含量化统计: 支付绕过 1,056 案例(68.7% 高危)、订单篡改 1,227 案例(74.2% 高危)、金额篡改 176 案例(83.0% 高危)
</details>场景二:SaaS 平台越权测试
<details> <summary><b>点击展开 Claude 的回复(节选)</b></summary>你说: 我们公司有一个多租户 SaaS 平台,提供 REST API。需要设计一个针对越权访问的完整测试计划,包括水平越权(IDOR)、垂直越权、未授权访问。
WooYun 独有的「任意X」分类法(529 案例):
| 子类别 | 案例数 | 高危占比 | 测试要点 |
|---|---|---|---|
| 任意账号操作 | 220 | 86.4% | 修改他人手机号/邮箱/密码 |
| 任意查看 | 145 | 62.1% | 遍历他人订单/信息/记录 |
| 任意修改 | 89 | 74.2% | 篡改他人资料/配置 |
| 任意删除 | 35 | 71.4% | 删除他人数据/文件 |
| 任意操作 | 40 | 72.5% | 代替他人执行敏感操作 |
IDOR 测试不只是"改 ID":
| 技术 | 说明 |
|---|---|
| 直接 ID 替换 | 最基础,约占 30% |
| ID 编码绕过 | Base64/Hex 编码的 ID:解码 → 修改 → 重新编码 |
| 参数污染 | ?id=me&id=1002 |
| JSON 嵌套篡改 | {"user": {"id": 1002}} |
| 批量操作接口 | {"ids": [1001, 1002, 1003]} |
| GraphQL 越权 | node(id: "other-user-id") |
场景三:代码安全审计
<details> <summary><b>点击展开 Claude 的回复(节选)</b></summary>你说: 帮我审计这段电商下单接口代码,找出所有业务逻辑漏洞。
Claude 按四阶段方法论进行审计,输出结构化报告:
漏洞 1:金额可篡改为负数 — 优惠券折扣无上限
├── 严重级别:Critical
├── 领域:金融 — 金额篡改(176 案例,83.0% 高危)
├── 代码定位:total_price -= coupon.discount_amount(无下限校验)
├── 业务影响:攻击者可构造 total_price 为负数
└── 修复代码:total_price = max(total_price, 0.01)
漏洞 2:优惠券无归属校验 — 任意用户可复用
├── 严重级别:High
├── 领域:授权 — 任意操作(40 案例,72.5% 高危)
└── 修复代码:增加 AND user_id = current_user.id 条件
漏洞 3:数量参数无范围校验 — 负数/零/超大值
├── ...(共发现 9 个漏洞)
</details>
场景四:SRC 漏洞赏金猎人
<details> <summary><b>点击展开 Claude 的回复(节选)</b></summary>你说: 我是 SRC 赏金猎人,目标是某大型互联网公司,有两天时间,帮我制定漏洞挖掘计划。
Claude 按时间和高危率排列优先级:
Day 1 — 高危速攻:
| 优先级 | 目标 | WooYun 高危率 | 耗时 |
|---|---|---|---|
| P0 | 支付金额篡改 | 83.0% | 2h |
| P0 | 密码重置逻辑 | 88.0% | 2h |
| P1 | IDOR 遍历 | 62.3% | 3h |
| P1 | 未授权管理后台 | 58.2% | 1h |
Day 2 — 深度挖掘:
| 优先级 | 目标 | WooYun 高危率 | 耗时 |
|---|---|---|---|
| P1 | 竞态条件/双花 | 74.8% | 3h |
| P2 | 验证码绕过 | — | 2h |
| P2 | 信息泄露扫描 | 64.7% | 2h |
场景五:竞态条件专项测试
<details> <summary><b>点击展开 Claude 的回复(节选)</b></summary>你说: 测试一个票务系统的竞态条件漏洞,有抢票、支付、退票功能,帮我出方案,要包含测试脚本。
Claude 输出包含 Python 并发脚本的测试方案:
import asyncio, aiohttp
async def race_buy_ticket(session, url, ticket_id, token):
payload = {"ticket_id": ticket_id, "quantity": 1}
headers = {"Authorization": f"Bearer {token}"}
async with session.post(url, json=payload, headers=headers) as resp:
return await resp.json()
async def main():
url = "https://target.com/api/ticket/buy"
async with aiohttp.ClientSession() as session:
# 50 个并发请求抢同一张票
tasks = [race_buy_ticket(session, url, "TICKET-001", token)
for _ in range(50)]
results = await asyncio.gather(*tasks)
success = [r for r in results if r.get("status") == "success"]
print(f"成功购买: {len(success)} 次(预期: 1 次)")
还包含状态机非法转换、TOCTOU 竞态等测试,每个都有 WooYun 案例佐证。
</details>场景六:给甲方写安全报告
<details> <summary><b>点击展开 Claude 的回复(节选)</b></summary>你说: 我刚测完一个电商系统,发现了支付金额可以改、IDOR 能遍历订单、管理后台没鉴权这三个漏洞。帮我写一份给甲方管理层看的安全报告,要有说服力。
Claude 输出的报告不是"建议修复"这种空话,而是用 WooYun 真实数据给每个漏洞加上背书:
## 漏洞 1:支付金额服务端未校验
严重级别:Critical
业务影响:攻击者可将任意商品价格改为 0.01 元完成支付
行业参考:
WooYun 支付绕过类漏洞共 1,056 例,其中 68.7% 被评为高危。
典型案例:M1905 电影网价值 2588 元套餐因同类漏洞被 0.5 元购买。
本漏洞的技术特征与 WooYun 金额篡改 176 例(83.0% 高危)完全吻合。
修复建议:
所有金额计算必须在服务端完成,客户端提交的价格参数仅作为展示参考。
……
为什么这比通用报告有用: 管理层不懂 amount=0.01 是什么意思,但"跟 M1905 电影网被薅 2588 元是同一种漏洞"他们能理解。数字和案例是说服非技术决策者的语言。
场景七:时间紧迫的测试优先级
<details> <summary><b>点击展开 Claude 的回复(节选)</b></summary>你说: 客户给了我两天时间测一个 B2B 平台,功能很多(用户管理、订单、支付、发票、审批流、报表导出),我没时间全测。帮我按风险排优先级。
Claude 直接用 WooYun 高危占比做排序,不是"凭感觉"而是"凭数据":
两天测试计划(按 WooYun 高危率排序)
Day 1 — 必测项(高危率 >75%)
┌──────────────┬─────────┬───────────┬──────┐
│ 测试项 │ 高危率 │ WooYun 案例│ 耗时 │
├──────────────┼─────────┼───────────┼──────┤
│ 支付金额篡改 │ 83.0% │ 176 │ 2h │
│ 余额/提现操纵 │ 77.9% │ 113 │ 1.5h │
│ 审批流跳步 │ 74.8% │ 266(逻辑) │ 2h │
│ 订单状态篡改 │ 74.2% │ 1,227 │ 2h │
└──────────────┴─────────┴───────────┴──────┘
Day 2 — 应测项(高危率 50-75%)
┌──────────────┬─────────┬───────────┬──────┐
│ 测试项 │ 高危率 │ WooYun 案例│ 耗时 │
├──────────────┼─────────┼───────────┼──────┤
│ 报表导出越权 │ 64.7% │
---
*Content truncated.*
When not to use it
- →Modern cloud-native or GraphQL-specific security audits
- →Unauthorized penetration testing
Prerequisites
Limitations
- →Limited coverage of modern technology stacks
- →Knowledge distilled from 2010-2016 data
How it compares
It adds real-world case study backing and quantitative data to standard security testing methodologies.
Compared to similar skills
vuln-analysis-expert side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| vuln-analysis-expert (this skill) | 2 | 3mo | No flags | Advanced |
| reverse-engineering-tools | 73 | 4mo | No flags | Advanced |
| game-hacking-techniques | 42 | 2mo | No flags | Advanced |
| solidity-security | 15 | 2mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
reverse-engineering-tools
gmh5225
Guide for reverse engineering tools and techniques used in game security research. Use this skill when working with debuggers, disassemblers, memory analysis tools, binary analysis, or decompilers for game security research.
game-hacking-techniques
gmh5225
Guide for game hacking techniques and cheat development. Use this skill when researching memory manipulation, code injection, ESP/aimbot development, overlay rendering, or game exploitation methodologies.
solidity-security
wshobson
Master smart contract security best practices to prevent common vulnerabilities and implement secure Solidity patterns. Use when writing smart contracts, auditing existing contracts, or implementing security measures for blockchain applications.
1password
openclaw
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
senior-security
davila7
Comprehensive security engineering skill for application security, penetration testing, security architecture, and compliance auditing. Includes security assessment tools, threat modeling, crypto implementation, and security automation. Use when designing security architecture, conducting penetration tests, implementing cryptography, or performing security audits.
ghidra
mitsuhiko
Reverse engineer binaries using Ghidra's headless analyzer. Decompile executables, extract functions, strings, symbols, and analyze call graphs without GUI.