返回首頁

GitHub Repo

Hermes Agent 社群要求限制跨設定檔對話搜尋,公開程式碼揭示資料隔離邊界

10 月 30 日的 Hermes Agent 社群提案指出,對話搜尋工具可指定其他設定檔,讀取其歷史紀錄。公開程式碼可確認跨設定檔讀取路徑,但限制方案尚未獲維護者確認,實際影響取決於部署權限。

Public domain · Image source
zh-Hant

Hermes Agent 社群於 10 月 30 日提出議題,要求為 session_search 加入跨設定檔存取限制。回報者指出,若同一主機以不同 profile 分配給不同使用者或低信任任務,代理仍可透過 profile 參數及帶有設定檔名稱的對話連結,讀取其他 profile 的紀錄。截至查核時,議題仍開啟,未見維護者確認或合併修補。社群議題

官方文件將 profile 定義為各自獨立的 Hermes 家目錄,分開保存設定、API 金鑰、記憶、對話與狀態資料庫,適合區分程式助理、個人機器人及研究代理。這種儲存配置能避免狀態混用;然而,從此次回報與程式碼可推論,部署者仍須另外確認工具能否跨目錄讀取資料。Profiles 文件

目前主分支的搜尋工具會解析對話連結中的設定檔名稱,再由 _resolve_profile_db 正規化名稱、驗證格式與確認設定檔存在,最後以唯讀模式開啟目標 state.db。該函式未見依呼叫者設定檔核對允許清單的步驟。另一段程式雖禁止僅憑裸對話 ID 自動搜尋所有 profile,卻明確保留指定 profile 的讀取方式。唯讀模式限制寫入,仍容許紀錄內容進入工具回傳結果。公開程式碼

回報者建議新增 session_search.allow_profiles:預設保留既有行為,指定清單則限制可讀範圍,空清單只允許自身 profile。作者聲稱分支通過 67 項搜尋工具測試,但未執行完整測試;這些結果尚未獨立重現,設定也尚非正式功能。提案與測試說明

對工程團隊而言,後續重點是跨 profile 搜尋是否加入授權檢查,以及預設值如何兼顧既有記憶檢索流程。現有證據支持工具具有跨設定檔讀取路徑,尚不足以證明能突破作業系統檔案權限;風險評估應涵蓋程序實際可讀的目錄、工具開放範圍與使用者信任關係。

來源

  1. session_search: no setting stops a profile reading other profiles sessions
  2. Profiles: Running Multiple Agents
  3. tools/session_search_tool.py