Skip to content

05 · Hermes 的权限、凭据与审批

阶段第一阶段 · 成功与安全
难度零基础必修
预计时间15—20 分钟
前置第 04 课
本课作品个人安全与审批清单
版本与验证Hermes Agent 0.18.2—0.19.x安全边界按官方文档核验 · 2026-07

安全来自匹配任务后果的权限和范围。

这是课程第一阶段的最后一篇。你会用一套固定问题判断文件、命令、网络和外部操作的风险,并学会添加、检查、撤销凭据。结束后,你应该能解释为什么同一个动作在练习目录里可以批准,在生产环境里却必须停下来。

看完会得到什么

  • 一套五问权限检查法
  • 一张常见动作风险表
  • 凭据添加、查看和撤销的安全路径
  • 凭据泄露后的处理顺序
  • 一个可以反复使用的审批原则

开始前

  • 预计时间:15—20 分钟
  • 前置课程:04 · Hermes 是怎样完成任务的
  • 已验证日期:2026-07-17
  • 已实测命令:hermes authhermes auth add/list/remove/logouthermes statushermes doctor
  • 本篇不会要求你创建新的真实 API key
  • 本篇不会执行删除、发布、支付或生产环境操作

安全的第一原则:先看后果,不看动作名字

“写文件”听起来普通,写入练习目录的新文件和覆盖生产配置却有完全不同的后果。“运行命令”也是如此。查看版本通常风险很低,安装来源不明的脚本则应立即停下来核对。

批准前问五个问题:

  1. 它会接触什么? 是一个练习文件,还是整个主目录、通讯录或服务器?
  2. 它会改变什么? 只读、新建、覆盖、删除,后果不同。
  3. 能不能恢复? 有备份、版本控制或撤销路径吗?
  4. 结果会不会离开本机? 联网、发消息、发布和提交交易会产生外部影响。
  5. 是否涉及凭据、资金或生产系统? 只要涉及其中一项,就提高一个风险等级。

常见动作风险表

动作默认风险通常怎样处理
读取指定练习文件范围明确时可批准
在练习目录新建结果文件低到中确认文件名和目录后批准
覆盖已有文件先看 diff 或保留备份
安装依赖核对来源、项目和影响范围
访问公开网页确认是否会上传本地内容
读取整个主目录通常拒绝,缩小范围
删除文件或数据库记录先备份、列出对象并人工确认
向外部账户发送消息先生成草稿,再确认收件人和正文
发布公开内容人工终审后执行
修改生产环境或安全策略分离诊断和执行,明确回滚方案
支付、转账或提交交易人工确认金额、对象、网络和不可逆性
展示或转发凭据极高拒绝;如已发生立即撤销

这张表只能帮你快速判断。对象、范围或环境变了,同一个动作的风险也会跟着变。

把任务拆成“准备”和“执行”

高风险任务不要一句话交给 Agent 全部完成。更稳妥的方式是把它拆开:

Hermes 操作权限判断:从对象、范围、可恢复性到外部后果

例如,不要直接说:

text
帮我修好生产服务器。

先说:

text
只读取当前服务状态、磁盘、内存和最近日志,不修改配置。输出问题清单、建议动作、影响和回滚方式,等我确认后再执行。

这样拆开以后,你能先看见问题、影响和恢复办法,再决定是否执行不可逆操作。

凭据是什么

凭据是用来证明身份或授权访问的秘密,例如:

  • API key;
  • OAuth 登录状态;
  • GitHub Token;
  • 云服务访问密钥;
  • 钱包私钥或助记词。

最后一类不应该交给普通 Agent 工作流保管或输入。涉及钱包签名时,应使用专门的安全工具和人工确认边界。

凭据应该放在哪里

优先顺序:

  1. 使用 provider 提供的 OAuth 登录;
  2. 使用 Hermes 的凭据管理命令;
  3. 只有官方流程明确要求时,才把 API key 放入 Hermes 的环境配置文件;
  4. 永远不要把 key 写在提示词、教程正文、截图、Git 提交或公开 Issue 中。

添加某个 provider 的凭据时,可以使用:

bash
hermes auth add <provider>

例如 <provider> 应替换为 Hermes 当前支持的 provider ID。命令会进入对应的 OAuth 或安全输入流程。不要使用把真实 key 直接写在命令参数里的方式,因为终端历史可能保存它。

查看已保存的凭据条目:

bash
hermes auth list

按 provider 查看:

bash
hermes auth list <provider>

这些命令用于查看条目和状态,不应显示完整秘密值。

如果官方流程要求检查环境配置文件位置,使用:

bash
hermes config env-path

这个命令只显示文件路径。不要把该文件内容整体复制到聊天或公开页面。

怎样撤销 Hermes 中保存的凭据

先列出条目:

bash
hermes auth list <provider>

再按索引、条目 ID 或准确标签移除:

bash
hermes auth remove <provider> <target>

如果要退出某个 provider 并清理其登录状态:

bash
hermes auth logout <provider>

注意:**从 Hermes 本地移除,不一定等于服务端 Token 已失效。**如果凭据已经泄露,还必须到对应 provider 的账户安全页面撤销或轮换。

凭据泄露后怎样处理

假设一个 Token 已经被发到群聊。不要继续测试它“还能不能用”,按下面顺序处理:

  1. 在对应服务端撤销泄露的 Token;
  2. 删除公开消息或页面中的明文,但不要把“已删除”当作“未泄露”;
  3. 检查账户安全日志和异常访问;
  4. 从 Hermes、本地配置和自动化环境中移除旧凭据;
  5. 如仍需使用,创建权限更小、有效期更短的新凭据;
  6. 更新依赖该凭据的工作流,并验证旧凭据已经失效。

凭据一旦公开,就应视为已经被复制。仅仅编辑消息、重启 Agent 或清空会话都不能让它重新安全。

最小权限怎样落地

“最小权限”要落实到对象、动作和时间三个方面。

限制对象

只让 Agent 访问完成任务需要的文件、仓库、账号和服务。

限制动作

只读任务不要开放写入;准备草稿不要同时开放发布;诊断问题不要自动修改生产配置。

限制时间

临时任务使用短期凭据。任务结束后撤销,不让一次授权无限期留在环境里。

Hermes 的审批模式

Hermes 可以对终端命令等动作进行风险判断和审批。新人建议保留默认的智能审批模式:

bash
hermes config set approvals.mode smart

不要为了少点一次确认就使用 --yolo 或关闭审批。绕过提示不能提高任务质量,只会取消一道阻止高风险动作的检查。

审批无法代替完整沙箱。重要任务还需要:

  • 独立工作目录;
  • 版本控制或备份;
  • 最小系统账户权限;
  • 发布、支付和生产修改前的人工确认;
  • 执行后的真实验收。

四个审批练习

练习一:读取练习目录

任务要求整理三个公开样例,Hermes 请求读取这三个文件。

**可以批准。**对象和动作都在任务范围内,且只读。

练习二:为了整理资料,读取整个主目录

**不批准。**要求它只读取明确的资料目录或文件清单。

练习三:准备一封合作邮件后直接发送

**先批准写草稿,不批准直接发送。**检查收件人、正文、附件和身份后,再单独确认发送。

练习四:修复线上服务

Hermes 已定位到配置问题,请求立即重启并覆盖配置。

**先停下来。**要求它给出 diff、影响、备份、回滚和验证步骤;由有权限的人确认窗口后执行。

互动实验室:权限模拟器

互动实验室

权限模拟器:按后果决定动作

虚构数据 · 浏览器存储

三种动作都只存在于课程内置数据里。请分别考虑对象、改变、可恢复性、外部影响和凭据/生产风险。

对象改变恢复外部影响凭据 / 生产
范围明确、只读、可复核

读取明确的练习输入

待判断

读取虚构目录中的三个指定文本文件。

范围过宽、可能接触私人内容

为了整理资料读取整个主目录

待判断

让 Agent 浏览主目录,寻找可能有用的文件。

外部影响、身份和声誉后果

准备合作邮件后直接发送

待判断

将虚构草稿发送给外部收件人。

安全判断:0/3

完成状态只保存在本浏览器

出错时按这个顺序查

不知道凭据保存在哪里

  1. 运行 hermes auth list
  2. 运行 hermes config env-path 查看环境文件位置;
  3. 不要搜索并公开打印整个主目录中的秘密;
  4. 对照 provider 官方文档确认服务端撤销入口。

批准了不该批准的操作

  1. 使用 /stop 或终止当前 Hermes 进程;
  2. 检查工具实际执行到了哪一步;
  3. 对文件使用备份或版本控制恢复;
  4. 对外部操作检查发送、发布或交易状态;
  5. 涉及凭据时立即撤销并轮换。

不确定一个动作是否高风险

默认先拒绝执行,让 Hermes 说明对象、范围、外部影响、恢复方式和验收步骤。信息不足时先不执行,等关键情况查清后再决定。

本篇作品

写下你自己的审批原则,至少包含下面这句话:

低风险、范围明确、可恢复的动作可以在验收条件下执行;涉及外部发布、删除、支付、生产系统和凭据的动作,必须由人确认具体对象和后果。

本篇验收

  • [ ] 能用五个问题判断一次工具操作
  • [ ] 能区分读取、新建、覆盖、删除和外部发布的风险
  • [ ] 知道凭据不能进入普通对话、截图或 Git
  • [ ] 知道怎样列出、移除和退出 Hermes 的 provider 凭据
  • [ ] 知道本地删除凭据不等于服务端撤销
  • [ ] 知道审批不是沙箱,也不替代结果验收

第一阶段完成

你已经完成第一次对话和真实文件任务,也看过 Hermes 的工作机制与安全边界。下一阶段先把模糊需求写成可执行任务,再学习管理会话、工具、Memory 和 Skills。

官方来源

课末检查

不用背命令,先确认你会判断

实际操作题为第 03 课任务写“允许读取、允许写入、必须拒绝、需要人工确认”四栏清单。
故障排查题不确定时先拒绝或暂停,确认对象、范围、可逆性和外部后果后再继续。

快速回顾

以后只记住这三点

  1. 按读取、创建、覆盖、删除、联网和发布分别判断。
  2. 凭据泄露后要撤销,不只删除本地痕迹。
  3. 高风险决定始终保留给人。