跳轉至

建立 2026-09-19 更新 2026-09-19

安全與部署

Hermes 能執行指令、讀寫檔案、上網,還能被聊天軟體裡的人呼叫。能力越大,設定越要謹慎。官方採用「多層防禦」:任何一層被突破,還有其他層擋著。本頁整理最需要知道的幾層,並附上線前的檢查表。

八層防禦

做什麼
1. 使用者授權 允許名單與 DM 配對,決定誰能用
2. 危險指令核准 破壞性操作要人工同意
3. 檔案寫入保護 黑名單路徑,並可限制在沙箱目錄內
4. 容器隔離 Docker/Singularity/Modal,含強化設定
5. MCP 憑證過濾 子程序只拿到安全的環境變數
6. 情境檔掃描 偵測專案檔中的提示注入
7. 跨對話隔離 對話之間不能讀取彼此的資料
8. 輸入淨化 終端機工具的參數要通過白名單檢查

危險指令核准

~/.hermes/config.yaml 設定:

approvals:
  mode: smart          # smart | manual | off
  timeout: 300         # 等你回應的秒數
  cron_mode: deny      # 無人值守的排程遇到危險指令:deny | approve
模式 行為
smart(預設) 輔助 LLM 評估風險:低風險自動通過、危險自動拒絕、不確定的才問你
manual 一律詢問
off 關閉所有檢查(等同 --yolo

除了模式,還有兩種規則:

command_allowlist:        # 永久放行
  - git push *
approvals:
  deny:                   # 無條件封鎖,連 --yolo 與 mode: off 都擋不掉
    - "git push --force*"
    - "*curl*|*sh*"

另外有一份寫死的硬性封鎖清單,不論設定為何都會擋:rm -rf / 及其變體、fork bomb、格式化已掛載的裝置、用 dd 清零磁碟等不可逆操作。

誰可以使用 Gateway

預設拒絕所有人,只放行允許名單或已配對的使用者。設定方式見 Gateway 與聊天軟體

DM 配對有額外保護:配對碼一小時失效、每位使用者每 10 分鐘只能申請一次、錯誤 5 次後鎖定。

用 Docker 隔離

terminal.backend: docker 時,每個容器都套用強化設定:丟棄所有 capabilities(只加回必要的三項)、禁止提權(no-new-privileges)、限制程序數(--pids-limit 256)、/tmp/var/tmp 使用有大小上限的 tmpfs。

後端 隔離程度 危險指令檢查 適合
local 開發、信任的使用者
ssh 遠端主機 在另一台伺服器執行
docker 容器 略過(以容器為邊界) 對外的 Gateway
modaldaytona 雲端沙箱 略過 可擴展的雲端隔離

檔案與憑證

  • 永遠禁止寫入:~/.ssh/~/.aws/~/.kube//etc/sudoers,以及 Hermes 自己的祕密檔(如 .env)。
  • 可用環境變數 HERMES_WRITE_SAFE_ROOTwrite_filepatch 限制在指定目錄內。
  • MCP 子程序預設只拿到 PATHHOMEUSERLANG 等安全變數,API 金鑰與 token 會被剝除。

上線檢查表

  1. 設定明確的允許名單,不要GATEWAY_ALLOW_ALL_USERS=true
  2. 使用容器後端(terminal.backend: docker
  3. 限制 CPU、記憶體、磁碟
  4. ~/.hermes/.envchmod 600 保護
  5. 優先用 DM 配對,而非手寫使用者 ID
  6. 定期檢視 command_allowlist
  7. 設定 terminal.cwd 限制工作目錄
  8. 以非 root 使用者執行 Gateway
  9. 監看 ~/.hermes/logs/
  10. 保持更新(hermes update),並用 hermes doctor 查看供應鏈安全公告

不要把個人電腦當成公開機器人的主機

如果 bot 會開放給團隊或群組使用,請放在獨立的 VPS 或容器,而不是放著你的私人金鑰與文件的電腦。官方另有一篇 Running Hermes on a Personal or Work Machine

推薦影音

上線前先聽的風險說明

簡述:Tech With Tim 的完整入門課中有一段「Security Disclosure & Risks」(約 10:14 起),以專章說明讓代理 24 小時跑在 VPS 上要留意的風險。此處直接從該段開始播放。

完整說明見官方 Security