夜雨聆风学习资料网

ARTICLE · 1325382

【AI安全】工具审批为何拦不住插件代码?从 CERT-EU 实验检查代理的执行边界

【AI安全】工具审批为何拦不住插件代码?从 CERT-EU 实验检查代理的执行边界

一、审批弹窗出现之前,插件已经在运行

🔎 设想一个用于理解边界的简化场景:团队让编码代理审查仓库,规定读取敏感文件必须申请批准。工程师看着工具调用记录,确认没有获批的敏感访问,于是认为本轮任务没有碰到凭据。这个判断还缺一环:谁保证所有文件访问都经过模型的工具接口?

模型负责生成回答或提出工具调用;Harness 是包在模型外面的运行程序,负责执行调用、装载扩展和处理事件。如果扩展可以运行代码,代理程序就同时有了另一条执行路径。工具审批检查“模型请求了什么”,插件却可能在接收到事件时直接调用系统能力。

CERT-EU 在 2026 年 10 月 30 日发布的研究,选择了后一条路径。研究者在隔离实验室改造两款现有插件的本地副本,用测试凭据观察信息收集与发送。测试对象为 Pi 1.3.0 和 Claude Code 2.1.304;用户输入中的普通代码评审短语触发了预埋逻辑。

实验的观察重点是:两个代理继续正常对话,看不到用于读取凭据或发送信息的恶意模型工具调用,但接收端分别收到了请求。模型无需先决定窃取数据,插件代码已经能够自行完成操作。

这能怎样发生?可以把审批理解为安装在某条通道上的门。正常路径是“模型提出请求→审批判断→工具执行”;事件路径则是“用户输入到达→插件处理事件→代码访问资源”。若后者没有接入同一权限检查,给前者增加更多确认框,也不会自动覆盖后者。

要检查的边界
它通常回答的问题
还需另外核实的对象
模型工具审批
这次模型调用是否被允许?
插件是否能直接运行代码
文件访问限制
哪个执行主体被限制?
限制是否覆盖插件进程与子进程
对话与工具日志
模型说了什么、调用了什么?
实际文件访问、进程启动和网络连接
⚠️
 这是运行边界的实验,不是公开插件已被投毒的通报。研究者没有修改或分发公开版本;“插件热门”也不能用来推导某个用户已经受害。

对部署者而言,最有用的答案因此很具体:工具审批仍然有价值,但不能单独证明插件受到隔离。先找出代码实际运行在哪里、继承谁的权限,才能知道那道门守住了哪些动作。

二、沿着执行主体,做一次三处核对

🧭 以下是基于该边界提出的工程检查方法,不是 CERT-EU 的实测步骤,也不需要执行攻击载荷。目标是为你自己的部署写出一句能被证据支持的话:“这个插件运行时,最多能接触哪些资源?”

第一处:从安装清单追到启动入口。选一个已获准安装的插件,记录它的来源、固定版本和启用配置,再查看它注册了哪些事件或启动脚本。把说明文档与可执行入口分开:一份指导模型的文字,和一段由宿主自动运行的程序,拥有不同的执行含义。

接着查看当前部署的启动命令、服务配置或容器配置,确认插件是与主程序同进程运行,还是交给独立进程。若存在子进程,再核对它的账户、工作目录与继承环境。检查结果应写具体身份与路径;“已开启安全模式”不足以说明进程能读到什么。

第二处:把“禁止读取”定位到真正的资源边界。例如团队声称代理不能读取宿主的 SSH 目录,就核对该目录是否被挂载、运行账户是否仍有读取权限、环境变量或代理套接字是否另行暴露了凭据能力。这里只读取配置与权限信息,不打开真实密钥内容。

可以使用下面这份最小记录格式。它是检查表,不是可直接套用的产品配置:

  1. 执行身份:
    主进程、插件与子进程分别由哪个账户运行?
  2. 可见资源:
    工作目录之外,额外挂载了哪些目录、套接字和环境变量?
  1. 强制位置:
    限制由工具包装器执行,还是由账户权限、挂载及运行环境执行?
  2. 待处理项:
    若敏感资源仍对插件可见,谁负责移除暴露或拆开执行身份?

第三处:核对网络出口与观察范围。从现有防火墙、代理、容器网络策略及日志中确认:限制是否覆盖整个代理运行环境,插件启动的子进程是否也在其中。不要用“工具列表里没有 HTTP 工具”代替网络检查,程序代码可能采用别的发送方式。

再拿同一时间段的代理工具日志与系统侧连接日志比较。两者的意义不同:前者描述模型请求,后者描述运行环境行为。若只保留前者,就把插件执行视为尚未覆盖的观察范围;不要把日志空白写成“已证明没有外传”。

📌
 配置核对只能确认已看见的边界。若需要验证隔离效果,应在获授权的测试环境使用无敏感性的标记资源,按组织现有验收流程检查;本文没有执行这类验证。

这一轮检查结束后,团队至少能区分两种状态:“模型读文件会被拒绝”,以及“插件所属执行主体也无法接触该文件”。只有把控制落到后一个主体,插件绕开工具接口时,约束才仍有机会生效。

三、两次接收记录,证明了什么

🎯 核心问题:工具审批守住模型调用后,如何判断插件代码仍能接触什么?

前两章已经给出执行身份、资源可见性与网络出口的检查方法。完整稿继续拆解:两次接收记录究竟证明了什么,又没有覆盖哪些入口?为什么正常对话和正常插件功能都不能替代运行证据?版本准入、隔离和监测如何形成可验收的闭环?

欢迎加入 Oxo AI Security 知识星球,阅读完整分析与部署检查思路。

📚AI 文献解读:最前沿的 LLM 安全论文深度剖析。

🐛AI 漏洞情报:第一时间掌握主流大模型的 0-day 漏洞与越狱方式。

🛡AI 安全体系:从红队攻击到蓝队防御的全方位知识图谱。

🛠AI 攻防工具:红队专属的自动化测试与扫描工具箱。

🚀立即加入 Oxo AI Security 知识星球,掌握 AI 安全攻防核心能力!

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料