跳到正文
社区版开源 Web · 0.2.31 发行文档 · 0.2.31内容核对:2026-11-06查看 Markdown

6.8 理解执行授权边界 ​

开发扩展时,既要检查工具的自身边界,也要检查 Teloa 在派发与执行期间的授权。声明一个“只读”标记不能替代访问控制。

分层检查 ​

层次应验证什么
资料与业务范围调用者可见的来源、锁定版本和关联范围
岗位工具授权当前员工是否获准使用这个完整工具名
当次动作参数和审批是否仍适用于实际要执行的动作
Harness工作区、文件、子进程与网络执行策略
外部系统服务账号、只读凭据、对象权限及写入保护

MCP 的实际限制 ​

参考服务用 readOnlyHint 标注只读意图。无论客户端是否保留这个标注,服务端都应校验身份、对象和参数,Teloa 仍需核对员工工具授权。

上网与文件 ​

员工上网受总开关、岗位授权和具体执行策略约束。搜索和网页读取会产生外部请求;跳转链等边界必须按实际实现逐项测试,不能用一句“已拦截所有域名”概括。

默认组合使用专用工作区与 workspace-write 策略。第三方工具、会话权限和外部凭据仍需要单独核验。Docker 部署没有默认挂载宿主全盘或 Docker socket,也不意味着任何插件行为都自动安全。

员工 API 例外: 业务系统发起工作时可以按请求指定 permissionMode;未指定时新工作默认 danger-full-access,续做默认继承上一轮。这个模式只改变本轮的沙箱与审批边界,不扩大员工的工具授权,也不能绕过集成的 execute 权限或工作台审批。调用方应显式选择满足业务需要的最小模式,见员工 API 的执行模式。

按操作限定工作区文件 ​

0.2.31 的正式工具授权可携带 workspacePaths,分别为读、写与编辑规则列出 files 和 directories,由本人在员工「权限」入口明确保存,并随运行冻结。未配置时沿用原工作区行为;不能由模型从自然语言中推断或扩大授权。

路径在实际文件系统再次核验:父级逃逸、符号链接与保护路径不能穿透;新文件核对最近存在的真实父目录。编辑需要读写交集。当前 Run 已在授权写范围成功写入、且回执与 SHA 一致的文件可受控交付,但这不是授予模型任意读取输出的权限。需要读保护的既有文件不能通过写许可隐式读取。

启用细文件范围时,不支持同策略的任意代码执行入口保持关闭;FS 代理不等于整台操作系统隔离。扩展不可忽略不认识的规则后按更宽权限运行。

最小验收矩阵 ​

同一任务分别测试:未授权拒绝、授权后成功、授权撤回后拒绝、来源不可用、参数不合法、执行中停止。记录实际工具回包与业务结果,不能只看模型说“操作成功”。