Skip to content
🔗 分享本题
查看我的学习进度 →

Agent 工具调用经过身份、参数、权限、数据和人工确认策略后执行的网关图

🧠 记忆锚点:API 网关管请求,Agent 网关还要管工具意图、参数、数据流和副作用;策略必须在模型外强制执行。

💡 答案要点

背景:Flying Penguin 2026年4月长文

这篇 HN 高分文章(20+ 讨论)指出了一个被普遍忽视的问题:2026年的 Agent 系统安全设计,正在重蹈 MS-DOS 的覆辙——把安全寄托在"相信 LLM 不会滥用"上,而不是真正的隔离。


MS-DOS 的教训:

问题说明
任何程序都可以 peek/poke 内核没有内存保护
所有数据存在一个磁盘没有访问控制
所有人共享同一个密码没有身份隔离
后果一次漏洞,所有数据泄露

当前 Agent Gateway 的问题:

"Agent gateways feel like we are racing backwards into the MS-DOS era... when you look at gateways out there they can hand the model an exec tool and trust it. One process, one token, with the LLM holding the line."

不安全的设计说明
Gateway as 单一信任边界所有 Agent 能力通过一个网关输出,出问题全部暴露
LLM 作为安全守门员把安全建立在"LLM 不会误用工具"上
Exec 工具全开Agent 可以执行任意系统命令,没有任何限制
共享进程+Token一个进程处理所有请求,没有隔离

两种安全架构的对比:

维度NemoClawWirken(Flying Penguin 推荐)
网络暴露Ollama 绑定 0.0.0.0(暴露网络)Inference 保留在 loopback
隔离方式整个 Agent 跑在沙箱里每个 Channel 是独立进程
身份认证依赖单一 Telegram token每个 Channel 有独立 Ed25519 身份
密钥存储可能在 Gateway 进程内Vault 运行在独立进程(out-of-process)
Shell 执行Gateway 整体受信任Shell 在硬化的容器里运行,配置在工具层
高危命令无特殊处理16个高危命令前缀每次调用都弹窗确认

核心设计哲学:

NemoClaw 安全思路(错误):
  沙箱 → 包裹整个 Agent
  → Agent 内部可以自由调用任何工具
  → 安全靠 LLM 自觉

Wirken 安全思路(正确):
  工具层安全 → 每个危险工具独立限制
  进程隔离 → Channel 之间互不感知
  Vault 隔离 → 密钥不在 Agent 进程内
  → 安全靠架构,不是靠 LLM 自觉

工具层安全的 5 个关键实践:

实践说明
1. 进程级隔离每个 Channel 是独立进程,有独立身份(Ed25519)
2. Vault Out-of-Process密钥存储在 Agent 进程外部,Agent 无法直接访问
3. Shell in Hardened ContainerShell 执行在容器内,而非主机上
4. 高危命令前缀拦截16 个高危命令前缀(如 rm -rf)每次都弹窗
5. First-Use Memory新工具首次使用有 30 天记忆期,之后再次确认

面试话术:

"Flying Penguin 的文章点出了一个根本问题:2026年我们讨论 AI 安全,大部分人在讨论对齐、幻觉、信息泄露,但没人愿意提 Agent 执行层面的安全——因为承认它危险,就意味着承认现在的架构有漏洞。真正安全的 Agent 系统,应该把'谁可以执行什么'交给架构决定,而不是交给 LLM 判断。进程隔离、Vault 外置、工具层硬化、Ed25519 身份认证——这才是生产级 Agent 安全应该有的样子,不是靠一个 Gateway 包打天下。"

延伸阅读:


版本: v3.0 | 更新: 2026-04-20 | by 二狗子 🐕