AI漏洞猎手:大模型如何参与漏洞发现、代码审计与攻防验证?"

admin 2026-10-24 12:20:19 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

AI 漏洞猎手:大模型如何参与漏洞发现、代码审计与攻防验证?

原创

lidasimida
lidasimida

安全学习之路

2026年5月27日 14:21
广东

去阅读

AI 漏洞猎手:大模型如何参与漏洞发现、代码审计与攻防验证?

一句话核心观点:AI 不是替代安全研究员的“自动黑客”,而是把代码理解、证据整理、工具调度和验证闭环做得更快;真正可靠的 AI 漏洞猎手,一定是“大模型 + 安全工具 + 人类审计”的组合系统。

本文是“AI 漏洞猎手”系列第 1 篇,先讲总框架。后续可以继续拆代码审计、CodeQL/Semgrep 协同、fuzzing、Agentic 漏洞研究、攻防验证和企业落地。

重要说明:本文只讨论授权环境下的代码审计、漏洞发现、验证和修复闭环。不提供真实目标攻击步骤、可复制 exploit payload、绕过技巧、批量扫描脚本或武器化利用链。实战用例均为脱敏/抽象场景,用于说明方法。

先给结论:AI 能让漏洞研究更快,但不能让责任消失

漏洞研究不是“看到一段危险代码,然后模型说有洞”这么简单。真正的漏洞发现至少要回答四个问题:这段代码是否可达?输入是否可控?危险操作是否真的发生?有没有权限、校验、边界检查或业务约束挡住它?

大模型擅长的是读代码、整理上下文、形成假设、解释工具输出、生成测试思路和修复建议。它不擅长的是保证事实完全正确、替你承担授权边界、自动判断业务影响、在复杂系统里独立给出最终结论。

图 1:AI 漏洞猎手不是单模型,而是一条研究流水线

核心要点:AI 漏洞猎手的目标不是“自动攻击”,而是把安全研究从散点经验变成可追踪、可复核、可交付的工程流程。

为什么现在值得写这个题

过去几年,AI 安全能力的讨论经常停在两个极端:一边认为 LLM 只是会写解释,找不到真漏洞;另一边认为 AI 很快会自动攻破所有系统。两种说法都太粗糙。

更接近现实的变化有三条。

第一,代码上下文窗口变大,模型可以一次读更多文件、更多调用链、更多配置和测试。它不一定能自己证明漏洞,但能更快定位“值得审”的路径。

第二,安全工具链正在被 AI 包装成 agent 工作流。Google Project Zero 的 Project Naptime 把 LLM 放进类似安全研究员的工具环境里,让模型可以浏览代码、运行工具、形成假设、迭代验证。Big Sleep 则进一步展示了 AI agent 在真实开源项目中发现漏洞的案例。

第三,fuzzing、SAST、CI、安全修复正在变成一条自动化流水线。Google OSS-Fuzz 的 LLM fuzz target generation、DARPA AI Cyber Challenge、CodeQL、Semgrep 等资料都说明,AI 最有价值的落点不是“凭空找洞”,而是和已有工具结合。

层级 AI 能增强什么 典型输入 典型输出 风险
代码理解 读懂模块、接口、权限边界 源码、路由、配置、测试 调用链摘要、风险假设 误读框架语义
静态分析 解释规则命中、生成查询思路 CodeQL/Semgrep 结果、CWE 分类 误报 triage、variant 思路 把不可达路径当漏洞
动态验证 生成测试计划、整理复现证据 单元测试、fuzz harness、crash log 最小化复现、影响说明 越过授权边界
修复闭环 生成 patch、补测试、写报告 漏洞证据、修复约束、代码风格 修复建议、回归测试 修复引入新缺陷

核心要点:AI 漏洞猎手不是一个“模型能力”问题,而是一个“工具链编排”问题。

三个角色:LLM、工具、人类审计员

一个可靠的 AI 漏洞发现系统,至少有三个角色。

LLM 负责语义理解和假设生成。它能读懂“这个接口像是改订单状态”“这里缺少 tenant 校验”“这个 sanitizer 只处理了 HTML,没有处理 SQL 语义”。这些判断很像安全研究员的初筛。

工具负责事实约束。CodeQL、Semgrep、编译器、测试框架、fuzzer、依赖扫描器、SBOM、日志和运行时监控,负责告诉系统:路径是否存在、输入是否可控、sink 是否可达、crash 是否稳定、依赖是否真的被调用。

人类审计员负责边界、优先级和最终结论。尤其是业务漏洞,模型和工具很难单独判断“这个操作是否应该允许”。人要确认授权范围、业务语义、影响等级、修复方式和披露流程。

图 2:LLM、工具和人类审计员的分工

任务 LLM 更适合做 工具更适合做 人类必须确认
读大型仓库 总结模块职责、找入口点 建索引、调用图、依赖图 业务关键路径是否完整
数据流分析 解释 source/sink 语义 精确 taint tracking sanitizer 是否真的有效
漏洞假设 提出风险路径和变体 验证路径是否可达 是否构成真实安全影响
动态验证 写测试计划、解释 crash 编译、运行、覆盖率、crash 复现 测试是否越权或误伤
修复建议 生成 patch 草案和测试点 跑单测、回归、SAST 是否符合架构和合规要求

一个常见误区是让 LLM 单独审计整个仓库。这样做容易得到“看起来很专业”的结论,但无法知道证据是否可靠。更稳妥的方式是让模型围绕工具输出工作:先有可追踪证据,再让模型解释、关联和补全。

实战用例一:权限校验缺失怎么审

假设一个内部系统有订单退款接口。AI 漏洞猎手不会直接去构造攻击请求,而是先做代码审计。

第一步,它从路由表和 controller 中定位退款入口,提取调用链:refundController -> refundService -> paymentClient。第二步,它识别关键业务对象:订单、租户、用户角色、退款金额、审批状态。第三步,它沿着数据流追踪用户输入如何进入退款服务,重点看是否经过身份认证、租户隔离、订单归属校验和金额审批。

如果模型发现“退款前检查了登录态,但没有校验订单是否属于当前租户”,它不能直接下结论说“存在漏洞”。它还要要求工具或审计员补证据:这个入口是否对普通用户开放?订单 id 是否用户可控?服务层是否有统一拦截器?数据库查询是否自动带 tenant\_id?是否存在上游网关策略?

图 3:权限校验缺失的 AI 审计链路

审计点 AI 该提出的问题 需要的证据 合格结论
入口可达性 谁能访问退款接口 路由、认证中间件、角色配置 入口权限可解释
对象归属 订单是否属于当前用户/租户 查询条件、tenant\_id、owner\_id 存在强约束
业务约束 金额、状态、审批是否满足规则 规则代码、审批流、单测 高风险动作受控
副作用 是否真的调用支付或账务系统 service 调用、消息队列、审计日志 副作用可追踪
修复验证 修复后是否防回归 单测、集成测试、SAST rule 可证明问题关闭

这个用例的价值在于:AI 不是替你“打接口”,而是帮你把审计问题结构化。安全团队最终交付的不是一句“这里可能越权”,而是一条证据链:入口、可控输入、缺失校验、敏感操作、修复建议、回归测试。

核心要点:AI 做代码审计,最重要的是把“猜测”升级成“证据链”。

实战用例二:依赖漏洞影响判断

企业经常遇到这样的告警:某个依赖版本存在 CVE,扫描器报高危,但业务团队不知道自己是否真的受影响。AI 在这里可以做“影响面分析助手”。

它可以先读取 SBOM、依赖树和锁文件,确认漏洞组件是否存在;再结合调用图和 import 关系判断业务是否调用了受影响 API;然后读取框架配置,判断是否启用了相关功能;最后输出一个影响判断:已调用且配置满足触发条件、已安装但未调用、仅测试依赖、版本不受影响、需要人工确认。

判断结果 AI 应该怎么写 证据要求 后续动作
确认受影响 说明依赖版本、调用路径、启用配置 SBOM、调用图、配置文件 升级、补丁、灰度回归
暂未发现调用 说明搜索范围和未覆盖区域 import、静态查询、构建配置 低优先级复核
仅开发/测试依赖 说明生产构建是否排除 build 文件、镜像内容 验证打包结果
条件不满足 说明漏洞触发条件与当前配置差异 配置、运行参数 记录豁免原因
无法判断 明确缺失证据 动态日志、运行时路径 人工补证据

这里 AI 的价值不是替代漏洞库,而是把“漏洞情报”翻译成“本系统是否受影响”。它能自动读 release note、CVE 描述、依赖树和项目代码,生成一份安全团队和业务团队都能看懂的影响分析。

实战用例三:Fuzzing crash 怎么归因

Fuzzing 的难点不只是生成输入,而是把“崩溃”变成“可修的漏洞”。AI 可以参与三个环节:生成 fuzz harness、解释 crash log、辅助最小化复现和修复测试。

例如一个解析库暴露了 parse\\_message() 函数。AI 可以根据公开 API 文档生成一个 harness 草案,编译失败后根据错误日志调整类型和初始化逻辑。fuzzer 跑出 crash 后,AI 读取栈信息、输入结构和最近代码变更,给出归因假设:空指针、越界、状态机未处理、长度字段不一致、递归深度失控等。

图 4:AI + Fuzzing 的闭环

环节 AI 的作用 工具证据 交付物
Harness 生成 理解 API 使用方式,补初始化逻辑 编译结果、覆盖率 可运行 harness
Coverage 提升 分析未覆盖分支,建议输入结构 coverage report 新 seed 或 corpus 建议
Crash triage 解释栈、关联代码路径 crash log、stack trace 初步根因假设
最小化复现 生成最小测试用例思路 reducer 输出、单测结果 回归测试
修复建议 给出边界检查或状态修复方案 单测、fuzzer 重跑 patch 草案

需要注意,AI 生成的 harness 不一定正确,crash 归因也可能误判。可靠流程必须让编译器、fuzzer、sanitizer、单测和人工 review 来约束模型输出。

核心要点:AI 让 fuzzing 更像“研究助理”,但 crash 是否构成漏洞,仍要靠可重复证据和人工判断。

Agentic 漏洞研究:从一次性问答到假设循环

Project Naptime 和 Big Sleep 的启发在于:AI 漏洞发现不应该是“问模型有没有漏洞”,而应该是让模型在受控环境里形成假设、调用工具、观察证据、修正假设。

一个典型循环是:模型先读代码和文档,提出“这里可能存在边界检查缺失”;然后调用代码搜索、静态分析或测试工具;如果证据不足,它继续缩小范围,寻找更具体的触发条件;最后输出报告,说明证据、影响、限制和修复建议。

图 5:Agentic 漏洞研究的假设循环

阶段 目标 AI 输出 必须保留的审计痕迹
观察 理解代码和安全边界 模块摘要、入口点、资产清单 读取了哪些文件和工具输出
假设 形成可验证风险 漏洞假设、CWE 映射、优先级 假设来源和不确定性
验证 在授权环境收集证据 测试计划、验证断言 命令、日志、测试结果
收敛 排除误报和缩小范围 影响判断、触发条件摘要 反证和排除理由
报告 支持修复和复盘 漏洞报告、修复建议、回归测试 版本、证据、责任人

这一套流程对企业非常重要。因为安全团队不只需要“发现一个问题”,还要知道 AI 是怎么得出结论的。没有审计痕迹,AI 找到的问题很难进入正式漏洞管理流程。

攻防验证的边界:证明风险,不制造攻击手册

安全验证需要足够具体,否则业务团队不会修。但具体不等于把攻击链写成教程。一个合格的 AI 漏洞猎手文档,应该区分“证明风险需要的证据”和“可滥用的利用细节”。

图 6:攻防验证的安全边界

内容类型 可以写 不写
授权范围 系统、版本、环境、账号、时间窗口 未授权目标、第三方公网资产
复现方式 最小化测试条件、证据截图、日志片段 可直接复制的 exploit payload
影响证明 数据是否越权、权限是否绕过、服务是否崩溃 提权、持久化、横向移动步骤
修复建议 权限检查、输入校验、边界检查、补测试 绕过修复或对抗检测技巧
报告交付 证据链、风险等级、回归测试 自动化批量利用脚本

这不是为了把文章写浅,而是为了让它能被企业安全团队、研发团队和管理层同时使用。内部文档也会流转,安全边界必须写进方法论里。

AI 漏洞猎手的局限

AI 很适合加速安全研究,但它有几个硬限制。

第一,模型会幻觉。它可能把不存在的函数、配置或调用路径写得很像真的。第二,模型容易忽略框架隐式行为,例如统一鉴权中间件、ORM 默认过滤、编译条件和环境变量。第三,模型会被上下文截断影响,看到局部代码就下全局结论。第四,模型不能独立判断业务语义,比如“客服能不能退款”“租户管理员能不能查看子账号数据”。

风险 表现 防护方式
幻觉 生成不存在的路径或函数 强制引用文件、行号、工具输出
误报 把不可达路径当漏洞 调用图、测试、人工复核
漏报 忽略业务逻辑或隐式配置 业务规则输入、威胁建模
越界 把验证写成攻击步骤 授权范围、沙箱、报告模板
修复不完整 patch 只修表面问题 回归测试、variant analysis

AI 的正确定位不是“替代审计员”,而是“让审计员带着更好的上下文、更完整的证据、更快的工具循环工作”。

企业落地:把 AI 放进漏洞管理流水线

企业要落地 AI 漏洞猎手,不能只买一个聊天窗口。更合理的架构是:代码仓库、SAST、依赖扫描、fuzzing、CI、漏洞工单、修复和回归都接入统一流程,让 AI 在每一步做它擅长的事。

图 7:企业 AI 漏洞猎手落地架构

环节 输入 AI 产出 验收标准
代码索引 仓库、分支、依赖、配置 模块摘要、入口点、资产图 可追溯到文件和版本
风险发现 SAST、依赖扫描、人工线索 漏洞假设、优先级 有证据和不确定性
验证 测试、fuzzing、sandbox 最小化复现、影响判断 不越权、可重复
修复 代码、约束、风格、测试 patch 建议、单测 通过 CI 和安全回归
管理 工单、SLA、CWE、CVSS 报告、复盘、趋势 可度量、可审计

上线前,建议至少检查 12 项。

编号 检查项 合格标准
1 授权边界 明确仓库、系统、环境和测试账号
2 证据引用 结论能追溯到文件、行号、工具输出或测试结果
3 工具约束 AI 不裸判漏洞,必须结合 SAST、测试或人工证据
4 数据保护 不把密钥、客户数据、漏洞细节泄露给不受控模型
5 误报管理 每条发现都有状态:确认、误报、待补证据、已修复
6 修复闭环 每个确认漏洞都有修复建议和回归测试
7 影响评估 能映射 CWE、资产、权限、业务影响和优先级
8 日志审计 AI 读取了什么、执行了什么、输出了什么可追踪
9 安全边界 不输出真实攻击 payload 和批量利用脚本
10 人工复核 高危结论必须由安全人员确认
11 指标度量 统计确认率、误报率、修复时间、覆盖率提升
12 知识沉淀 把 confirmed findings 转成规则、测试和安全基线

核心要点:AI 漏洞猎手不是一次性工具,而是一条可审计、可度量、可回归的安全工程流水线。

五个常见问题,直接给答案

1. AI 现在能不能独立发现真实漏洞?

能在某些受控条件下发现真实漏洞,公开资料中 Big Sleep 就是重要案例。但企业不能把它理解成完全自动化。真实环境仍然需要工具证据、人类复核、授权边界和修复闭环。

2. AI 代码审计和传统 SAST 谁更可靠?

它们解决的问题不同。SAST 更适合可形式化规则和数据流追踪;AI 更适合理解业务语义、解释结果、生成假设和写报告。最可靠的是组合使用。

3. AI 能不能写 PoC?

在授权靶场和内部实验环境里,可以让 AI 辅助生成最小化验证思路和回归测试。但正式文章和知识库不应沉淀可直接滥用的 exploit payload、绕过步骤或攻击链。

4. AI 找洞最大的风险是什么?

不是“找不到洞”,而是把不确定结论写得过于确定,或者把安全验证越界成攻击操作。企业落地必须强制证据链、人工复核和授权边界。

5. 第一个落地点应该选哪里?

建议先选代码审计 triage、SAST 告警解释、依赖漏洞影响判断和 fuzzing harness 生成。这些场景收益明确,风险可控,也容易用确认率、误报率和修复时间衡量。

最后的判断

AI 漏洞猎手真正改变的是安全研究的工作方式。过去,研究员要在代码、规则、日志、测试和报告之间来回切换;现在,AI 可以把这些碎片串成一个更快的假设验证循环。

但这条路的前提不是让模型拥有更大的攻击权限,而是给它更好的工具、更清楚的边界、更可靠的证据和更严格的人类复核。

值得收藏的一句话:AI 漏洞猎手的价值,不在于替你攻击系统,而在于更快地把“可能有洞”变成“有证据、可修复、可回归”的安全结论。

参考资料

·[1] Google Project Zero, Project Naptime: Evaluating Offensive Security Capabilities of Large Language Models
https://projectzero.google/2024/06/project-naptime.html

·[2] Google Project Zero, From Naptime to Big Sleep
https://projectzero.google/2024/10/from-naptime-to-big-sleep.html

·[3] DARPA, AI Cyber Challenge
https://www.darpa.mil/research/programs/ai-cyber

·[4] Google Security Blog, AI-Powered Fuzzing: Breaking the Bug Hunting Barrier
https://security.googleblog.com/2023/08/ai-powered-fuzzing-breaking-bug-hunting.html

·[5] OSS-Fuzz, LLM target generation
https://google.github.io/oss-fuzz/research/llms/target\_generation/

·[6] GitHub CodeQL Documentation
https://codeql.github.com/docs/

·[7] GitHub CodeQL, Data flow and taint tracking
https://codeql.github.com/docs/writing-codeql-queries/about-data-flow-analysis/

·[8] Semgrep Docs, Semgrep Code
https://semgrep.dev/docs/semgrep-code/overview

·[9] MITRE CWE
https://cwe.mitre.org/

·[10] NIST SP 800-218, Secure Software Development Framework
https://csrc.nist.gov/pubs/sp/800/218/final

·[11] OpenAI, Disrupting malicious uses of AI by state-affiliated threat actors
https://openai.com/index/disrupting-malicious-uses-of-ai-by-state-affiliated-threat-actors/


人工智能技术出口管理的分级逻辑:禁止与限制" 网络安全文章

人工智能技术出口管理的分级逻辑:禁止与限制"

本文分析AI技术出口管理分级逻辑,聚焦大模型、智能体和AI网络安全技术三组条目的禁止与限制划分依据。分级由技术关联的数据、用途和能力条件共同确定,大模型看训练数据属性及规模领先水平,智能体在共同性能基础上区分敏感用途,AI网络安全技术结合攻防能力与安全任务。不同等级对应不同对外提供方式,包括模型服务、技术交付和开源安排。
AI合规100问" 网络安全文章

AI合规100问"

本文档为AI合规100问,系统梳理了AI合规定义、中国及域外法律框架、生成式AI备案要求、训练数据合规、内容安全标识、知识产权与伦理审查等核心要点,并给出备案量化指标与操作建议。文档末尾含推广内容,主体为一般性合规知识整理,不构成正式法律意见。
评论:0   参与:  0