Harness 架构 高级

权限与沙箱:Harness 的安全边界

能执行真实动作的智能体必须被关进笼子:权限分级、沙箱隔离、人机确认与提示注入防御。

为什么安全是 Harness 的第一等公民

模型会犯错、会被诱导(提示注入),而 Harness 手握真实权限 —— 删文件、跑命令、发消息。安全设计的全部思路:默认不信任模型的每个决定。

四道防线

  1. 权限分级:工具按危险度分级 —— 只读(读文件/搜索)自动放行;写操作(改文件/发消息)需确认;高危(删库/转账/跑任意命令)默认禁止或强确认。OpenClaw 的 allowFrom 白名单属于入口层同级设计;
  2. 沙箱隔离:终端命令跑在容器/VM/受限用户里,文件访问限定在项目目录,网络出站走白名单代理 —— 把"最坏情况"圈死;
  3. 人机确认(Human-in-the-loop):危险动作暂停等用户点头,展示将要执行的完整命令而非模糊描述;批量任务先干跑(dry-run)预览;
  4. 提示注入防御:网页内容、他人消息、工具返回值都是不可信输入 —— 永远不把外部文本当指令执行;外部内容标记来源;敏感操作前要求模型复述依据。

审计与回滚

  • 所有工具调用留痕(谁、何时、做了什么、依据是什么);
  • 写操作先备份可回滚(git 是最便宜的沙箱);
  • 定时/无人值守任务的权限要比交互式任务更严 —— 没人在场兜底。
衡量标准:假设模型某天"发疯"要执行最坏操作,你的 Harness 能把损失限制在多大范围?这个答案就是你的安全水位。

📝 课后练习

quiz-1 防御提示注入(Prompt Injection)的核心原则是?