nono:Sigstore 团队给 AI Agent 做的"内核级"运行时安全护栏
阅读时间: 大约 7 分钟
nono:Sigstore 团队给 AI Agent 做的”内核级”运行时安全护栏

让编码 Agent 在你机器上跑 shell、读文件、调 GitHub API,最大的顾虑不是”它会不会写错代码”,而是”它拿着你的凭证,能干出什么越权的事”。nono 给的答案是:给 Agent 运行时套一层内核强制的边界。它由 Sigstore 团队打造——Sigstore 正是 PyPI、Homebrew、Maven、Google、GitHub、NVIDIA 在用的软件签名标准,这套血统决定了 nono 从骨子里就是”供应链与运行时安全”的思路。安装很简单:curl -fsSL https://nono.sh/install.sh | sh 或 brew install nono,然后 nono run --profile nolabs-ai/pi -- pi 就能把任意终端 Agent 跑在沙箱里。
一、核心概念:瞬时微工具箱(ephemeral micro toolbox)
nono 不是给整个 Agent 开一个大虚拟机,而是对每一次工具调用单独发一个一次性的微沙箱。官网原话是:“Every tool execution. Isolated and scoped.”——每次执行都按它真正需要的文件、网络路由、参数和凭证来收权,执行完立刻销毁。
二、Broker 架构:Agent 永远不直接碰工具
这是 nono 最关键的设计判断:Agent 从不直接和被隔离的工具对话。请求、凭证、网络流量、stdio、审计事件,全部要穿过 supervisor 这道边界。官网把一次 gh issue view 调用拆成五步:
- 可执行体:supervisor 解析并校验可执行文件的身份与 digest;
- Argv 策略:按调用者 + 参数做授权;
- 能力收放:批准后才生成一个全新的、仅本次调用有效的微沙箱——只读工作区、禁止写盘、拿不到宿主密钥、stdout/stderr 有上限、网络只能走 nono 代理;
- 凭证:沙箱拿到的是一个幻影 GH_TOKEN,真凭证留在 supervisor 金库里,从不进子进程;
- L7 代理:校验幻影 token、按 HTTP method + path 判策略、在边界注入真凭证、再经 TLS 转发到
api.github.com。
策略外的动作会路由到人在回路:approve / deny / timeout。安全相关事件被哈希串成链,最终用 SHA-256 Merkle 根封印成一份防篡改审计记录,调用结束沙箱即销毁。
三、四种裁决结果(官方给出的场景)
| 场景 | 行为 |
|---|---|
| Allowed read | gh issue view 正常跑,代理放行 POST /graphql,结果回给 Agent |
| Human approval | gh pr merge 不匹配任何 argv 规则,整条调用挂起等人批准后再在沙箱里执行 |
| Argv denied | gh issue comment 在 argv 授权阶段就被拒,根本不创建沙箱、不发任何出站请求 |
| L7 denied | gh api 过了宽泛的 argv 规则,但代理层发现是 POST 到评论端点,在 L7 被拒,请求到不了 GitHub |
这种”argv 一层、L7 一层”的双重检查,意味着即使你给了 gh 比较宽的权限,危险动作仍会在网络层被拦下。
四、兼容面
nono 号称能沙箱住”任意终端 Agent”,不需要改你的 Agent 代码(no wrappers, no rewrites),从注册表拉一个已签名的 profile 就能跑。官网列出的合作 Agent 包括 Claude Code、OpenCode、Codex、Antigravity、Goose 等。
五、口径偏差与现实边界
- “零延迟”是有口径的:它指的是内核边界本身的额外开销接近零,并不等于整条链路零开销——每次工具调用都要过 supervisor 解析、argv 判定、L7 代理转发,串行链路上多了一跳;对高频小调用的场景,实测延迟要自己压。
- 安全姿态取决于你的策略写得好不好:默认拒绝 + 幻影凭证是好的基线,但 argv/L7 规则需要你自己维护;规则写太松等于没防护,写太严又会天天弹人审。
- 它是本地 CLI / supervisor,不是托管平台:审计链 Merkle 根封印得漂亮,但你得自己去存、去看、去告警,封印本身不会主动报警。
- “任意 Agent 都能沙箱”是能力声明:深度(能否拦截子进程衍生、能否覆盖所有网络栈)随 Agent 与平台而变,官方以 Linux 内核机制为主,跨平台边界要留意。
六、客观评价
优势:
- 血统正:Sigstore 团队做运行时安全,签名 profile + digest 校验把供应链信任也一起考虑了;
- 凭证隔离干净:幻影 token + supervisor 金库,真密钥永不进子进程,直击 Agent 凭证泄露这条最大风险;
- 双层裁决:argv 层先挡一刀、L7 代理再挡一刀,危险动作能在”不发请求”阶段就被掐掉;
- 零侵入:不改 Agent 代码,装个 CLI 就能套上护栏。
局限:
- 多了一道代理跳,“零延迟”需实测;
- 策略维护是持续成本,默认配置不等于企业级防护;
- 审计要自己接存储与告警;
- 仍偏早期,跨平台与对各类 Agent 的覆盖深度待验证。
七、适合谁用
- 已经在生产/本机大量跑编码 Agent、最担心凭证外泄与越权写操作的工程师与团队;
- 需要一份可审计、防篡改的 Agent 操作记录以满足合规的人;
- 认同 Sigstore 供应链思路、想把”软件签名”延伸到”运行时边界”的安全团队。