跳转至

We've Been Here Before: Decompilers, Fuzzers, and Now AI

Ch01.292 We've Been Here Before: Decompilers, Fuzzers, and Now AI

📊 Level ⭐⭐ | 12.6KB | entities/weve-been-here-before-decompilers-fuzzers-and-now-ai.md

-> 原文存档

Summary

Score: 8×8=64 本文来自 ClearSec Labs 的 Matt Handley,从历史视角审视 AI 给漏洞研究领域带来的冲击。作者通过 decompiler(反编译器)、fuzzer(模糊测试器)、static analysis(静态分析)三次类似技术变革的历史经验,指出"easy work goes away, harder work becomes more valuable"的规律,并给出在 AI 时代保持竞争力的实践建议。

核心论点:历史重演的规律

三次技术变革的共同模式

第一次:Decompiler(反编译器) Hex-Rays 将反编译能力大众化后,业界担忧 reverse engineering 将被机器终结。作者指出实际结果:decompiler 没有取代 RE,而是让其变得可访问——真正理解 decompiler 局限(何时它产生幻觉类型、何时漏掉别名、输出看起来合理但实际错误)的工程师反而更有价值。 第二次:Fuzzer(模糊测试器) AFL 出现后,OSS-Fuzz 在数百个开源项目中自动发现数千个 bug。业界担忧:如果机器找 bug 比人快,为什么还需要安全研究员? 实际结果:fuzzer 找到了容易的 bug——可模式匹配的、输入验证的、内存破坏类的 bug。而真正有趣的漏洞(逻辑缺陷、设计问题、复杂状态机 bug、认证绕过)仍需要人类直觉。Fuzzing 没有杀死漏洞研究,而是杀死了简单的漏洞研究第三次:Static Analysis(静态分析) Coverity、CodeQL、Semgrep 相继出现,各自都找到了真实漏洞,但没有一个取代人类。

永恒的循环模式

每一次,技术变革都遵循相同的五步循环: 1. 新工具自动化部分工作 2. 人们担忧工作会消失 3. 简单版本的工作确实消失了 4. 更困难、更有价值的版本变得更珍贵 5. 掌握新工具同时保留旧直觉的人成为房间里最危险的人

AI 与漏洞研究:这次有什么不同

确实不同的部分

作者坦诚承认当前 AI 时代的特殊性:

  • LLM 能推理代码:fuzzer 从未能做到——LLM 阅读 commit 历史、理解上下文、链式多步分析
  • 实证数据令人警醒:Anthropic 报告显示 Claude 在开源项目中找到并验证 500+ 高危漏洞;AI 在人类之前发现了 12 个 OpenSSL 零日;Claude Mythos 发现了 FreeBSD 中存在 17 年的 RCE (CVE-2026-4747)
  • 漏洞研究输出可验证:这使其比通用软件工程更易自动化
  • 行业领袖警告:RSA 2026 上 Kevin Mandia 警告"offense 完美风暴",Alex Stamos 称漏洞发现已呈指数级增长

并非不同的部分

同时,作者也指出一贯的规律:

  • 防御方获得相同工具:HN 热评指出:"如果 LLMs 能在我的软件中找到大量漏洞,为什么我不运行它们然后修补所有漏洞?"
  • 低质量 AI 报告已成问题:curl 项目可以现身说法
  • 新型漏洞类仍需人类创造力:LLM 在模式匹配已知 bug 类上表现出色,但发现新型 bug?仍是人类的工作
  • 理解"找什么、在哪里找、为什么重要"仍需领域专业知识:人类决定上下文

深度分析

Thomas Ptacek 的论点与反驳

Ptacek 的核心论点是"漏洞研究本质上是模式匹配加约束求解,正好是 LLM 擅长的"。这个论点从技术上说是正确的——LLM 确实编码了源代码中的相关性以及完整的历史 bug 类别知识。 但作者提出了几个反驳维度: 1. 漏洞研究≠漏洞发现 LLM 擅长发现已知类型的漏洞。但安全研究的价值不仅在于"找到一个 CVE",还在于:

  • 理解漏洞的利用链和实际影响
  • 判断漏洞在特定上下文中的严重性
  • 设计缓解措施和防御机制
  • 评估漏洞是否可被利用以及利用的难度 这些都需要对系统整体的深入理解,而不仅仅是模式匹配。 2. 防御的天然优势 如果攻击和防御都有 AI,防御方具有结构性优势:攻击者需要找到完整利用链,而防御者只需修补最薄弱的一环。在 CI/CD 管道中持续运行的 AI 比攻击者的一次性尝试更有系统性优势。 3. 新漏洞类的问题 AI 擅长发现已知漏洞类型。但安全领域最大的危害往往来自未知类型的漏洞——Spectre/Meltdown、Heartbleed、Log4Shell 这些改变整个行业认知的漏洞,不是通过模式匹配能发现的。发现新漏洞类需要人类创造力和直觉。

equilibrium argument 的深层含义

作者提出的"新 equilibrium 对防御方有利"论点值得进一步分析。 关键洞察是攻击链完整性要求 vs. 防御单点修复的 asymmetry。在传统安全中,攻击者需要每一个环节都成功才能利用,防御者只需要一个环节失败就能阻止。但这个 asymmetry 在 AI 时代是否仍然成立? 作者认为成立,因为:

  • 防御方可以用 AI 持续扫描和修复,而攻击方的 AI 需要针对每个目标定制
  • 自动化防御可以 24/7 运行,而人类攻击者(即使是 AI 辅助的)仍有资源限制 ISACA 调查支持这一观点:87% 的网络安全专业人士认为 AI 将增强他们的工作,只有 2% 认为 AI 将完全取代他们。

历史类比的有效性与局限性

作者使用 decompiler/fuzzer/static analysis 的历史来论证 AI 不会消灭漏洞研究,这个类比部分有效有效的部分

  • 技术采纳曲线确实遵循类似模式
  • 简单工作自动化的规律已被反复验证
  • 工具放大人而非取代人的论点有历史支撑 局限的部分

  • AI 与之前的工具存在质变而非量变——fuzzer 是执行器,AI 是 reasoning engine

  • 之前的技术增强人类能力,AI 第一次在某些任务上可能超过最熟练的人类
  • AI 的发展速度远超之前任何工具

实践启示

对于漏洞研究员

建立 AI 协作工作流: 1. 学会 prompt 工程:有效引导 AI agent 需要精确的问题定义和上下文输入 2. 保留 RE 直觉作为 AI 的"判断力校验":AI 生成的结果需要人类判断哪些有意义 3. 专注高价值目标:让 AI 处理模式匹配的"扫地毯",人类专注逻辑漏洞、设计缺陷 4. 构建自己的工具链:AI agent 需要定制的 context 和 workflow,公有模型难以适应特定领域 不可替代的核心能力

  • 对目标系统的整体理解
  • 对漏洞利用上下文的判断
  • 对未知漏洞类型的直觉
  • 对安全影响的评估能力

对于安全团队

防御部署策略: 1. 将 AI 集成到 SDLC:在 CI/CD 管道中集成 AI 代码审查工具,而非仅依赖人工 2. 建立 AI 辅助的漏洞优先级排序:利用 AI 的快速扫描能力决定哪些漏洞需要人工复核 3. 关注 AI 产生的新威胁:攻击者也在用 AI——需要理解 AI 驱动的攻击模式 不要做的事

  • 不要因为 AI 能找到漏洞就忽视安全设计——预防优于发现
  • 不要盲目相信 AI 的漏洞评估——需要专家验证严重性
  • 不要假设 AI 报告的漏洞都有实际可利用性

对于安全教育

课程设计建议: 作者指出"在 Building Agentic RE 课程中,几乎每个人进来时都带着某种 AI 存在性焦虑"。这提示安全教育需要: 1. 将 AI 工具纳入课程核心:不回避 AI,而是系统性地教学生使用 AI 2. 强调人类判断的不可替代性:通过真实案例展示 AI 失败的场景 3. 培养"AI + 人类"协作模式:不是 AI vs 人类,而是 AI 增强人类 学生应关注的技能

  • 理解底层系统(OS、网络、硬件)
  • 理解漏洞根因和利用链
  • AI 工具的使用和评估能力
  • 将 AI 工具整合到工作流的能力

对于 AI 安全研究

值得关注的方向: 1. AI 自身的安全问题:模型本身、训练数据、部署环境——每个都是新的攻击面 2. AI 辅助的自动化渗透测试:将 AI 集成到攻击链的各个阶段 3. 对抗性 AI:研究如何防御 AI驱动的攻击,以及如何攻击 AI 系统本身 4. 可解释 AI 在安全中的应用:理解 AI 为什么认为某代码有漏洞,比仅知道结果更重要

相关实体