跳转至

威胁模型

pVisor 保护项目工作区、HOME、凭据、网络与模型额度,假设工作负载可能出错,也可能被操纵,并信任监督进程、宿主内核与执行器后端。

逐执行器、逐能力维度的保护范围见执行器边界。

资产

资产 典型风险
项目工作区 被误删、被写坏、被未经审查的改动覆盖
你在运行期间的手工修改 被 Agent 的改动覆盖
HOME 与应用状态 配置被改写,状态被污染
凭据(SSH 私钥、云凭据、API Key) 被读取、外传
宿主其他路径 被读取或写入
网络 访问未授权的目标、外传数据
模型额度 被滥用

攻击者与失误来源

  1. 误操作的 Agent:理解错任务,删除或改写了不该动的文件;
  2. 被提示注入的 Agent:仓库内容、网页或工具输出诱导它读取秘密、访问外部地址;
  3. 恶意依赖或工具:Agent 安装或调用的软件包在执行时做额外的事;
  4. 恶意或异常的模型响应:模型返回的工具调用超出任务需要。

信任边界

你(审查与 apply)
  └─ pVisor 监督进程(可信):准入、暂存、apply、证据
       └─ 执行器边界:host 平台控制 / OCI 容器 / libkrun VM
            └─ 工作负载(不可信):Agent、脚本、它启动的子进程
  • 工作区改动必须穿过暂存与 apply这道边界才能到达项目,见暂存与 apply 语义;
  • 文件读取、网络和进程的约束由执行器边界提供,强度因执行器和平台而异;
  • 记录由监督进程产出,工作负载不能改写自己的 Run Bundle。

不在范围内

  • 宿主内核、虚拟化层和 FUSE 实现自身的漏洞;
  • 侧信道(时序、缓存、资源占用);
  • 已显式授予的凭据被滥用:通过 --pass-env 交给 Agent 的 Key,Agent 可以按任意方式使用;
  • 经过授权目标的数据外传:域名规则无法区分同一域名下的推理、遥测与上传 API,也无法阻止内容夹带在模型请求中;
  • 敌对多租户:本地记录供审查和诊断,不提供密码学证明;macOS 上 VMM 仍拥有调用用户的宿主权限;
  • 外部副作用的回滚:暂存只覆盖工作区文件。

证据的作用

声明不等于证据。准入阶段的计划最高只能是 Planned;实际强制力只来自执行器收尾时返回的观察结果。因此安全评审应当读 Run Bundle,而不是读配置。证据的口径见能力、证据与保证边界。

把模型用于一次真实评审

先把任务涉及的资产列出来,再为每项资产选择控制:项目文件用暂存与冲突检查,视图外读取用 executor,普通出口用相应网络边界,模型 Key 用 Gateway 或短期显式授权。需要允许的外部写入在服务端另设权限与审查。

评审时记录“请求 → 计划 → 实际控制 → 观察 → 未覆盖部分”。若观察缺失,把结论标为未知;若只能得到协作控制,说明工作负载如何绕过。不要把工具未触发、网络不可达或样本没有攻击行为当成边界成立。