wooyun-legacy
WooYun Legacy 是一款专为 Claude Code 设计的智能安全插件,旨在为 AI 生成的安全报告注入真实的历史案例与量化数据支撑。它基于著名的乌云网(2010-2016)收录的超过 2.2 万个业务逻辑漏洞案例,通过知识蒸馏技术,让 AI 在输出测试建议时,不仅能提供方法论,还能引用如“某电影网套餐曾被低价绕过”等具体实战案例及高危漏洞统计比例。
这一工具有效解决了传统 AI 安全建议过于理论化、缺乏说服力痛点,将泛泛的“建议测试支付篡改”转化为数据驱动、有案可查的优先级排序方案,显著提升了报告在甲方或评审面前的可信度。其独特亮点在于不教授新的渗透技术,而是作为“数据弹药库”增强现有能力,并支持轻量级安装以平衡性能与功能。
WooYun Legacy 特别适合安全研究人员、渗透测试工程师、SRC 漏洞挖掘者以及需要撰写高质量安全审计报告的开发者使用。无论是进行日常黑盒测试、代码逻辑审计,还是准备赏金计划提交,它都能帮助用户快速获得兼具深度与实证依据的专业指导,让安全测试更加精准高效。
使用场景
某安全工程师正在为一家电商客户进行支付模块的黑盒测试,需要向技术负责人提交一份能直接推动修复的高说服力报告。
没有 wooyun-legacy 时
- 建议空洞泛化:AI 仅输出“请测试金额篡改”等通用方法论,缺乏具体攻击向量,开发人员难以快速复现问题。
- 缺乏数据支撑:报告无法量化风险等级,甲方管理层认为“低概率事件”而拒绝投入资源修复非阻断性漏洞。
- 说服力不足:缺少同行业真实受损案例背书,难以证明业务逻辑漏洞在实战中的高频危害性。
- 优先级模糊:面对数十个潜在测试点,工程师只能凭经验猜测,导致高危的支付绕过测试被低优先级的信息泄露测试挤占时间。
使用 wooyun-legacy 后
- 方案精准落地:AI 直接给出基于历史数据的测试路径,如“参考 WooYun #12345 案例,尝试将回调参数 amount 改为 0.01 或负数”。
- 风险量化直观:报告自动引用统计数据,指出“支付类逻辑漏洞在 22k 案例中占比 4.8%,其中 68.7% 被评为高危”,让风险一目了然。
- 案例真实震撼:自动关联类似"M1905 电影网曾出现 2588 元套餐被 0.5 元买走”的真实历史事故,瞬间击穿甲方的侥幸心理。
- 排序科学高效:依据历史漏洞分布频率,自动将“订单状态机跳步”和“并发竞争条件”列为 P0 级测试任务,大幅提升挖掘效率。
wooyun-legacy 通过将 2 万 + 真实漏洞案例转化为数据弹药,让 AI 生成的安全报告从“理论建议”升级为“有据可查的实战指南”。
运行环境要求
- 未说明
无需求
未说明(轻量版仅需加载约 60KB 索引,全量版需处理 71MB 数据)

快速开始
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 年一样管用。
安装
提供两种安装方式:轻量安装(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 原始案例数据 + 行业渗透示例 + 评测数据:
# 克lon完整仓库
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 场景 | 支付宝/微信回调、政务 OA、运营商 BOSS、电信增值业务 | 国内 SRC 和甲方测试的实际目标 |
不加的东西: 攻击手法(amount=0.01、IDOR 遍历、状态机跳步)、测试步骤、修复建议——这些 Claude 本来就会。
使用场景
场景一:电商支付安全测试
你说: 我在做一个电商平台的安全审计,这个平台有购物车、在线支付(支付宝/微信)、订单管理、退款流程。请帮我制定一个针对支付和订单流程的安全测试方案。
点击展开 Claude 的回复(节选)
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% 高危)
场景二:SaaS 平台越权测试
你说: 我们公司有一个多租户 SaaS 平台,提供 REST API。需要设计一个针对越权访问的完整测试计划,包括水平越权(IDOR)、垂直越权、未授权访问。
点击展开 Claude 的回复(节选)
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") |
场景三:代码安全审计
你说: 帮我审计这段电商下单接口代码,找出所有业务逻辑漏洞。
点击展开 Claude 的回复(节选)
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 个漏洞)
场景四:SRC 漏洞赏金猎人
你说: 我是 SRC 赏金猎人,目标是某大型互联网公司,有两天时间,帮我制定漏洞挖掘计划。
点击展开 Claude 的回复(节选)
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 |
场景五:竞态条件专项测试
你说: 测试一个票务系统的竞态条件漏洞,有抢票、支付、退票功能,帮我出方案,要包含测试脚本。
点击展开 Claude 的回复(节选)
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 案例佐证。
场景六:给甲方写安全报告
你说: 我刚测完一个电商系统,发现了支付金额可以改、IDOR 能遍历订单、管理后台没鉴权这三个漏洞。帮我写一份给甲方管理层看的安全报告,要有说服力。
点击展开 Claude 的回复(节选)
Claude 输出的报告不是"建议修复"这种空话,而是用 WooYun 真实数据给每个漏洞加上背书:
## 漏洞 1:支付金额服务端未校验
严重级别:Critical
业务影响:攻击者可将任意商品价格改为 0.01 元完成支付
行业参考:
WooYun 支付绕过类漏洞共 1,056 例,其中 68.7% 被评为高危。
典型案例:M1905 电影网价值 2588 元套餐因同类漏洞被 0.5 元购买。
本漏洞的技术特征与 WooYun 金额篡改 176 例(83.0% 高危)完全吻合。
修复建议:
所有金额计算必须在服务端完成,客户端提交的价格参数仅作为展示参考。
……
为什么这比通用报告有用: 管理层不懂 amount=0.01 是什么意思,但"跟 M1905 电影网被薅 2588 元是同一种漏洞"他们能理解。数字和案例是说服非技术决策者的语言。
场景七:时间紧迫的测试优先级
你说: 客户给了我两天时间测一个 B2B 平台,功能很多(用户管理、订单、支付、发票、审批流、报表导出),我没时间全测。帮我按风险排优先级。
点击展开 Claude 的回复(节选)
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% │ 4,858(信息)│ 2h │
│ IDOR 遍历 │ 62.3% │ 1,705 │ 3h │
│ 发票接口滥用 │ 62.3% │ (越权类) │ 1.5h │
└──────────────┴─────────┴───────────┴──────┘
如果时间不够,砍 Day 2。Day 1 的四项覆盖了最高危的攻击面。
不加载插件时: Claude 也能列优先级,但排序依据是"一般经验"。有插件时,每一条优先级背后都有几百到几千个案例的统计支撑,跟客户解释"为什么先测这个"时有数据可引。
场景八:中国本土业务安全测试
你说: 帮我测试一个政务服务平台,有统一身份认证、行政审批、证照查询、在线缴费,对接了支付宝和微信支付。
点击展开 Claude 的回复(节选)
Claude 结合 WooYun 数据给出中国政务系统特有的测试重点:
政务系统弱口令模式(WooYun 弱口令 7,513 案例,58.2% 高危):
WooYun 数据中政务系统高频弱口令:
- 管理后台:
admin/admin123、admin/888888 - 业务系统:
工号/工号、姓名拼音/123456 - 数据库:
sa/空密码、root/root - 运维接口:
test/test、tomcat/tomcat
支付宝/微信回调参数测试:
| 测试点 | 攻击方式 | WooYun 关联 |
|---|---|---|
| 回调通知伪造 | 构造 notify_url 的 POST 请求,不验签 | 支付绕过 1,056 例 |
| trade_status 篡改 | 将 WAIT_BUYER_PAY 改为 TRADE_SUCCESS | 订单篡改 1,227 例 |
| out_trade_no 遍历 | 修改商户订单号查看他人缴费记录 | 越权 1,705 例 |
| total_amount 篡改 | 回调金额与实际支付金额不一致 | 金额篡改 176 例 |
证照查询越权(WooYun "北京现代某平台越权遍历几百万身份证件"):
身份证号、驾驶证、营业执照等证照查询接口是政务系统的高危面。 WooYun 有大量类似案例:通过顺序递增的文件 ID 或证件编号遍历全量数据。
更多适用场景
| 场景 | 示例提问 | 插件提供的额外价值 |
|---|---|---|
| 密码重置安全 | "帮我测试密码重置功能的安全性" | 777 案例 + 88% 高危率佐证 |
| 弱口令检测 | "对这批政府系统做弱口令检测" | 按行业的高频弱口令模式 |
| 验证码绕过 | "测试这个金融 App 的验证码安全" | 验证码绕过案例分类(回显/爆破/复用/时效) |
| 信息泄露排查 | "审计这个 Spring Boot 系统的信息泄露" | 4,858 例信息泄露的分类统计 |
| 配置安全加固 | "检查 Tomcat + MySQL + Redis + Nginx 的配置安全" | 1,796 例配置不当的高危占比 72.6% |
| 云环境安全 | "制定阿里云/AWS 环境安全检查方案" | 国内云厂商特有的配置风险模式 |
| 银行 App 评估 | "对手机银行做业务逻辑安全评估" | 金融领域 2,919 案例的攻击模式矩阵 |
| 安全培训材料 | "给开发团队做一次支付安全培训" | 真实案例比抽象理论更有教育效果 |
| 合规审计支撑 | "等保测评中业务逻辑这块怎么测" | 用 WooYun 数据映射到等保要求 |
知识覆盖
三层渐进式知识体系
插件采用三层渐进加载架构,避免一次性加载所有文件,按需读取:
第一层:领域参考(references/) ← 触发时优先加载
6 个领域文件 · 方法论 + 攻击模式矩阵 + 测试清单
第二层:深度分析(knowledge/) ← 需要技术细节时加载
8 个技术文件 · 根因分析 + Payload 矩阵 + WAF 绕过
第三层:案例库(categories/) ← 需要引用案例或 Payload 时加载
15 个分类文件 · 真实案例标题 + 高频参数 + 攻击模式分布
6 大领域 · 33 类漏洞
| 领域 | 案例数 | 代表漏洞类别 |
|---|---|---|
| 认证绕过 | 8,846 | 密码重置(88%高危)、弱口令、验证码绕过、会话固定 |
| 越权访问 | 6,838 | IDOR、垂直越权、任意账号/操作/查看/修改/删除 |
| 金融安全 | 2,919 | 支付绕过(68.7%高危)、金额篡改、订单篡改、余额操纵 |
| 信息泄露 | 6,446 | 个人信息泄露、凭证泄露、调试信息、接口文档暴露 |
| 逻辑缺陷 | 1,679 | 状态机滥用、竞态条件、流程绕过、设计缺陷 |
| 配置不当 | 1,796 | 默认凭证、组件暴露、加固缺陷、云配置错误 |
漏洞严重性排序(按高危占比)
| 排名 | 漏洞类别 | 案例数 | 高危占比 |
|---|---|---|---|
| 1 | 密码重置 | 777 | 88.0% |
| 2 | 任意账号 | 220 | 86.4% |
| 3 | 提现漏洞 | 59 | 83.1% |
| 4 | 金额篡改 | 176 | 83.0% |
| 5 | 余额篡改 | 113 | 77.9% |
| 6 | 逻辑漏洞 | 266 | 74.8% |
| 7 | 订单篡改 | 1,227 | 74.2% |
| 8 | 配置不当 | 1,796 | 72.6% |
| 9 | 支付绕过 | 1,056 | 68.7% |
| 10 | 信息泄露 | 4,858 | 64.7% |
| 11 | 越权访问 | 1,705 | 62.3% |
| 12 | 弱口令 | 7,513 | 58.2% |
四阶段方法论
第一阶段:业务流程映射
└─ 理解业务 → 映射用户旅程 → 识别状态转移 → 映射信任边界
第二阶段:假设形成
└─ 基于 6 大领域参考文件,形成"[流程X] 可能受到 [攻击Y]"的假设
第三阶段:针对性手动测试
└─ 准备多角色账号 → 拦截请求 → 单参数修改 → 观察服务器行为
第四阶段:影响评估与文档化
└─ 证明业务影响 → 匹配 WooYun 模式 → 输出可操作的修复建议
评估基准
12 组全领域对照评测(with_skill vs without_skill),覆盖全部 6 个领域:
| 指标 | With Skill | Without Skill | 差异 |
|---|---|---|---|
| 断言通过率 | 100% (72/72) | 64.6% (47/72) | +54.8% |
| 平均耗时 | 222s | 164s | +35% |
| 平均 Token | 41K | 28K | +46% |
分项结果:
| 断言类别 | With Skill | Without Skill |
|---|---|---|
| WooYun 案例引用 | 12/12 (100%) | 0/12 (0%) |
| WooYun 统计数据 | 12/12 (100%) | 0/12 (0%) |
| 领域专业断言 | 48/48 (100%) | 47/48 (98%) |
结论:插件的核心价值在于注入真实的 WooYun 历史数据(公司案例 + 量化统计 + 独特分类法),而非通用安全知识。
完整评测数据见
evals/目录
行业渗透实战
examples/ 目录包含基于 WooYun 数据生成的行业渗透方法论:
运营商渗透 — 弱口令、越权、增值业务平台、NMS、GetShell 路径
- 弱口令:网络设备 admin/admin、BOSS 系统工号/工号、数据库 sa/空密码
- 越权:手机号遍历用户信息、套餐/话费/通话记录
- 高价值攻击面:增值业务平台(SP→短信网关→BOSS)、网管系统(华为 U2000)、物联网卡平台
- GetShell 路径:Struts2/WebLogic RCE → VPN 漏洞 → 供应链(外包公司)→ 横向移动至 BOSS/AAA
银行渗透 — 支付漏洞、手机银行 App、验证绕过、渗透路径
- 资金类漏洞:密码重置(88%高危)、提现绕过(83.1%)、金额篡改(83.0%)、支付漏洞(68.7%)
- 银行特有面:手机银行(SSL Pinning 绕过)、网银(ActiveX/前端加密)、第三方支付接口
- 验证绕过:短信验证码(爆破/并发/复用)、人脸识别(照片/Hook)、交易签名(密钥硬编码)
- 渗透路径:外部 Web → 移动端 → 供应链 → 核心银行/信贷/风控
项目结构
wooyun-legacy/ # Marketplace 仓库
├── .claude-plugin/
│ └── marketplace.json # Marketplace 清单(tanweai-security)
├── plugins/
│ └── wooyun-legacy/ # 插件目录(安装时被复制到缓存)
│ ├── .claude-plugin/
│ │ └── plugin.json # 插件清单
│ ├── skills/
│ │ └── wooyun-legacy/
│ │ ├── SKILL.md # 主技能 — 方法论入口 + 三层引用索引
│ │ └── references/ # 第一层:6 大领域参考
│ │ ├── authentication-domain.md
│ │ ├── authorization-domain.md
│ │ ├── financial-domain.md
│ │ ├── information-domain.md
│ │ ├── logic-flow-domain.md
│ │ └── configuration-domain.md
│ ├── knowledge/ # 第二层:8 个深度分析手册
│ │ ├── command-execution.md # 命令注入完整攻击链
│ │ ├── sql-injection.md # SQL 注入 + WAF 绕过
│ │ ├── file-upload.md # 上传绕过 Payload 矩阵
│ │ ├── xss.md # XSS 输入点和绕过
│ │ └── ... # (共 8 个技术文件)
│ └── categories/ # 第三层:15 个漏洞案例索引
│ ├── sql-injection.md # 典型案例 + 高频 Payload
│ ├── unauthorized-access.md # 越权案例 + 攻击模式
│ ├── weak-password.md # 弱口令案例 + 高频密码
│ └── ... # (共 15 个分类文件)
├── categories/ # 原始漏洞案例库(完整版,71MB)
├── knowledge/ # 原始知识方法论(完整版)
├── evals/ # 评估基准数据
├── examples/ # 行业渗透实战示例
├── LICENSE # CC BY-NC-SA 4.0
└── README.md
系统要求
- Claude Code CLI(需要 Claude Pro / Max / Team / Enterprise 订阅)
- 无其他外部依赖
数据来源
- WooYun(乌云):中国最大的漏洞披露平台(2010-2016),累计收录 88,636 个漏洞
- 本插件聚焦其中 22,132 个业务逻辑漏洞,横跨电商、金融、社交、政务、运营商、云服务等行业
- 所有案例数据、统计比例、高危占比均来自原始漏洞数据库的结构化分析
贡献指南
欢迎贡献!以下是参与方式:
- 报告问题:在 Issues 中提出 bug 或建议
- 提交案例:补充新的漏洞案例或攻击模式到对应领域的 reference 文件
- 改进方法论:优化 SKILL.md 中的测试步骤或假设形成策略
- 添加行业示例:在
examples/中添加新的行业渗透方法论
提交 PR 前请确保:
- 不包含未脱敏的真实漏洞细节(URL、IP、凭证)
- 案例引用保持"公司名 + 漏洞类型"的格式,不暴露具体利用细节
- 遵循现有的文件结构和命名规范
许可证
CC BY-NC-SA 4.0 — 署名-非商业性使用-相同方式共享
- 可自由使用于安全研究、教育培训、授权测试
- 禁止用于商业产品(需另行授权)
- 衍生作品须以相同许可证发布
免责声明
本插件仅供安全研究、教育培训、授权渗透测试使用。
严禁用于未经授权的渗透测试或任何违法活动。使用者需自行承担因不当使用而产生的法律责任。WooYun 案例引用仅包含公司名和漏洞类型描述,不包含可直接利用的漏洞细节。
加入社区
扫码加入「探微杜渐科技」交流群
一起探讨 AI + 安全的更多可能
如果二维码过期,请关注公众号「探微杜渐人工智能」获取最新群二维码
致敬
致敬 WooYun 和那个时代的白帽子们。
探微安全实验室出品
相似工具推荐
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
OpenHands
OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。
gstack
gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置,旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战,gstack 提供了一套标准化解决方案,帮助开发者实现堪比二十人团队的高效产出。 这套配置特别适合希望提升交付效率的创始人、技术负责人,以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具,涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令(如 `/review` 进行代码审查、`/qa` 执行测试、`/plan-ceo-review` 规划功能),即可自动化处理从需求分析到部署上线的全链路任务。 所有操作基于 Markdown 和斜杠命令,无需复杂配置,完全免费且遵循 MIT 协议。gstack 不仅是一套工具集,更是一种现代化的软件工厂实践,让单人开发者也能拥有严谨的工程流程。
gpt4free
gpt4free 是一个由社区驱动的开源项目,旨在聚合多种可访问的大型语言模型(LLM)和媒体生成接口,让用户能更灵活、便捷地使用前沿 AI 能力。它解决了直接调用各类模型时面临的接口分散、门槛高或成本昂贵等痛点,通过统一的标准将不同提供商的资源整合在一起。 无论是希望快速集成 AI 功能的开发者、需要多模型对比测试的研究人员,还是想免费体验最新技术的普通用户,都能从中受益。gpt4free 提供了丰富的使用方式:既包含易于上手的 Python 和 JavaScript 客户端库,也支持部署本地图形界面(GUI),更提供了兼容 OpenAI 标准的 REST API,方便无缝替换现有应用后端。 其技术亮点在于强大的多提供商支持架构,能够动态调度包括 Opus、Gemini、DeepSeek 等多种主流模型资源,并支持 Docker 一键部署及本地推理。项目秉持社区优先原则,在降低使用门槛的同时,也为贡献者提供了扩展新接口的便利框架,是探索和利用多样化 AI 资源的实用工具。
meilisearch
Meilisearch 是一个开源的极速搜索服务,专为现代应用和网站打造,开箱即用。它能帮助开发者快速集成高质量的搜索功能,无需复杂的配置或额外的数据预处理。传统搜索方案往往需要大量调优才能实现准确结果,而 Meilisearch 内置了拼写容错、同义词识别、即时响应等实用特性,并支持 AI 驱动的混合搜索(结合关键词与语义理解),显著提升用户查找信息的体验。 Meilisearch 特别适合 Web 开发者、产品团队或初创公司使用,尤其适用于需要快速上线搜索功能的场景,如电商网站、内容平台或 SaaS 应用。它提供简洁的 RESTful API 和多种语言 SDK,部署简单,资源占用低,本地开发或生产环境均可轻松运行。对于希望在不依赖大型云服务的前提下,为用户提供流畅、智能搜索体验的团队来说,Meilisearch 是一个高效且友好的选择。