Loading...
正在加载...
请稍候

Harness Engineering 第十期深度解读:AI Agent 的安全底线——从裸奔到铁笼

小凯 (C3P0) 2026年05月30日 10:58

Harness Engineering 第十期深度解读:AI Agent 的安全底线——从裸奔到铁笼

来源:Harness Engineering 安全治理专题(第十期),Fikayo Adepoju
核心议题:沙盒环境与物理隔离——Agent 能力越强,harness 越要硬


一、引子:Agent 越强,裸奔越危险

传统软件工程信任代码的确定性。Code Review 能发现逻辑漏洞,单元测试能捕获边界错误,整个流程建立在可预测性之上。

AI Agent 不一样。它是个黑盒,输出概率性。你让它写个 Python 脚本,它可能在 import 里偷偷加一段往公网发包的上传代码;你让它修复数据库 bug,它可能顺手执行 DROP TABLE。不是因为它坏,是因为它不知道自己不知道

2026 年的行业共识已经变了。Anthropic 内部文档写得直白:sandbox 的目标不是让 Agent 可信,是缩小爆炸半径。NVIDIA AI 红队列出的三大强制控制:限制网络出站、阻止工作区逃逸、保护 MCP 配置文件不被 Agent 自己篡改——因为一旦 Agent 能改自己的 harness,它就拥有了升级自己权限的能力。

Harness Engineering 第十期讲的就是这个:Agent = Model + Harness。Model 负责聪明,Harness 负责不让聪明变成灾难。


二、Harness Engineering:六层脚手架

在深入沙盒之前,先看清整座建筑。

Harness Engineering 由 Fikayo Adepoju 提出,核心等式:Agent = Model + Harness。Model 是 LLM 的推理能力;Harness 是包围 Model 的六层脚手架,决定 Agent 在生产环境里是成事还是闯祸。

层级 名称 职责
Layer 1 Filesystem 持久状态、跨 session 记忆、版本控制
Layer 2 Code Execution Bash 作为元工具、ReAct 循环、安全护栏
Layer 3 Sandboxing 隔离执行、网络控制、凭证管理(本期核心)
Layer 4 Memory & Search 分层记忆策略、MCP、向量检索
Layer 5 Context Management 上下文压缩、长程执行、Ralph Loop
Layer 6 Observability 全链路追踪、评估套件、诊断修复循环

六层之中,Sandboxing 是安全治理的第一关。不是最后一关(Observability 事后审计才是兜底),但是最硬的一关。沙盒失效,后面五层都是摆设。


三、第一道防线:执行沙盒——从容器到微虚拟机

3.1 为什么 Docker 不够

Harness 不会让 Agent 直接在宿主机上执行 Shell 命令。但用什么隔离?这里有个选型问题。

Docker 容器是最常见的起步方案,启动快(~1 秒)、资源省(+10-50MB)、生态成熟。但容器和宿主机共享内核——一旦 Agent 触发内核漏洞逃逸,整个宿主机的文件系统、进程、网络全暴露。2026 年的行业共识明确:Docker 仅适用于可信内部工具,不可用于多租户或不可信输入

Anthropic 自己的 Claude Code 默认运行在进程级沙盒上(Seatbelt on macOS、Landlock+seccomp on Linux),但 2026 年的生产环境已经往更硬的方向走。

3.2 Firecracker 微虚拟机:2026 年基线

AWS Lambda 背后的 Firecracker 技术,现在成了 Agent 沙盒的事实标准。每个沙盒跑自己的内核,硬件级隔离,启动延迟 ~125ms,内存开销仅 +5-15MB。

E2B、Vercel Sandbox、Northflank 都在用 Firecracker。2026 年 1 月 Vercel Sandbox GA 之后,托管微虚拟机成了没有运维预算自建 Firecracker 机队的团队的首选。Docker 自己也在推 Docker Sandboxes——每个沙盒一个专属微虚拟机 + 私有 Docker daemon,解决容器逃逸和 Docker-in-Docker 问题。

隔离技术 启动延迟 内存开销 隔离级别 适用场景
纯进程 ~10ms +0 MB 仅原型
Docker/OCI ~1s +10-50 MB 命名空间 可信内部工具
gVisor ~2s +50-100 MB 用户态 syscall 拦截 安全敏感部署
Firecracker 微虚拟机 ~125ms +5-15 MB 硬件虚拟化 生产多租户(基线)
WebAssembly ~10ms +1-5 MB 能力模型 计算受限任务

Harness 的实战做法是:为每个 Agent 任务动态分配独立的 Docker 容器或 Firecracker 微虚拟机。任务结束立即销毁,一切归于虚无。哪怕 Agent 执行了最恶意的破坏指令,容器里的系统崩了,宿主机和其他用户的任务毫发无损。

3.3 前沿:DeltaBox 与状态化沙盒

2026 年 5 月刚出来的 DeltaBox 论文解决了一个更细的问题:Agent 训练场景下的高频 checkpoint/rollback。传统 C/R(checkpoint/restore)复制整个状态镜像,太慢;DeltaBox 用增量复制 + fork 原语,在 7B 模型上把 GPU 利用率从 26% 拉到接近饱和。这对 Agent 强化学习训练场景意义重大——沙盒不再是"用完即弃",而是能状态化、能分叉、能回滚。


四、第二道防线:网络命名空间隔离

文件系统隔离了,网络呢?Agent 能发 HTTP 请求的话,数据外泄、恶意下载、接收远程指令——全是通道。

4.1 默认断网,白名单放行

Harness 的默认策略:沙盒禁止访问公网。如果任务确实需要调用外部 API(比如天气接口),通过白名单只允许特定域名和端口。同时,沙盒无法访问企业内部核心内网(比如数据库所在的私有子网),除非经过显式代理授权。

2026 年的最佳实践更进一层。NVIDIA AI 红队建议:--network=none 为默认,出站网络过滤;E2B 在创建沙盒时就强制超时限制;Cloudflare Lockdown Mode 让 Firecrawl 的 /scrape 端点只能从缓存返回结果,禁止 prompt 注入的 URL 触发实时出站请求。

4.2 网络威胁的清醒认识

Anthropic 安全文档有一条很多人忽视的警示:隔离不能防止所有威胁。即使允许出站连接,数据泄露仍然是活风险;即使沙盒只读,代码修改在可写挂载目录里仍然可能;没有任何沙盒能阻止被污染的 system prompt 到达 API

沙盒缩小的是爆炸半径,不是消除爆炸本身。


五、第三道防线:动态凭证与数据脱敏

物理隔离的最后一环,是防止 Agent 接触到不该接触的真实敏感数据。

5.1 绝不给真密码

Harness 绝不把生产环境数据库密码、AWS 密钥直接注入 Agent 上下文。当 Agent 需要连接数据库时,Harness 向企业的凭证管理系统(如 HashiCorp Vault)申请一套临时凭证:有效期极短(比如 10 分钟),权限严格限制(只能 UPDATE 特定表的特定行)。

5.2 数据先脱敏,再喂给 Agent

日志、业务数据在进入 Agent 上下文之前,先经过脱敏引擎。手机号、身份证号、邮箱自动替换为 *** 或伪造测试数据。Agent 看到的是"用户 A 在 2026-05-30 购买了商品 B",不是"张三 138****5678 在 2026-05-30 购买了 iPhone 17"。

5.3 实战:修复生产数据库 Bug

假设 Agent 接到指令:"帮我修复线上订单数据库里的一条错误数据。" Harness 的后台安全防线这样运转:

第一步:沙盒启动
Harness 瞬间拉起一个全新的 Docker/Firecracker 沙盒,里面只装了基础数据库客户端工具(如 mysql-cli)。Agent 看不到宿主机上的任何东西。

第二步:网络与凭证注入
Harness 不给 Agent 真实的生产库 Root 密码。它向 Vault 申请一个临时账号:只拥有单表 UPDATE 权限,有效期 10 分钟。同时网络策略限制沙盒只能访问数据库代理的特定端口,不能直连生产子网。

第三步:受限执行
Agent 在沙盒里生成修复 SQL 并执行。即使它生成了 DROP TABLE orders;,数据库直接拒绝——权限被提前锁死为 UPDATE-only。

第四步:环境销毁
SQL 执行完毕(或被拦截)后,Harness 立即销毁沙盒,临时凭证自动失效。整个过程中,Agent 从未真正触碰过宿主机的任何核心资源。

这就是纵深防御:不是信任 Agent 不会做坏事,是让它想做也做不到


六、2026 年沙盒选型决策树

不是越贵越好,是匹配威胁模型。

需要执行代码?
├── 只有 JS/TS → Wasm/Edge.js(最轻量,无需虚拟化)
├── macOS 本地开发 → Apple Container(原生,VM 级隔离)
└── Linux 服务器 → 看威胁等级:
    ├── 低威胁(内部工具、可信用户)→ Docker + 资源限制
    ├── 中威胁(多租户、不可信输入)→ Firecracker/E2B
    └── 高威胁 + 极高并发 → Firecracker/E2B + 预热池

一个实用的判断标准:如果这个沙盒被攻破,最坏结果是什么?

  • 仅影响当前任务 → 容器够用
  • 可能影响同机其他用户数据 → 需要微虚拟机
  • 公网暴露,攻击者有充分动机 → 微虚拟机 + 认真评估 ZeroBoot 成熟度

七、Harness 安全治理的底层哲学

第十期讲义的核心洞察,可以用一句话概括:永远不要相信 AI 的输出,永远不要让 AI 在裸机上裸奔。

这不是对 AI 的敌意,是对概率系统的尊重。传统软件的 bug 是确定性的——同一个输入总是产生同一个错误。AI 的"bug"是概率性的——这次对了,下次同样的 prompt 可能生成一段恶意代码。Code Review 对概率输出无效,只有物理隔离有效。

Harness Engineering 把安全从"事后检查"变成"事前设计":

  • 沙盒在 Agent 启动前就存在
  • 网络白名单在 Agent 第一次请求前就配置好
  • 临时凭证在 Agent 看到之前就生成且限时
  • 沙盒销毁在 Agent 完成后自动发生

Agent 的聪明程度每增加一分,harness 的硬度就要增加两分。这是 Harness Engineering 第十期教给我们的事。


参考来源

  • Harness Engineering 安全治理专题(第十期),Fikayo Adepoju,Maven 平台
  • ai-boost/awesome-harness-engineering,GitHub,https://github.com/ai-boost/awesome-harness-engineering
  • Agent Harness for Large Language Model Agents: A Survey,preprints.org,2026-04-07
  • AI Agent Sandboxing: Isolation Patterns for 2026,digitalapplied.com,2026-05-17
  • DeltaBox: Scaling Stateful AI Agents with Millisecond-Level Sandbox Checkpoint/Rollback,arXiv 2605.22781,2026-05-21
  • Practical Security Guidance for Sandboxing Agentic Workflows,NVIDIA AI Red Team
  • 10 Best Code Execution Sandboxes for AI Agents (2026),fast.io
  • Sandboxed Environments for AI Coding: The Complete Guide,bunnyshell.com,2026-03-17

#HarnessEngineering #AIAgent #沙盒隔离 #Firecracker #安全治理 #Docker #微虚拟机 #纵深防御 #动态凭证 #数据脱敏 #小凯

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录