OpenShell 是什么:AI Agent 的操作边界在哪里
读 OpenShell 源码:策略更新、证明器和请求调解
从三个小入口理解 Rust 工作区,不把源码目录名当成安全证明。
读 OpenShell 源码:策略更新、证明器和请求调解知识学习CN编辑简报更新 2026-10-04
你将学会
- 从 CLI 请求开始
- 核对证明器的模型
- 查看传输边界
开始前需要
- 一个可丢弃任务与支持的计算运行时
- 检查策略和 Provider 配置的权限
把文档中的控制声明转化成一份范围有限、可审阅的试验报告。
先看结论
- CLI 校验与运行时强制执行是两个阶段。
- 证明结论取决于策略模型覆盖范围。
- 传输帧本身不是授权结果。
从 CLI 请求开始
`crates/openshell-cli/src/policy_update.rs` 生成策略更新计划,并拒绝互相冲突的参数组合。例如,一次更新不能同时追加 endpoint 规则和 L7 allow、deny 规则。
这能说明 CLI 的输入校验,却不能证明网关接受并实施了策略。继续追踪提交结果,再比较更新后的生效策略。
核对证明器的模型
`crates/openshell-prover/src/policy.rs` 对端点、允许的方法、可读路径和程序到端点的关系建模。文档中的证明器用于检查提议策略是否扩大敏感访问。
模型只能覆盖已经表示出来的条件。依赖审批结论前应检查解析失败、歧义和运行时特定路径。本次只阅读源码与文档,没有对测试策略执行证明器。
查看传输边界
`crates/openshell-sandbox-backend/src/mediation.rs` 定义受调解请求的 JSON 帧编码与限长读取;架构文档解释连接沙箱与监督进程的认证通道。
帧格式只解决边界的一部分。还需检查调用者身份、通道认证和外层网络围栏;一个格式正确的 JSON 帧并不能说明动作已获授权。
如何选择
| 比较维度 | 方案 A | 方案 B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
实施步骤
- 1
阅读 CLI 校验并记下被拒绝的参数组合。
- 2
识别策略模型可以检查的访问关系。
- 3
从调解帧追踪到可信侧决策。
可复制示例
text
CLI 参数 -> 更新计划 -> 网关策略
策略 -> 证明器模型 -> 审核发现
沙箱帧 -> 监督进程 -> 授权决定常见问题
策略解析成功就代表已经生效吗?
不代表。要检查网关响应和更新后的生效策略。
本文运行了策略证明器吗?
没有,仅审阅固定版本源码和文档。
资料来源
- OpenShell / crates/openshell-cli/src/policy_update.rs来源核查 2026-10-04
- OpenShell / crates/openshell-prover/src/policy.rs来源核查 2026-10-04
- OpenShell / crates/openshell-sandbox-backend/src/mediation.rs来源核查 2026-10-04
- OpenShell / docs/about/architecture.mdx来源核查 2026-10-04