Hermes 官方教程 · 第29篇2026/8/9· Easy Understand Hermes Agent
第29篇:安全深入——权限与隔离
Hermes Agent 官方教程第29篇:权限与隔离
第29篇:安全深入——权限与隔离
如果把 Hermes Agent 比作一位全能管家,那安全机制就是给这位管家装上的“门禁系统”——不是不让他干活,而是确保他每次开锁、进房间、动贵重物品前,都得先问过你。今天我们就来拆解这套门禁的每一道锁。
第1步:认识八层安全防线
Hermes 的安全模型像洋葱,从外到内共八层:
- 用户授权——谁能跟管家说话(白名单、私聊配对)
- 危险命令审批——破坏性操作必须人工确认
- 文件写入保护——黑名单 + 可选沙箱,防止乱改文件
- 容器隔离——Docker/Singularity/Modal 沙箱,跑在独立环境
- MCP 凭据过滤——子进程看不到你的密钥
- 上下文文件扫描——检测项目文件里的提示注入攻击
- 跨会话隔离——不同会话互不干扰,定时任务路径防穿越
- 输入净化——终端工具的工作目录参数必须通过白名单校验
第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