AI智能审计:捕获代码逻辑漏洞的盲点

AI智能审计:捕获代码逻辑漏洞的盲点

Anthropic Claude Mythos预览的发布,彻底改变了网络安全格局。如今,AI已能以机器速度自主发现并利用成熟代码库中的零日漏洞。其中最令人振奋的是,前沿模型已具备推理复杂业务逻辑漏洞的能力——这类漏洞此前仅人类安全研究员能触及。

今年早些时候,我开始开发一款名为Redhound的内部AI审计代理,专门针对这些“盲点”进行主动排查。基于前沿模型,Redhound正将这种推理能力应用于Canonical自身的代码库。

Redhound已证明其价值:近期在LXD(我们的容器与虚拟机管理器)中发现了三个关键逻辑漏洞。这些漏洞历经多年手动审查和静态分析仍未被发现,Redhound在不足一天的无监督分析中将其捕获。

下文将解析这一对抗性管道的机制、三个零日漏洞(已修复并披露)的技术细节,以及智能审计如何重塑基础设施安全方式。

传统工具难以发现的漏洞类型

静态分析擅长处理模式匹配问题:注入漏洞、不安全的API调用、危险的字符串拼接等。现代扫描工具正是为此设计,且能可靠完成工作。

但这些工具无法推理“缺失”的内容:例如,清单仅列出三个字段,而数据结构实际包含四个;或验证逻辑读取一个文件,却对操作所依赖的另一个文件视而不见。这类并非代码疏忽,而是可利用的逻辑缺口——代码本身正确,却与安全模型意图不符。由于源码中不存在“补全缺口”的代码行,依赖模式匹配的工具无法识别。

动态分析与模糊测试因类似原因失效:它们需要运行时信号(崩溃、恐慌、 sanitizer 触发)。一个本应被拒绝却成功的请求,与合法请求在模糊测试中无法区分,没有触发点。

手动审查与渗透测试能发现这些漏洞,但耗时且需深厚领域知识。手动排查意味着在数十万行正确代码中寻找异常,成熟代码库历经多年审查仍可能遗漏逻辑漏洞。

这些正是Redhound的靶点:代码按设计运行,却未匹配安全模型意图。

Redhound的工作机制

Redhound以人类攻击者的方式审计代码:从项目全局视角出发,生成对抗性假设,派遣代理逐一调查,并通过另一组代理进行驳斥。

管道分为五个概念阶段:

  1. 确定性侦察:在代理读取任何代码前,静态分析工具先映射代码库结构,包括所有函数、类型、调用关系,以及HTTP、gRPC、CLI入口点,并分类安全信号(认证、加密、反序列化、注入)。
  2. 威胁建模:代理读取侦察图,识别攻击者目标(如主机root权限、跨租户访问、集群管理员证书),并映射外部攻击者与各目标的信任边界。
  3. 迭代循环:每轮中,红队代理生成一批攻击假设,每个假设由独立调查代理处理。调查代理或找到具体漏洞路径,或报告假设不成立。
  4. 驳斥:这是最关键的设计。每个看似成立的发现会被交给“驳斥者”代理,其目标与调查代理相反——独立审查源码,寻找运行时防护机制(不受调查代理信心影响)。
  5. 影响评估:代码缺陷未必等同于安全漏洞。最终代理会将通过驳斥的发现与原始威胁模型、应用信任边界交叉验证。通过评估攻击者前提条件与实际权限提升,确保仅将可验证、高影响的漏洞上报,而非纯理论问题。

只有通过驳斥的发现才会进入人工审查环节。Redhound随后生成草案报告与可运行PoC,简化验证流程。

三类典型漏洞解析

这三个发现具有代表性,涵盖不同逻辑漏洞类型。所有漏洞在协同披露时均被评定为CVSS 3.1评分9.1

漏洞 CWE / 类型 攻击者收益 难以发现原因
证书类型升级(CVE-2026-34179) CWE-915(批量赋值) 受限证书用户获取主机root权限 缺失授权检查——无模式匹配“不存在的内容”
VM低级选项绕过(CVE-2026-34177) CWE-184(不完整拒绝列表) 受限项目用户获取主机root权限 未列出的键与允许键无法区分
备份恢复不同步(CVE-2026-34178) CWE-20(不当输入验证) 受限项目用户获取主机root权限 单一输入的数据流在四个文件中分化

每个发现的细节如下,展示Redhound生成的结构化元数据、标题及调查代理的完整追踪。

证书类型升级(CVE-2026-34179)

此漏洞位于证书更新逻辑中,系统未验证证书“类型”。受限证书用户可通过绕过类型检查,在更新时将自己提升为集群管理员。

发现详情:

  • 标题:“受限用户可通过旧版API将证书类型改为‘server’,提升为ProtocolCluster管理员”
  • 发现ID:thread-041
  • 严重性:关键(可利用)
  • 权限提升:10/10
  • 利用难度:9/10
  • 前提条件普遍性:8/10
  • 攻击者画像:ap-002(已认证受限用户)
  • 来源代理:thread-follower;通过驳斥
  • CVSS 3.1:9.1(披露时评定)

在LXD 6.7上的利用追踪(八步,由调查代理生成):

  1. certificates.go:49 – 受限TLS用户发送PUT /1.0/certificates/<own-fingerprint>,将type设为’server’,保持name / restricted / projects不变。通过allowAuthenticated验证。
  2. certificates.go:960

    关注微信号:智享开源 ,可及时获取信息

投稿作者 作者网站

评论列表

发表评论

你必须 登录 才能发表评论.

为您推荐


请支持IMCN发展!

谁在捐赠

微信捐赠 支付宝捐赠
微信捐赠 支付宝捐赠
ta的个人站点

发表文章4250篇

关注我的头条 不要放弃,百折不挠,坚强、自信。


IMCN【我是菜鸟】博客全面恢复更新,IMCN【我是菜鸟】博客已于 2026年3月13日 全面恢复内容更新!

扫码关注,或微信端搜“智享开源”

博客最新科技信息


归档

💬 和我聊聊