provos/ironcurtain
A secure* runtime for autonomous AI agents. Policy from plain-English constitutions. (*https://ironcurtain.dev)
IronCurtain – 自律型AIエージェントのためのセキュアなランタイム
概要 – IronCurtainは、ホストシステムを安全に保ちながら、LLM駆動型エージェント(Claude Code、Goose、Codexなど)を実行できる研究用プロトタイプ・プラットフォームです。エージェントが何をしてよいか、何をしてはいけないかを記述した、人間が読める短い憲法を作成します。IronCurtainはLLMベースのコンパイラを使用してそのテキストを決定論的なポリシーに変換し、生成されたテストシナリオでポリシーを検証し、エージェントが行うすべてのツール呼び出しに対して実行時にルールを強制します。
重要性 – 現在のエージェントフレームワークは、モデルに完全なユーザー権限(ファイルシステム、ネットワーク、資格情報)を与えています。一度のプロンプトインジェクションやドリフトが、破壊的なアクションを引き起こす可能性があります。IronCurtainのモデルコンテキストプロトコル(MCP)の介在とV8/Dockerサンドボックス化は、多層防御を提供します。エージェントは信頼できないものとして扱われ、すべての外部への影響は、許可、拒否、または人間への昇格が可能なポリシーエンジンによって仲介されます。
主要な概念
- 憲法 → コンパイル済みポリシー – 意図を平易な英語で記述します。システムはMCPツールに注釈を付け、if/thenルールをコンパイルし、動的リストを解決し、テストシナリオを生成し、使用前にポリシーを検証します。
- ポリシーエンジン – サンドボックスの外で実行されます。すべてのMCPリクエスト(ファイルシステム、git、ネットワーク、パッケージインストールなど)がここを通過します。
- 昇格UI – ルールが人間の承認を必要とする場合、IronCurtainはターミナルマルチプレクサ(Ctrl-Aコマンドモード)またはWeb UIにオーバーレイを表示し、ワンキーでの承認/拒否/ホワイトリスト登録を可能にします。
- 2つのエージェントモード –
- 組み込みエージェント (コードモード) – IronCurtain独自のLLMが、V8アイソレート内で実行されるTypeScriptを記述します。
- Dockerエージェントモード – 外部LLMがパブリックネットワークのないDockerコンテナ内で実行されます。すべてのAPI呼び出しはMITMプロキシされ、すべてのMCP呼び出しはポリシーチェックされます。
- ペルソナとスキル – 名前付きポリシープロファイル(ペルソナ)は、憲法、コンパイル済みルール、ワークスペース、セマンティックメモリをバンドルします。SKILL.mdパッケージは、エージェントにドメイン固有のガイダンスを提供するために、すべてのDockerセッションに読み取り専用でマウントできます。
- ワークフロー – 事前に構築されたマルチエージェントパイプライン(脆弱性発見、設計とコーディングなど)は、それぞれ独自のポリシーを持つ複数のエージェントを調整し、監視と人間によるゲート制御のためのWeb UIを公開します。
始め方
- CLIをグローバルにインストールします:
npm install -g @provos/ironcurtain(Node 24/26が必要)。 - LLM APIキー(
ANTHROPIC_API_KEY、OPENAI_API_KEY、またはGOOGLE_GENERATIVE_AI_API_KEY)をエクスポートします。 ironcurtain setupを実行します。ウィザードが~/.ironcurtain/config.jsonを作成し、GitHubトークンやWeb検索プロバイダーの追加を支援します。- 推奨されるターミナルマルチプレクサを起動します:
ironcurtain mux。エージェントがPTYに表示されます。承認が必要なツール呼び出しがあると、インラインピッカーがポップアップします。 - (オプション) ポリシーのカスタマイズ:
ironcurtain customize-policy→ 生成されたconstitution-user.mdを編集 →ironcurtain compile-policyで決定論的ルールを再構築します。
実行モード
ironcurtain start "<prompt>"– ワンショットタスク。組み込みエージェントまたは--agentフラグによるDockerエージェント。ironcurtain mux– 昇格処理を備えた完全な対話型TUI。ironcurtain daemon --web-ui– スケジュールされたジョブおよびブラウザベースUIのためのバックグラウンドサービス。ironcurtain workflow start <name> "<goal>"– 定義されたマルチエージェントワークフローの起動。
ステータス – 研究用プロトタイプとラベル付けされています。API、構成形式、および全体的なアーキテクチャは進化する予定です。このプロジェクトには、CI、npm公開、および増加中のドキュメントセット(SANDBOXING.md、WORKFLOWS.mdなど)が含まれています。
詳細情報 – 公式サイト:https://ironcurtain.dev (「セキュリティとは何を意味するか?」のFAQを含む)。リポジトリには、詳細な設計ドキュメント、デモGIF、ワークフロー検査用のWeb UIが含まれています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト