返回首頁

AI 代理安全與執行環境

Hermes Agent 0.21.2 修補跨設定檔資料外洩與 SQLite WAL 競爭

Nous Research 的修補版重新分離共享狀態與使用者資料庫,並封堵工作階段、MCP 憑證及附件跨設定檔流動的路徑。Docker 映像已發布,但修補範圍龐大且沒有獨立安全公告,部署者仍應先備份及驗證。

Digital Bodleian This file comes from the Bodleian Libraries, a group of research libraries in Oxford University.This tag does not indicate the copyright status of the attached work. A normal copyright tag is still required. See Commons:Li… · CC BY 4.0 · Image source
zh-Hant

Nous Research 於 9 月 11 日發布 Hermes Agent v0.21.2,集中處理 v0.21.0 重寫工作階段連線後出現的 `state.db` 損壞、鎖定與隔離問題。先前 profile gateway、桌面儀表板及 cron 可能同時取得可寫入的 SQLite 連線,甚至由原始 `open()` 干擾既有 POSIX lock。新版把 hosted-room 狀態移至 `shared-state.db`,讓儀表板優先唯讀開啟,所有連線經過追蹤登錄,且 `doctor --fix` 無法證明 checkpoint 安全時會拒絕執行。

WAL 路徑也加入較細緻的失敗處理:OpenZFS 的已刪除 dentry、關閉連線與新增訊息競爭,以及 WSL2 暫時性 I/O 錯誤,不再立即把健康資料庫標成永久損壞。FTS5 索引故障會降級為搜尋不可用並安排重建,而不是封鎖整個對話資料庫;異常時間戳、錯誤 JSON 或超過 SQLite 參數上限的批次操作,也改為逐列警告或分批執行。

更重要的是多設定檔隔離修補。舊版在 `HERMES_HOME` 競爭下可能連到其他 profile 的資料庫,以裸 session ID 搜尋時也可能讀到別人的逐字稿;次要 profile 的 stdio MCP server 還可能收到預設 profile 的 vault secrets,媒體附件則可能帶出兄弟 profile 的 `.env`、`auth.json` 或 `state.db`。0.21.2 宣稱已把資料庫、allowlist、主機憑證、webhook 與 bearer token 綁定至實際路由的 profile。

這是兼具可靠性與機密性影響的更新,不宜只當一般修補。官方 Docker Hub 已提供 x86-64 與 Arm64 的版本化映像;不過完整成效主要來自專案自身的 release notes,未見對應 CVE、第三方稽核或可量化的回歸結果。升級前應備份每個 profile 的資料庫、停止舊 gateway writer,使用版本化映像 digest,並測試搜尋、復原、MCP 啟動與跨 profile 附件;已損壞的資料庫則應先以 `hermes doctor` 及唯讀檢查模式判定結構性或索引性損害。

來源

  1. Hermes Agent v0.21.2 — The state.db Patch Release
  2. nousresearch/hermes-agent Docker tags