AI 代理安全
AgentJail 1.7 將代理權限改為工作階段綁定的單次 grant,主機連接器預設拒絕轉送
AgentJail 1.7.0 以具型別的生命週期管理檔案、命令、網路、MCP 與憑證權限,授權須完成啟用及稽核後才能使用。新版同時建立受信任主機連接器,但正式 MCP 轉送仍維持 fail-closed,避免尚未綁定原生批准證據便開放資料路徑。

AgentJail 1.7.0 把 coding agent 的臨時權限從簡單的 allow/deny,提升為精確且不可轉讓的 runtime grant。每項 grant 都綁定代理、使用者主體、工作階段、動作、正規化資源與參數、政策版本、作用域、到期時間及是否已使用,並依序經過 requested、approved、active、consumed、expired 或 revoked 等狀態。明確 deny 仍優先於 grant,獲准也不等於立即可用;若連接器啟動或 readiness probe 失敗,權限不會進入 active。
這項拆分針對代理安全常見的時間差問題:使用者批准某個操作後,工作階段、政策或目標資源可能已經改變。新版要求批准與啟用紀錄先持久寫入,才對代理暴露權限;到期邊界亦改為精確拒絕。它還序列化連接器啟用與撤銷、在清理工作階段前先撤銷 broker route,並拒絕符號連結、擁有者或權限不正確的 Linux runtime root 與 socket。
主機連接器目前可由受信任全域政策預先定義,例如固定的本機 Chrome CDP 端點;沙箱內代理只能引用 connector ID,不能自行指定主機或連接埠。診斷工具會分別呈現 grant、授權、啟用、傳輸及上游能力,但不洩漏批准證據。值得注意的是,正式 MCP forwarding 尚未開放:專案要等原生批准證據及 grant-aware data plane 完成後才會解除 fail-closed。
部署者仍不能把指令檔視為安全邊界。官方文件明言 PreToolUse hook 屬合作式攔截,變數展開、`eval` 或其他直譯器可能繞過字串政策,敏感環境仍須搭配 Landlock、macOS Seatbelt 或容器。Windows 目前也沒有同等原生沙箱;CI 尚缺官方 Action 與映像檔。工程團隊下一步應驗證 grant 的撤銷、重試與稽核失敗路徑,而非只測試正常批准流程。