IronCurtain – 自主AI代理的安全*執行時
IronCurtain是一個開源研究專案,旨在透過人類可讀的憲法來定義安全策略,使AI代理在安全邊界內自主執行。它採用策略引擎在執行時強制執行規則,防止提示注入和許可權濫用。
IronCurtain 是一個開源的研究原型專案,旨在為自主 AI 代理提供一個安全的執行時環境。其核心理念是透過一份人類可讀的“憲法”來定義安全策略,然後將此策略編譯為確定性的規則,並在執行時強制執行,從而讓 AI 代理在明確的邊界內自主工作。
當前 AI 代理框架面臨的主要問題是“環境許可權”——代理擁有與使用者相同的許可權,一旦遭遇提示注入或多輪對話偏移,可能導致刪除檔案、洩露資料或推送惡意程式碼。常見的應對方案要麼將代理限制在狹窄的沙箱中(降低實用性),要麼要求使用者批准每一步操作(降低自主性)。IronCurtain 提供了一條不同的路徑:用自然語言表達安全意圖,由系統負責執行。
IronCurtain 的設計基於幾個關鍵思想:首先,假設代理本身是不可信的,安全不依賴於模型是否“良好”。其次,“英語輸入,執行輸出”——使用者編寫意圖,系統編譯為確定性規則,執行時無需 LLM 參與。第三,語義攔截:所有互動透過 MCP 伺服器進行,每次工具呼叫都經過策略引擎,可以允許、拒絕或升級到使用者審批。最後,分層防禦:代理程式碼執行在 V8 隔離環境中,無法直接訪問主機,唯一齣路是透過 MCP 工具呼叫,且每個呼叫都受策略檢查。
架構方面,IronCurtain 支援兩種會話模式:內建代理(程式碼模式)和 Docker 代理模式。內建代理模式中,IronCurtain 自身的 LLM 代理編寫 TypeScript 程式碼片段,在 V8 沙箱中執行。每次工具呼叫退出沙箱時,作為結構化 MCP 請求經過策略引擎。Docker 代理模式中,外部代理(如 Claude Code)在無網路的 Docker 容器內執行,IronCurtain 透過 TLS 終止 MITM 代理、策略引擎和驗證登錄檔代理來中介外部效應。
快速開始方面,IronCurtain 需要 Node.js 22/24/26,推薦安裝 Docker 以提供最強的隔離。安裝後透過 ironcurtain setup 進行首次配置,然後可以使用 ironcurtain mux 命令啟動終端複用器模式,獲得完整的代理 TUI 和策略強制功能。使用者可以透過 ironcurtain customize-policy 自定義憲法,並透過 ironcurtain compile-policy 編譯策略。
此外,IronCurtain 支援多代理工作流,例如漏洞發現工作流和設計編碼工作流。每個代理執行在獨立的 Docker 容器中,擁有角色特定的策略邊界。工作流可以透過 Web UI 介面驅動,也可以使用 CLI 進行指令碼化操作。
總之,IronCurtain 是一個探索如何讓 AI 代理在安全前提下真正有用的研究專案,其憲法驅動策略的方法為代理安全提供了一個新穎且實用的方向。