代理框架與安全
OpenAI Agents SDK 0.22.1 把防護欄下沉至工具與 MCP 呼叫邊界
Python Agents SDK 現可在函式工具及本機 MCP 伺服器套用輸入、輸出防護欄,並自訂遭封鎖時交給模型的替代訊息。新版亦縮小本機沙箱繼承的主機環境變數,但防護範圍仍未涵蓋託管工具及內建執行工具。

OpenAI 9 月 8 日發布 Agents SDK for Python 0.22.1,將原本偏向代理輸入、最終輸出的 guardrail 機制延伸到每一次工具呼叫。開發者可為函式工具配置輸入與輸出檢查,也能在本機 `MCPServerStdio`、Streamable HTTP 或 SSE 伺服器層統一掛載規則;伺服器完成工具篩選後,規則會套用到所有轉換出的 MCP 工具。輸入防護欄可在執行前拒絕參數或觸發 tripwire,輸出防護欄則能檢查結果、以不含資料的訊息取代內容,或中止執行流程。若工具還需人工核准,輸入檢查預設在核准後、實際執行前再次運作。
這個變更把權限判斷放到產生副作用的邊界,適合攔截參數中的憑證、禁止高風險路徑,或避免 MCP 回傳機密資料。`RunConfig.output_guardrail_blocked_message` 可提供固定文字或格式化函式,使模型不必看到被拒絕的原始輸出。沙箱方面,Unix-local session 新增 `inherit_host_environment=False` 與自訂 allowlist,避免代理子程序自動繼承完整主機環境;Docker session 也能加上標籤,恢復工作階段時會驗證標籤一致性。
限制同樣重要:工具輸出檢查發生在呼叫之後,不能撤銷已寫入檔案、送出的網路請求或其他外部副作用;託管 MCP、`computer`、`shell`、`apply_patch` 等內建工具目前也不走這條防護管線。工程團隊下一步應確認每種工具究竟進入哪個執行路徑,並以失敗關閉、權限最小化及沙箱網路政策補足 SDK guardrail 的邊界。