Hermes Agent 权限与安全治理

Hermes 能执行命令、操作文件、上网、接入聊天平台——能力越大,安全治理越重要。本章汇总它的安全机制与最佳实践。


威胁模型:要防什么?

风险点                         可能后果
─────────                      ─────────
误删/误改文件                  数据丢失
危险命令(rm、curl|bash…)     系统受损
密钥泄露                       账号被盗用
陌生人通过网关指挥智能体       被滥用、信息泄露
模型"幻觉"出错误操作           不可预期的副作用

Hermes 的安全设计就是围绕限制、隔离、审批、认证这几条主线展开。


1)命令审批与白名单

Hermes 内置命令审批系统:高风险操作执行前需要你确认,并支持用允许模式(allowlist patterns)预先放行可信命令。

模型想执行命令 → 是否匹配白名单?
   ├─ 是 → 直接执行
   └─ 否 → 暂停,等待你批准/拒绝

建议:把高频、安全的只读命令加入白名单;写操作、删除、网络请求保持需审批。


2)执行隔离:把命令关进沙箱

借助 执行后端,可以把工具运行在隔离环境而非裸机:

后端隔离手段
Docker容器隔离、只读根文件系统、丢弃多余 capabilities
SSH隔离到专用远程机器
Modal / Daytona无服务器沙箱

容器加固(read-only root、dropped capabilities)能显著降低误操作或恶意输出的破坏面。


3)消息网关的访问控制

把智能体接入公网聊天平台后,认证与授权必不可少:

  • DM 配对(DM Pairing):首次私信需完成配对,确认是授权用户
  • 用户白名单(Allowlist):按平台限定可交互的用户
  • 逐平台配置:不同平台分别设置权限
默认拒绝 → 仅白名单用户可对话 → 高风险操作再加命令审批

4)凭据与数据安全

  • 本地存储:所有数据在 ~/.hermes/,无遥测、无云上传
  • 加密的凭据存储:密钥安全保存
  • .env 隔离密钥:不要把 Key 写进会被分享/提交的文件
  • 目录权限:确保 ~/.hermes/ 仅本人可读写

安全配置清单(Checklist)

[ ] 用 hermes tools 关闭一切非必需工具(最小权限)
[ ] 高风险工具运行在 Docker / SSH 后端
[ ] 命令审批开启;只把可信只读命令加入白名单
[ ] 网关开启 DM 配对 + 用户白名单
[ ] API Key 放在 .env,不进 Git;~/.hermes/ 权限收紧
[ ] 定期 hermes update 跟进安全修复
[ ] 重要操作走多智能体的"验证"环节
[ ] 定期审阅 MEMORY.md / 会话历史,清理敏感信息

纵深防御示意

┌─────────────────────────────────────────────┐
│ 网关层:DM 配对 + 用户白名单                │
├─────────────────────────────────────────────┤
│ 决策层:命令审批 + 允许模式                  │
├─────────────────────────────────────────────┤
│ 执行层:Docker/SSH 沙箱 + 容器加固           │
├─────────────────────────────────────────────┤
│ 数据层:本地存储 + 加密凭据 + 目录权限       │
└─────────────────────────────────────────────┘

没有任何单层是万能的;多层叠加才是稳妥之道。


下一步