← 所有作品

Hermes:Slack 上的多代理資安審查助理

Slack 單一入口加一個 orchestrator,把資安審查分派給專責 reviewer,產出有證據的報告。

問題

資安團隊經常在聊天工具裡收到審查請求:一份 Terraform、一份 SaaS 設定態勢匯出檔、一包廠商的 SOC 2 文件、一張架構圖,或一疊稽核證據。用一個通用 prompt 處理這些東西,效果很差。它把找問題、對應法規框架與提出修補混在一起,容易把不相干的控制項硬套到文件上,或是去修沒有人發現的問題。

我們要的是第一輪審查:一致、有邊界、每個結論都能回溯到文件中的證據,而且不必每次由人挑選審查者。

做法

Hermes 跑在 Hermes Agent 上,這是開源、可自行架設的 agent 框架。審查團隊由 11 個 skill 組成,職責嚴格切開:

每個 reviewer 只輸出一張固定格式的表,不多說,也都不提修補方案。修補工程師只修交給它的 finding,不得重新審查。法遵 reviewer 先判斷適用性,文件缺乏範圍證據時回答「Cannot Assess」,不硬套控制項。

運作方式

單一入口,專家分工審查

  1. 受理。 security-lead 讀取文件,依路由表選路線:AWS 審查交給 AWS 與法遵 reviewer,廠商審查交給廠商與稽核證據 reviewer,不明確的請求交給架構、資安與法遵。它從不一次派出所有 reviewer。
  2. Phase A。 orchestrator 平行執行選定的 reviewer,並把它們的表格視為正式(canonical)結果。
  3. Phase B。 只有具體的技術 finding 才會交給修補工程師,而且該審查類型要允許修補。廠商與稽核證據審查改為輸出後續追問與風險決策點。
  4. 報告。 orchestrator 存下一份五段固定結構的報告,並在 Slack 回覆摘要與完整報告附件,手機也能直接開啟。內文用繁體中文,程式碼與識別字維持英文。

有兩個執行期細節很重要。delegation 深度至少要是 2,否則 orchestrator 會被降級為末端 worker,無法啟動 reviewer。而且頂層 delegation 在背景執行,所以各階段要放在 orchestrator 裡,不能拆成多輪聊天。

成果

學到的事