Skip to content

tanweai/xianzhi-research

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

公众号搜索“探微杜渐人工智能”

微信群已经满了 可以加我微信 拉你进群 微信二维码

🔐 安全研究元思考方法论

从先知社区 5621 篇安全文档中提炼的漏洞挖掘核心思维框架

License: MIT


📝 项目背景

继上次我们分析了 wooyun legacy skill 后,我们又做了一件事——把先知社区 5621 篇安全研究文章全部过了一遍

不是为了学习具体的漏洞利用技巧(那些网上到处都是),而是想搞清楚一个问题:

顶尖安全研究员的思维方式到底有什么共性?

答案比我们想象的要简单,也更有价值。

但更重要的是——我们不想让这些洞察只停留在一篇文章里。我们把它做成了一个可复用的"Skill",让 AI 能够像顶尖安全研究员一样思考。


00 为什么要做这件事?

之前的 wooyun legacy skill 解决的是漏洞发现的 corner cases 的覆盖问题,也就是 skill 能抽取 wooyun 漏洞里足够细的一些犄角旮旯的检测手段以及参数,解决的是具体执行的 corner cases 问题;而这次先知研究员 skill 解决的是方法论 corner cases 的问题,就像一群研究员一起讨论帮你解决问题一样。

LLM 不能彻底帮你解决这些问题,因为 LLM 无法覆盖具体的思维执行,比如就某个漏洞的研究方法,他的价值判断不如人类,而 skill 可以很好的把这些专家的价值判断落到硬盘里,你只需要加载对应的文件就行,但是他也有一个缺点,就是比较死,像是一个放大版的 workflow,这点是需要读者注意的。

那先说说我们的初衷。

安全行业有个痛点:知识传承效率太低。

一个资深研究员花了十年积累的经验,很难高效地传授给新人。写文章?新人看完记不住。带徒弟?一个人带不了几个。

我们在想:有没有可能把"专家的思维方式"提取出来,变成一种可以被 AI 调用的能力?

这就是我们做这个 Skill 的初衷——不是让 AI 掌握更多漏洞知识,而是让 AI 学会像专家一样思考问题

具体来说,我们希望实现:

目标 说明
新人加速 刚入行的研究员,可以借助 AI 获得专家级的思维引导
经验沉淀 把散落在各处的研究文章,提炼成结构化的方法论
效率提升 减少重复踩坑,把时间花在真正有价值的探索上

01 我们是怎么提取这个 Skill 的?

这里分享一下我们的方法论,也许对其他想做类似事情的团队有参考价值。

第一步:分类与聚类

5621 篇文章,我们先做了一轮人工分类:

类别 数量 代表性主题
Web注入 348篇 SQL注入、SSTI、命令注入
反序列化 268篇 Java Gadget链、PHP反序列化
二进制安全 304篇 ROP、堆利用、House of系列
域渗透 327篇 Kerberos、委派攻击、横向移动
代码审计 402篇 PHP/Java框架审计
RCE/持久化 553篇 内存马、Rootkit、eBPF后门
其他 1419篇 CTF、逆向、Fuzzing等

第二步:抽象思维模式

分类完成后,我们不是去总结"有哪些漏洞类型",而是去分析:作者在发现和利用这个漏洞时,经历了怎样的思维过程?

我们发现,尽管漏洞类型千差万别,但底层的思维模式高度相似。

比如,无论是挖 SQL 注入还是挖反序列化,高手都会:

  1. 先识别输入入口(攻击面)
  2. 然后追踪数据流向(假设验证)
  3. 接着探索边界条件(边界探索)
  4. 最后反推防御逻辑(防御逆向)

这就是我们后面会讲的"四层思维模型"的由来。

第三步:结构化输出

最后,我们把提炼出的思维模式,封装成了 Claude Code 可以调用的 Skill 格式。

这样做的好处是:当你用 Claude Code 做安全研究时,它不再是一个只会查资料的工具,而是一个具备专家思维方式的研究伙伴。


02 这个 Skill 怎么用?

说了这么多,具体怎么用呢?我们整理了六个典型场景。

场景一:漏洞挖掘思路卡住了

当你卡住的时候,可以让 AI 用这个 Skill 来引导你的思考。

/vuln-research 我在测试一个Java应用,找到了一个反序列化入口但不知道怎么利用
场景一:漏洞挖掘思路

场景二:规划完整渗透路径

当你需要规划完整渗透路径时,可以让 AI 帮你串联各个模块。

/vuln-research 帮我规划从Web入口到域控的完整攻击路径
场景二:渗透路径规划

场景三:分析一个新 CVE

当你需要快速理解一个新漏洞时。

/vuln-research 分析CVE-2024-XXXX的利用思路

场景四:代码审计找漏洞

当你需要系统性地审计代码时。

/vuln-research 拿到一套Spring Boot源代码应该如何审计

场景五:CTF 快速解题

当你需要快速找到利用思路时。

/vuln-research CTF中遇到Java反序列化题目,如何快速构造Gadget链

场景六:防御审计

反过来用,可以帮助防御方发现盲区。

/vuln-research 帮我用攻击者视角审计一下我们的Java应用安全

AI 调用 Skill 后会按攻击面逐一检查:

  1. 反序列化风险:ObjectInputStream使用、Fastjson版本、XStream配置
  2. 注入风险:SQL拼接、OGNL/SpEL表达式、模板引擎
  3. 权限维持风险:是否有Agent加载入口、Filter动态注册能力
  4. 供应链风险:依赖库版本、是否存在已知CVE

03 一个反直觉的发现

现在回到我们最初的问题:高手和新手的差距到底在哪?

我们原以为,差距在于知识量——高手懂得更多漏洞类型、掌握更多利用技巧。

但分析了几千篇文章后,我们发现:差距其实在于提问的方式。

举个例子。

面对同一个目标,新手的思维链条是这样的:

找到SQL注入点 → 尝试payload → 被WAF拦截 → 换payload → 还是被拦 → 放弃

高手的思维链条是这样的:

找到SQL注入点 → 被WAF拦截 → 停下来想:WAF的检测逻辑是什么?
→ 它检测POST body,那Header呢?
→ X-Forwarded-For会写入日志表
→ 日志写入用的是预编译吗?
→ 不是,直接拼接
→ 二次注入!

看出区别了吗?

新手在技术层面打转,高手在认知层面跃迁。

这个跃迁,我们把它抽象成了一个四层模型。


04 四层思维模型

我们把安全研究中的思维活动,分成了四个层次:

层级 核心问题 思维特征
L1 攻击面识别 输入在哪里?信任边界在哪里? 枚举、收集
L2 假设验证 我的猜测对不对?如何证伪? 实验、验证
L3 边界探索 规范的灰色地带在哪里? 突破、创新
L4 防御逆向 如果我是防御者,会怎么做? 换位、博弈

大多数人卡在 L1 和 L2 之间来回打转。

高手的秘密是:当 L1-L2 走不通时,会主动跳到 L4。

这就是上面那个例子中发生的事情——被 WAF 拦截后,高手没有继续在 payload 层面较劲,而是切换到防御者视角,去思考"WAF 是怎么工作的"。

一旦理解了防御逻辑,绕过就变成了找盲区的游戏。

这就是我们说的"元认知"——不是思考问题本身,而是思考"我应该怎么思考这个问题"


05 跨域攻击链:高手的组合拳

分析完单点突破的思维模式后,我们又发现了另一个规律:高手很少只用一种技术。

他们擅长把不同领域的技术串联起来,形成完整的攻击链。

起点 终点 桥接技术 真实案例
Web注入 反序列化 JNDI注入 Log4j打Fastjson
反序列化 RCE Gadget链 CC链执行命令
RCE 持久化 内存马 Filter型内存马
Web漏洞 域渗透 凭据窃取 SQL注入拿Hash

这个表格的价值在于:当你在某个领域卡住时,可以考虑换一个领域突破。

我们内部把这个叫做"攻击链思维":不要只想着单点突破,要想着如何把多个小漏洞串成一个大漏洞。


06 几条"元规律"

最后,分享几条我们从 5621 篇文章中提炼出的跨领域规律。

规律 说明
复杂度即机会 功能越多,攻击面越大。解析器、引擎、协议处理器是漏洞高发区。
时序决定可见性 先加载的检测后加载的。内存马检测的本质是时序竞争。
抽象层越高,防御越难 内核态对用户态天然不可见。eBPF/Rootkit很难用常规手段检测。
特征可变,行为不变 静态特征可以无限变形,但恶意行为的本质不会变。
历史会重演 同类问题往往重复出现。Log4j之后,其他日志库大概率也有类似问题。

07 结构和能力边界

vuln-research/
├── SKILL.md                     # 主入口 - 元思考框架 (136行)
├── README.md                    # 本文档
└── references/                  # 专题模块 (9个文件, 1651行)
    ├── web-injection.md         # Web注入方法论
    ├── binary-exploitation.md   # 二进制安全
    ├── domain-pentest.md        # 域渗透
    ├── reverse-engineering.md   # 逆向分析
    ├── fuzzing.md               # Fuzzing方法论
    ├── privilege-bypass.md      # 提权/绕过
    ├── rce-persistence.md       # RCE与持久化
    ├── redteam-ctf.md           # 红队/CTF
    └── case-index.md            # CVE案例索引

总规模: 84KB, 11个文件, ~1880行

能力边界说明

  • ✅ 提供系统化的思维框架和方法论指导
  • ✅ 覆盖主流安全研究领域
  • ✅ 可作为 Claude Code Skill 直接调用
  • ⚠️ 不提供具体的漏洞利用代码
  • ⚠️ 需要配合实际技术能力使用

08 写在最后

回到开头那个问题:

顶尖安全研究员的思维方式到底有什么共性?

我们的答案是:

他们不是知道更多的漏洞,而是掌握了一套在未知领域快速建立认知框架的能力。

这也是我们做这个 Skill 的意义——把这种能力提取出来,让更多人能够借助 AI 获得专家级的思维引导。

我们相信,未来的安全研究,不再是人与工具的关系,而是人与 AI 协作的关系。

AI 不是来替代研究员的,而是来放大研究员能力的。

而这个 Skill,就是我们在这个方向上的一次尝试。


🚀 如何获取这个 Skill?

vuln-research skill 已开源,可以直接集成到 Claude Code 中使用。

安装方法

git clone https://github.com/tanweai/xianzhi-research.git ~/.claudeg/skills/vuln-research

使用方法

在 Claude Code 对话中:

/vuln-research 如何审计一套Spring Boot代码
/vuln-research Java反序列化Gadget链构造思路
/vuln-research 域渗透中的Kerberos攻击路径

也可以主动询问:"用 vuln-research skill 帮我分析 xxx"


🧠 核心思维模型速览

┌─────────────────────────────────────────────────────────────────────────┐
│                        安全研究思维金字塔                                │
├─────────────────────────────────────────────────────────────────────────┤
│  L4: 防御反推    ← 从补丁/过滤规则/安全机制反推绕过点                    │
│  L3: 边界探索    ← 在已知攻击面上寻找corner case                        │
│  L2: 假设验证    ← 构建推理链条,逐步验证假设                           │
│  L1: 攻击面识别  ← 寻找数据与指令不分离的接口                           │
└─────────────────────────────────────────────────────────────────────────┘

🎯 跨领域核心公式

领域 核心公式 关键洞察
通用 漏洞 = 边界失控 + 状态不一致 + 信任假设违背 所有漏洞的本质
代码审计 漏洞 = Source可达Sink && 无有效Sanitizer 污点传播分析
二进制 利用 = 信息泄露 + 原语构造 + 控制流劫持 原语组合与放大
域渗透 攻击 = 信任链逐级瓦解 委派错误=整域沦陷

📚 模块索引

模块 文件 核心内容
Web注入 web-injection.md SQL/XSS/SSTI、WAF绕过策略树、语义差异利用
二进制安全 binary-exploitation.md ROP谱系、House of系列、glibc版本利用
域渗透 domain-pentest.md Kerberos攻击、委派利用、横向移动
逆向分析 reverse-engineering.md VM对抗、反混淆、沙箱绕过
Fuzzing fuzzing.md 目标选择、覆盖率驱动、变异策略
提权/绕过 privilege-bypass.md 免杀技术、EDR绕过、权限提升
RCE与持久化 rce-persistence.md 后门技术、持久化方法
红队/CTF redteam-ctf.md 完整攻击链、云安全
案例索引 case-index.md 按CVE/技术分类的真实案例

🔑 元思考原则

  1. 假设-验证循环 — 所有安全研究都遵循:假设 → 测试 → 迭代优化
  2. 边界条件思维 — Corner case 是所有漏洞类型的共同温床
  3. 防御反推 — 从已知防御措施反推攻击路径是高效的研究策略
  4. 链式思维 — 单个漏洞价值有限,漏洞链才能完成完整攻击
  5. 版本敏感 — 同一漏洞点在不同版本需要不同利用方法
  6. 语义差异 — 不同组件对同一输入的解析差异是绕过的核心

⚠️ 免责声明

本项目仅供安全研究和教育目的使用。使用者应遵守当地法律法规,在获得授权的情况下进行安全测试。作者不对任何滥用行为负责。


关于我们

探微杜渐安全研究团队,专注于 AI + 安全的交叉领域研究。

我们相信:让 AI 学会像专家一样思考,是提升整个行业效率的关键。

如果你也在做类似的事情,欢迎交流。


📄 License

MIT License


贡献者: 欢迎提交 Issue 和 PR 来完善方法论内容。

原创内容,转载请注明出处

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors