
OpenShell supervisor 源码解剖:一个不信任任何人的进程
TL;DR
读 OpenShell v0.1.5 源码:supervisor 如何用一张“不信任清单”撑起沙箱的全部安全边界,每条不信任都有 文件:行号 为证。
引言:教程里那些“魔法”的出处
上一篇 OpenShell 教程 留了一堆“它就是能做到”的现象:沙箱里 DNS 永远“解析成功”,拿到却是 198.18 开头的假地址;越界的 POST 收到一个带规则名、带发起程序真身路径的 JSON 403;gateway 一重启,所有沙箱的 workload 整齐地死于同一条 SIGTERM 报错。教程解释了它们“是什么”,没解释“凭什么”。
这些现象背后是同一个进程:supervisor。它跑在沙箱边界之外的可信侧,Agent 的每一次 DNS 查询、每一条 TCP 连接、每一个 HTTP 请求、每一份凭证,都要经过它的手。官方架构文档给了它一句定位——“checks requests against policy, supplies credentials, resolves DNS, opens approved connections”——但读完文档你依然不知道它为什么敢说自己安全。




