🤖HermesBlog
Hermes 官方教程 · 第29篇2026/8/9· Easy Understand Hermes Agent

第29篇:安全深入——权限与隔离

Hermes Agent 官方教程第29篇:权限与隔离

第29篇:安全深入——权限与隔离

如果把 Hermes Agent 比作一位全能管家,那安全机制就是给这位管家装上的“门禁系统”——不是不让他干活,而是确保他每次开锁、进房间、动贵重物品前,都得先问过你。今天我们就来拆解这套门禁的每一道锁。

第1步:认识八层安全防线

Hermes 的安全模型像洋葱,从外到内共八层:

  1. 用户授权——谁能跟管家说话(白名单、私聊配对)
  2. 危险命令审批——破坏性操作必须人工确认
  3. 文件写入保护——黑名单 + 可选沙箱,防止乱改文件
  4. 容器隔离——Docker/Singularity/Modal 沙箱,跑在独立环境
  5. MCP 凭据过滤——子进程看不到你的密钥
  6. 上下文文件扫描——检测项目文件里的提示注入攻击
  7. 跨会话隔离——不同会话互不干扰,定时任务路径防穿越
  8. 输入净化——终端工具的工作目录参数必须通过白名单校验

第2步:配置危险命令审批

最核心的是第二层。Hermes 会先比对危险命令列表,命中就触发审批。审批有三种模式,在 ~/.hermes/config.yaml 里设置:

approvals:
  mode: smart          # smart(默认)| manual | off
  timeout: 300         # 等待用户确认的秒数
  cron_mode: deny      # 定时任务遇到危险命令时:deny 阻止 / approve 放行
  mcp_reload_confirm: true   # /reload-mcp 前是否确认
  destructive_slash_confirm: true  # /clear 等破坏性命令前是否确认

三种模式区别

  • smart(推荐):用辅助 LLM 判断风险。低风险(如 python -c "print('hi')")自动放行,高风险自动拒绝,拿不准才问你
  • manual:所有危险命令都弹窗问你
  • off:完全关闭检查(等于 --yolo),只建议在 CI/CD 等可信环境用

第3步:认识 YOLO 模式

YOLO 模式会跳过所有审批提示,三种开启方式:

# 方式1:启动时带参数
hermes --yolo

# 方式2:会话中切换
> /yolo
 YOLO mode ON all commands auto-approved.

# 方式3:环境变量
export HERMES_YOLO_MODE=1

注意 /yolo开关,再输入一次就关闭。YOLO 模式下 Hermes 会持续显示警告标识,提醒你“管家已进入无人监管状态”。

第4步:理解审批超时与定时任务

  • 超时:默认 300 秒,超过后审批请求作废,命令不执行
  • cron_mode:定时任务无人值守,遇到危险命令时 deny 直接阻止(推荐),approve 则自动放行(风险自负)

小结

安全不是限制,而是可控的信任。默认的 smart 模式 + 容器隔离 + 会话隔离,已经能应对大多数场景。生产环境建议保持默认,开发调试再用 YOLO 也不迟。

下一篇预告:第30篇将深入「上下文工程」,教你如何用系统提示词和记忆文件,让 Hermes 更懂你的项目。

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/security