自动化漏洞挖掘

研究LLM Agent驱动的自动化代码审计、智能Fuzzing种子生成、符号执行增强、静态分析误报压缩等技术,探索AI在0-day漏洞发现中的能力边界。

研究背景与意义

软件漏洞是网络安全的根本源头。公开数据显示,2025年全球披露的CVE数量已接近5万个,而传统漏洞挖掘依赖安全专家的人工审计与经验积累,成本高、周期长、覆盖有限。人工智能——特别是大语言模型(LLM)与LLM Agent的兴起,正在从根本上改变漏洞发现的范式:从"人找漏洞"转向"AI辅助发现"乃至"AI自主发现"。

里程碑式验证来自两条主线:其一是DARPA AI Cyber Challenge (AIxCC)——2025年8月DEF CON 33决赛上,7支决赛队伍的网络推理系统(CRS)在约5,400万行真实开源代码中发现54/63个植入的合成漏洞(识别率86%)、修复43个(修复率68%),并在真实代码中发现18个0-day(修复11个);其二是Google的Project Naptime/Big Sleep——2024年11月,该AI Agent在广泛使用的SQLite中发现了一个可利用的栈缓冲区下溢漏洞,这是AI在真实广泛部署软件中发现可利用漏洞的首个公开案例,2025年又扩展到Chromium V8等目标(CVE-2025-10892)。

核心洞察:LLM在漏洞挖掘中的核心价值不在于替代传统程序分析技术,而在于弥合高层语义理解与底层程序分析之间的鸿沟——将自然语言描述的安全规则转化为精确的代码查询、定向测试生成与可利用性判断。

经典技术体系(AI赋能的基座)

① 模糊测试(Fuzzing)

覆盖率引导的代表:AFL(2013)、AFL++、libFuzzer、Honggfuzz;内核专用:syzkaller;持续化平台:Google OSS-Fuzz(2016年启动)与ClusterFuzz。OSS-Fuzz已对数百个开源项目持续 fuzz 多年,累计帮助修复上万计漏洞。

② 符号执行

KLEE(Cadar et al., OSDI 2008):基于LLVM的符号执行引擎,自动生成高覆盖测试;SAGE(Microsoft,2008–2012):白盒模糊测试工业化的代表,在Office等产品线上发现大量安全漏洞;angr(Shoshitaishvili et al., USENIX Security 2016):二进制分析平台,将符号执行用于固件与闭源程序审计。

③ 静态分析

Semgrep(规则即代码,社区规则库庞大)、GitHub CodeQL(QL查询语言,将缺陷建模为数据流查询)、Joern(代码属性图CPG遍历)。传统痛点是误报率高——这正是LLM可以发挥"语义消歧"作用的环节。

④ 基准与数据集

LAVA-M(NDSS 2016,大规模注入已知bug的基准)、MAGMA(NDSS 2020)、Google FuzzBench(持续 fuzzer 基准平台)、NIST Juliet/SARD测试套件、CVE/NVD与CWE Top 25。评估AI漏洞挖掘能力必须以基准先行,避免"演示式成果"误导。

AI赋能漏洞挖掘的五个环节

环节1
漏洞线索生成

LLM理解代码语义与安全规则,定位可疑source/sink与危险API用法,生成候选漏洞假设。

环节2
定向Fuzzing

自动生成harness与种子(Fuzz4All);面向协议实现由文档生成测试(NDSS 2024 LLM协议fuzzing);内核驱动交互生成(KernelGPT, ASPLOS 2025)。

环节3
崩溃分析与去重

LLM阅读崩溃栈与触发输入,判断根因类型(内存破坏/逻辑错误/空指针等),聚类去重,压缩分析师工作量。

环节4
可利用性判定与PoC

判断崩溃是否可被利用(控制流劫持、信息泄露),自动生成最小触发用例——AIxCC要求CRS自动出具结构化漏洞证明。

环节5
补丁合成与验证

生成候选补丁、回归测试并验证修复不引入新问题(AIxCC决赛修复率68%);端到端闭环是当前前沿方向。

代表性研究成果(均可公开核实)

成果发表/出处核心贡献关键结果
Big Sleep Google Project Naptime(DeepMind×Project Zero) LLM Agent自主发现并利用漏洞 2024年11月在SQLite中发现可利用栈缓冲区下溢;2025年发现V8漏洞(CVE-2025-10892)
Fuzz4All ICSE 2024 LLM驱动的通用多语言模糊测试 自动生成输入并适配多种语言处理器,显著提升覆盖率
LLM-guided Protocol Fuzzing NDSS 2024 仅依协议文档生成测试用例 对主流协议实现发现真实漏洞,降低协议审计门槛
LLMs are Zero-Shot Fuzzers ISSTA 2023(Deng et al.) 用LLM直接生成测试输入 在深度学习库等目标上,由通用提示即可发现输入有效性错误
CodaMosa ICSE 2023 LLM与覆盖引导混合模糊测试 代码覆盖停滞时由LLM探索新输入类型
WhiteFox OOPSLA 2024 LLM增强的编译器/语言实现测试 在GCC等成熟目标上发现此前遗漏的缺陷
KernelGPT ASPLOS 2025 内核fuzzing harness自动合成 面向Linux内核驱动交互自动生成测试桩
FuzzingBrain arXiv:2509.07225(AIxCC 2025决赛第4名) LLM作为编排器的自主漏洞检测与修复系统 AIxCC中自主发现28个漏洞(含6个0-day)、修复14个;V2(2026)在真实部署中确认29个0-day
DARPA AIxCC 2025决赛 DEF CON 33(2025.8) 端到端自动发现+修复竞赛 7支决赛队伍在约5,400万行代码中发现54/63个合成漏洞、修复43个,另发现18个真实0-day;冠军Team Atlanta(400万美元)、亚军Trail of Bits(300万美元)、季军Theori(150万美元)

能力边界与挑战

当前能力边界

  • 语义理解优势:LLM在理解代码意图、识别安全敏感操作、推断开发者假设方面表现突出,特别适合逻辑类漏洞与配置类问题;
  • 复杂控制流局限:在深度嵌套循环、复杂指针运算、并发程序的正确性推理方面仍不及传统程序分析工具;
  • 幻觉与误报:LLM可能生成看似合理但实际错误的分析结论,必须与传统程序分析、真实执行反馈交叉验证;
  • 规模化挑战:多数研究成果针对特定语言/漏洞类型,跨语言、跨框架的通用化仍需突破;
  • 基准表现≠实战能力:AIxCC采用植入式合成漏洞便于评判,真实0-day发现能力仍需长期观察——2025年决赛的真实0-day发现证明了可行性,但命中率与成本收益比仍是开放问题。

关键挑战

  • 验证闭环:发现潜在漏洞后自动产出可靠PoC并证明可利用性;
  • 修复质量:补丁需通过回归测试且不引入新漏洞(AIxCC以"修复率"强制考察这一点);
  • 误报压缩:AI辅助分析可能引入新型误报模式,需要智能过滤与优先级排序;
  • 对抗性代码:攻击者可能故意编写混淆代码以规避AI审计,形成新的攻防对抗面;
  • 双重用途治理:漏洞挖掘能力同样可被攻击方使用,必须配合负责任的披露与授权机制。

法律、伦理与负责任披露

  • 《网络产品安全漏洞管理规定》(工信部、网信办、公安部,2021年9月1日施行):规范在我国境内的漏洞发现、报告、修补与发布活动——不得发布未修复漏洞的细节、不得利用漏洞从事危害网络安全的活动;
  • 国家漏洞库体系:CNVD(国家信息安全漏洞共享平台)与CNNVD(国家信息安全漏洞库)承担国内漏洞收录与通报职责;商业平台(如补天、漏洞盒子)须在合规框架内运营;
  • 授权是前提:任何形式的漏洞挖掘与测试必须获得目标系统所有者书面授权(如SRC众测协议、渗透测试授权书);未经授权的测试可能触及《刑法》第285条、286条(非法侵入/破坏计算机信息系统罪);
  • 国际通行做法:Google Project Zero的90天披露政策、各厂商安全公告流程(PSIRT/SRC),以及AIxCC赛后开源CRS代码的做法,均在"加速修复"与"防止武器化"之间寻求平衡;AI赋能的漏洞挖掘同样需要遵循同一套伦理约束。

参考来源(真实文献与官方资料)

[1]Deng G. et al. Large Language Models are Zero-Shot Fuzzers. ISSTA 2023.
[2]Xia C. et al. Fuzz4All: Universal Fuzzing with Large Language Models. ICSE 2024.
[3]Meng R. et al. Large Language Model guided Protocol Fuzzing. NDSS 2024.
[4]Lemieux C., Park J., Beschastnikh I. CodaMosa: Escaping Coverage Plateaus in Test Generation with Pre-trained Large Language Models. ICSE 2023.
[5]Big Sleep Team (Google DeepMind × Project Zero). SQLite stack buffer underflow discovery. Google Security Blog, 2024.11.
[6]Lee K. et al. FuzzingBrain: LLM-powered Automated Vulnerability Detection and Repair(AIxCC 2025第4名). arXiv:2509.07225, 2025;V2见arXiv:2601.08210, 2026.
[7]DARPA. AI Cyber Challenge (AIxCC) — Finals at DEF CON 33, August 2025(官方成绩公告).
[8]Cadar C., Dunbar D., Engler D. KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs. OSDI 2008.
[9]Godefroid P., Levin M.Y., Molnar D. SAGE: Whitebox Fuzzing for Security Testing. Communications of the ACM, 2012.
[10]Shoshitaishvili Y. et al. SoK: (State of) The Art of War: Offensive Techniques in Binary Analysis. IEEE S&P 2016(angr).
[11]Dolan-Gavitt B. et al. LAVA: Large-Scale Automated Vulnerability Addition. NDSS 2016;Hazimeh A. et al. Magma: A Ground-Truth Fuzzing Benchmark. NDSS 2020.
[12]《网络产品安全漏洞管理规定》(2021年9月1日施行).
← 返回AI驱动安全总览