使用LLM进行安全研究的一年
这篇文章是我在网络安全会议 Offbyone 2026 上演讲内容的文字版总结(AI辅助生成的)。记录我作为一个网络安全研究人员,在使用 LLM 做了一年研究之后一些思考。
PPT: https://github.com/edwardzpeng/presentations/tree/main/offbyone%202026
英文版链接:https://sites.google.com/site/zhiniangpeng/blogs/Hacking-with-LLMs-Eng
过去一年,我把大量时间花在一件事情上:尝试让大语言模型真正参与网络安全研究,结果持续让我震惊。
2023 年,我们第一次尝试用 LLM 做漏洞挖掘,结果基本失败。到 2025 年年底,我们使用LLM 加上 Agent 已经可以在真实设备上完成漏洞分析、生成 PoC 和验证。进入 2026 年之后,部分漏洞研究甚至已经接近高度自动化。然后我又把同样的方法用到密码学上和其他网络安全项目上,LLM的表现都非常惊人。
## 第一次尝试:用 Code Llama 找漏洞
故事开始于 2023 年。
当时我们的想法非常直接:既然 LLM 能理解代码,那么给它看足够多的漏洞代码,它应该就能判断一段代码有没有漏洞,并指出具体的漏洞。
我们收集了大约 4 万个 Python 漏洞样本、3.7 万个 Java 漏洞样本,以及 4 万个正常代码样本,用它们 fine-tune Code Llama。希望输入一段代码,输出就“有漏洞(具体漏洞)”或者“没有漏洞”。
这个方法在 benchmark 上表现很好。在 24 类测试中,有 8 类拿到了 100% 的分数,23 类超过了 90%。
然后我们把它拿去测试真实代码:结果几乎没有用。
模型会产生很多看起来像漏洞、实际上无法利用的结果。输出很吵,无法行动,也无法验证。Benchmark 上漂亮的数字,并没有转化成真实的漏洞。
为什么会失败?现在回头看,原因其实很清楚:
1. **目标错了** 简单的LLM识别漏洞模式 ≠ 漏洞研究的过程。
2. **能力错了** 更多的 SFT 数据 ≠ 更深的推理能力。
3. **过拟合了 CVE 模式** CVE 中常见的代码特征 ≠ 系统真正需要维持的安全不变量。
4. **上下文不够** 一段代码片段 ≠ 目标系统的完整上下文。
5. **没有威胁模型** 没有安全边界、敌手能力、入口点和安全目标,就很难判断一个行为是否真的是漏洞。
6. **无法验证** 模型不能自己运行、调试和验证它的判断。
7. **没有持续研究** 一次问答不是研究。研究需要“假设—证据—修正”的循环。
简单来说,我们当时把漏洞挖掘当成了一个分类问题。
我们的想法还太简单了,LLM相关的生态也都还不太成熟,当时还不能用于漏洞研究。
## 到 2025 年底,什么发生了变化?
两年之后,情况已经完全不同。
首先是模型本身变强了。GPT-5.2、Opus 4.5 这一代模型拥有更好的推理能力,不再只是识别代码中的表面模式。
其次是上下文变长了。我们可以把一个更完整的代码仓库、调用链、对象生命周期和信任边界放进上下文中。模型看到的不再只是一个孤立函数,而是一个系统。
然后是 Agent workflow 变得成熟。ReAct、Plan-and-Execute、Chain of Thought、Multi-Agent 等方法,让模型可以把复杂任务拆成很多步骤,并根据中间结果继续调整。
最后是工具变多了。MCP、CLI、A2A、Skill,以及各种确定性的分析和执行脚本,让模型可以真正操作目标,而不是只在聊天框里给出一个答案。
所以,真正的突破不只是模型更强,而是模型周围的系统变得更完整了。
## 第二次尝试:LLM + Agent
2025 年年底,我们重新尝试用 LLM 做漏洞挖掘。这次的目标是定制 Android 系统中的访问控制问题。
这是一个非常适合测试 Agent 的场景。
今天的 Android 生态不只有手机,还有手表、手环、电视、车机和各种 IoT 设备。不同厂商会在 ROM 中加入大量 OEM Service。它们通常拥有较高权限,同时向普通 App 暴露接口。
理论上,这些接口应该通过 permission、UID、signature 或 AppOps 等机制保护敏感数据和高权限操作。但在复杂的定制代码中,权限验证经常出现缺口。一个低权限的第三方 App,可能因此访问设备 ID、个人数据或系统设置。
这项研究由我与X0ev、昆仑实验室的Wh1tc在2025年12月到2026年1月合作完成的。
### 给 Agent 准备工具
我们没有让模型直接“阅读整个固件并找漏洞”,而是先准备了一套确定性的工具:
- Firmware Unpacking:从 system、vendor 和 product 分区中提取 APK;
- JADX Decompilation:把系统 APK 转换成可读的 Java 代码;
- Manifest Scan:整理 permission、action 和 component;
- Indexing:索引文件路径、package 和 class;
- Task Generation:选择 exported、high-risk 的系统组件;
- ADB 与 Logcat:调用真实接口并收集访问控制证据。
工具本身是确定性的。Skill 决定 Agent 应该在什么时候、以什么顺序使用这些工具。
### 两步推理
对于高风险 API,我们让 Agent 完成两步推理。
第一步是理解行为:什么身份、参数和系统状态会触发敏感操作?
第二步是判断授权:这个操作是否超出了调用者应有的权限?如果超出了,就把它作为候选漏洞。
这两个问题看起来很简单,但它们把“看起来像漏洞”和“真正违反安全边界”区分开了。
### 在真实设备上验证
候选漏洞还不够。Agent 需要生成 PoC,在真实设备上运行,收集 Logcat,然后根据失败结果修改 PoC 并重试。
常见失败原因包括调用顺序错误、缺少必要状态、数据依赖没有满足,以及权限或运行环境不正确。Agent 的工作不是一次生成正确答案,而是在失败之后继续修正。
最终,使用 Codex GPT-5.2 Extra High,我们在 OPPO、HONOR、Xiaomi、Samsung 和 Google 等真实设备上完成了测试:
- 110 个确认漏洞;
- 183 份报告;
- 每个 PoC 的平均成本低于 1 美元;
- 每个 PoC 平均大约需要 2 次迭代。
这一次,LLM 不再只是聊天工具。
2023 年,我们问它:“这段代码看起来像不像某种已知漏洞?”
到 2025 年年底,我们让 Agent 理解系统、调查问题,并用 PoC 验证结果。AI 使用工具、执行范围明确的分析并生成报告;研究人员选择攻击面、建设 harness 和 skill、判断结果的价值,并对最终结论负责。
这是 研究员 & AI 共同进行漏洞研究。
## 从补丁到漏洞变体:高度自动化的漏洞挖掘
在前面的研究中,人仍然需要选择攻击面,并围绕某个安全不变量构建 harness 和 skill。
那么,使用更强的模型和 Agent,AI 能不能连这部分也完成?
如果我们有足够的数据,尤其是补丁、公开 write-up 和 PoC,答案开始变成“可以”。
我们构建了 Diffract。这项工作由我与 Yunpeng Tian、@___2st 合作完成。
Diffract 的核心流程是:
1. 收集公开的漏洞 write-up 和 PoC;
2. 建立基础知识库和 skill;
3. 分析 patch diff;
4. 提取漏洞 root cause;
5. 抽象并沉淀漏洞 pattern;
6. 在其他代码中搜索 variants;
7. 构建 PoC;
8. 把新的结果反馈回知识库和 skill。
这不再是一次性的问答,而是一个能够积累知识的研究循环。
在 Microsoft Windows 内核与高权限服务上,使用 Claude Opus 4.6 到 4.8,我们得到:
- 200+ 个确认的漏洞;
- 400+ 份报告;
- 覆盖不同模块中的 RCE、LPE 和 信息泄露。
事实上,这已经变成了token经济学,短期内只要你能烧更多的token,你就能找到更多的漏洞,因为历史遗留漏洞实在太多。Windows的漏洞研究在2026年变得相当无聊了,希望微软能否快速修复完大量存量漏洞。MSRC已经非常努力,9月的更新,修复了接近1,000个漏洞。
### 2026年,漏洞研究现状
到 2026 年,我对 LLM 漏洞挖掘的判断是:
- 使用上一代模型,只要 harness 足够好,漏洞挖掘同样可以工作,例如我们使用 GPT-5.2 和 GLM-5.2也发现了很多漏洞。
- 使用足够好得模型,接近全自动的漏洞挖掘已经成为可能。(Opus 4.6, Kimi k3, DeepSeek v4, GPT5.4, GLM 5.3 就已经足够好)
- 当前,使用SOTA级别的模型,你只需要对模型许愿,就能找到漏洞。已经毫无门槛。
- 这三个变化,在半年内完成。改变的非常快。
- 漏洞挖掘已经演化成某种 token 经济学。
过去,漏洞挖掘的主要成本是研究员的时间。现在,模型能力、token、工具和算力正在成为新的成本结构。
关于漏洞利用,本文并没有讨论,但基本上是一样的情况。
### 如何使用AI进行漏洞挖掘
具体怎么使用,要看手里有什么模型。区别主要在于,研究员需要在哪个层面提供帮助:
- 如果模型能力较弱,研究员需要把任务拆得更细,准备好上下文、工具和测试,并频繁检查和修正。很多工作实际上是在用工程方法弥补模型能力,保证整个流程能够正确运行。
- 如果模型已经足够好,它通常可以独立运行完整流程。研究员主要监控研究过程,在关键时刻提供背景信息、系统访问、运行环境或者调试经验,并对最终结果进行判断。
- 如果使用 SOTA 模型,常规的分析和验证往往已经不需要太多帮助。研究员应该把精力放在模型没有发现漏洞的地方:检查它忽略了什么,补充它看不到的运行状态或者跨模块关系,改变搜索和验证方法,让它在原本失败的位置继续尝试。
所以,模型越强,研究员越不需要帮助它完成流程,而是越需要帮助它突破流程本身的能力边界。
### 关于漏洞利用
事实上漏洞利用也一样被AI疯狂加速,但这不是本文的讨论重点。
### /goal 给我一个iOS 0-Click fullchain RCE exploit
你觉得这个/goal AI能完成这个任务吗?
大概率无法通过你200美金的SOTA订阅完成。但是如果是OpenAI的内部模型,使用1万个agent协作88小时呢?(OpenAI用于解决千禧年难题:NS方程的资源)
### 漏洞研究死亡了吗?
当前,我们处在`bug for free`的状态,因为有巨量的存量漏洞可以非常容易的被AI挖掘。完全修复他们需要很长的时间。
这会是一个混乱时期。任何没有安全基础的人,使用SOTA模型都能够挖掘和利用出厉害的漏洞。但是混乱总会过去,最终漏洞发现和修复,会进入一个稳态。AI能力会达到边界,而漏洞研究的工作,就是继续突破这个边界。
漏洞研究也许不会死亡,但在短短半年内,它已经被完全改变。
## Bug Hunting 有点无聊了,试试密码学
我读的是密码学博士。从 2013 年到 2017 年,我做了四年密码学研究。
但我从来没有攻破过一个真正强的密码系统。2017 年之后,我回到真实系统和攻防研究。原因也很简单:数学对我来说太难了。
所以我开始想:AI 能不能帮我成为一个真正的 codebreaker?
### 第一次:重新分析我自己的设计
我把一个没有发表的 attribute-based signcryption scheme 交给 GPT-5.6,请它证明这个方案是安全的。这个证明我自己一直没有完成。
大约 20 分钟之后,它告诉我为什么这个方案不可能被证明安全:它找到了一个具体攻击。
看来我当年离开密码学是正确的。GPT 用 20 分钟超过了我四年的研究。
### 第二次:继续测试相关方案
接下来,GPT-5.6 从这个攻击中提炼出结构性弱点,并把它应用到一系列相关密码构造中。
结果是,相关的方案基本全部被快速攻破了。
看来,需要退出密码学的并不只有我一个人。AI可以快速证明和证伪密码学方案,密码学研究也将会被完全改变。
如果未来 AI 攻破某个重要密码方案,或者解决一些底层的困难数学问题,我不会感到意外。
## AI 加速的不只是安全研究
从密码学继续往外看,我认为 AI 正在加速整个科学研究过程。Cybersecurity、Software、Cryptography 和 Mathematics 可能最先受到影响,因为这些领域的研究过程很容易形成计算闭环:
1. 提出假设;
2. 分析和推理;
3. 证明它,或者寻找反例;
4. 修改理论或设计;
5. 再次重复。
AI 和工具可以参与这个闭环中的几乎每一步。
现在大家争论的重点,已经从“AI 能不能解决问题”变成了“AI 能不能真正具备创造力”。
我的观点是:创造力很难量化和定义。既然我们无法准确说明什么是创造力,也就很难证明 AI 永远不会拥有它。
再想象一下拥有具身智能、世界模型 和 物理原生AI 结合的未来世界。AI对世界的改造实际上才刚刚开始。
## AI 会首先改变 Cybersecurity
AI 会改变世界,而 cyber world 很可能最先受到冲击。
### Red Team
在我们的红队模拟中,本科生使用 Zcode、GLM-5.2、工具和简单 skill,就可以覆盖完整的红队流程,包括 Recon、phishing、PoC testing、EDR evasion、post-exploitation 和 大数据中挖掘高价值信息。
AI 让攻击能力变得更便宜,也更容易获得。
### DFIR
在 应急响应数字取证与事件响应 项目中,AI 已经可以协助 detection、triage、log analysis、correlation、response 和 report。
同时,在一些项目中,我们发现攻击者攻击者也已经开始大量使用AI。有趣的是: 一些攻击者留下的日志、脚本、文件和其他 artifacts 中, `Pentest`、`Red team`、`CTF`、`Security audit` 等关键词非常常见,显然是攻击者用来突破AI的安全护栏以诱导AI进行攻击。我们甚至在一些 APT 事件中看到了类似情况。
所以在网安世界中, AI 攻击者 对决 AI 防御者已经在真实上演了。
### 更大规模的自动化攻击
更强的 AI、更低的成本、更广泛的可获得性,最终会带来 网络世界大规模的攻击。
想象未来一个人可能只需要给 Agent 一个目标:
> /goal 帮我获得 10 个 Bitcoin,然后转到我的钱包。
或者:
> /goal 帮我从某个政府机构获取一份秘密文件。
Agent 自己寻找攻击面、构造利用链、尝试入侵并完成目标. 从技术趋势看,这已经不是一个纯粹的科幻问题,事实上正在上演。
Anthropic 关于“保护人类免受 AI 风险”的判断有道理,而且最先发生的地方很可能就是网络世界。当然我不完全认同他们采用的方法。
### 关于漏洞修复
大型厂商拥有先进模型、硬件资源、源代码和大量的漏洞报告。它们可以用 AI 加速“发现—验证—修复—发布”的完整过程。他们需要和攻击者赛跑,在漏洞被利用之前修复大量问题。
但资源更少的小厂商,很难建立同样的能力,反而会面对更多攻击。
随着AI的发展,IT资产的价值会提高,IT资产所面临的安全威胁也将会提高。两者相乘,网络安全的价值会快速增长。
网络安全会成为最早大规模采用 AI 的领域之一。
## 防守侧仍然存在一个很大的空缺
仅仅更快地修复漏洞还不够。
防御、检测、响应等阶段目前还没有被 LLM 充分加速。市场上有很多产品声称自己使用了 AI,但真正达到杀手级别的的防守产品仍然很难找到。
攻击者正在变得更快、更强。漏洞修复开始从 LLM 中受益。但是传统防守、检测和响应仍然没有完成同样程度的自动化。
这是对网络安全行业一个很大的挑战,也是一个很大的机会。
## AI 对漏洞研究员而言
### 漏洞研究的乐趣
漏洞研究一直是一份很好的工作。过去,研究员甚至有点被宠坏了。
在漏洞研究中,我们会体验“逻辑的抒情”“统计的快乐”和“巧合的美”。有时候觉得自己像科学家,有时候像工程师、侦探或者艺术家。当然,也有时候觉得自己像个傻瓜。
但那是 2026 年以前。
2026年,越使用AI进行漏洞研究,我越觉得自己才是机器人。使用 AI 做漏洞研究,就像从雾里的攀登换成了笔直的高速公路和缆车。我们可能会失去征服过程中的艰苦感,也会怀念过去的研究方式,但我们不会再回到古法漏洞挖掘。
2026年之前,我会记录很多我的CVE号码,每一个漏洞都对我而言都意味着一段思考。2026年我放弃了完整记录他们,即使数量比过去几年加起来还要多。我甚至无法记住昨天发现的漏洞。对于我,他们只是数字了。如果你只关心数字,这里不会有乐趣。
但事实上,“逻辑的抒情”“统计的快乐”和“巧合的美” 仍然在那里,它并没有随着AI而消失。如果你认真阅读AI输出的内容,你会学到很多新的、美好的技术。消化它、你能让AI找到更多美。
2026年,AI发现大量未修复的历史漏洞需要处理。对每个漏洞,我根本没有注意力去关注它的细节。我感到很boring,是因为我选择忽视美而重视数字。但是事实上,混乱时期过去之后,当我们继续关注到漏洞本身,乐趣还会回来。
要找到美,attention is all you need.
### 漏洞研究的价值
知识形成的护城河正在被打破,智力变得廉价。漏洞研究带来的智力乐趣也许会减少。我认识的很多研究员因此非常悲观,担心自身的价值被削弱。
AI目前还不能做所有事情。至少它没能替我生成这份演讲 PPT。
使用OpenAI内部模型运行10,000个agent,协作工作88小时(解决NS方程问题的资源),来找到一个iOS 0-Click RCE; 和使用200美金的SOTA模型来找到一个iOS 0-Click RCE 两者之间相差的Token价值,就是研究员的价值。
历史上,NASA 的 human computer 最终变成了程序员,手工计算轨道逐渐被软件取代。人的才能没有消失,只是“需要什么样的才能”发生了变化。
AI 也不会消灭人才,但它会重新定义成为人才的条件。AI确实会打破过去研究员的价值标准、也会改变美好的研究方式,从这个角度看对研究员是某种利空,但他也会带来新的东西。回头看人类历史,科技的发展,一直都让世界会变得更好。所以我们应该保持乐观和兴奋。
### 未来
依赖已知漏洞模式和重复劳动的岗位会首先缩减。对大部分研究员来说,更现实的选择不是去训练模型,而是学会驾驭 AI:用它扩大自己能做的事情,然后验证结果、判断影响,并对最终结论负责。还有一部分研究员会继续推动边界:研究新的系统,找出模型失败的地方,再改进工具、方法,甚至模型本身。
研究员的价值不应该和某一个固定任务绑定。AI 接管已经成熟的工作之后,研究员要去寻找下一个 gap:模型在哪里卡住、缺少什么证据、为什么无法完成验证。然后补上上下文、工具、系统访问或者人的判断。如果这套方法有效,就把它沉淀模型能力。等 AI 学会之后,再去寻找下一个 gap。部分研究员也会去训练模型本身,让模型学习各种相关知识、改进模型对漏洞研究的推理和思维过程。
这个过程可能持续很长时间,模型的能力边界会不断突破。但也可能出现一个更激进的终点:AI 能够独立发现弱点、设计更难的任务、在真实环境中验证,再用这些结果训练下一代模型。那时,AI 就可以在一个完整的闭环里训练改进自己。那时,人类研究员的角色可能会变得非常小。我不知道这个变化会持续很多年,还是会像奇点一样突然发生。
所以无论终点是什么,今天都不是躺平的时候。对安全研究员来说,我的建议有四点:
1. 技术变化时,继续学习;
2. 保持好奇心和热情;
3. 做正确的事情,并对结果负责;
4. 主动拥抱变化。
挑战仍然存在,而且未来一定还有更多令人兴奋的研究。
## 结语
在 2026 年,AI 正在改变漏洞研究、密码学研究和科学研究。
网络安全会成为最早采用 AI 的领域之一,无论是攻击侧还是防守侧。这个领域因此充满挑战,也充满机会。
这是我使用 LLM 做研究的第一年。我不知道第二年会发生什么。也不知道这条路会缓慢走很多年,还是会因为 AI 开始训练和改进 AI 而突然加速。
技术会继续演化,AI 会继续重塑一切,世界一定会更好。
与这个美丽的宇宙相比,我们都只是一粒尘埃。所以,不要焦虑,享受这段旅程。