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つのエージェントモード –
    1. 組み込みエージェント (コードモード) – IronCurtain独自のLLMが、V8アイソレート内で実行されるTypeScriptを記述します。
    2. Dockerエージェントモード – 外部LLMがパブリックネットワークのないDockerコンテナ内で実行されます。すべてのAPI呼び出しはMITMプロキシされ、すべてのMCP呼び出しはポリシーチェックされます。
  • ペルソナとスキル – 名前付きポリシープロファイル(ペルソナ)は、憲法、コンパイル済みルール、ワークスペース、セマンティックメモリをバンドルします。SKILL.mdパッケージは、エージェントにドメイン固有のガイダンスを提供するために、すべてのDockerセッションに読み取り専用でマウントできます。
  • ワークフロー – 事前に構築されたマルチエージェントパイプライン(脆弱性発見、設計とコーディングなど)は、それぞれ独自のポリシーを持つ複数のエージェントを調整し、監視と人間によるゲート制御のためのWeb UIを公開します。

始め方

  1. CLIをグローバルにインストールします:npm install -g @provos/ironcurtain (Node 24/26が必要)。
  2. LLM APIキー(ANTHROPIC_API_KEY、OPENAI_API_KEY、または GOOGLE_GENERATIVE_AI_API_KEY)をエクスポートします。
  3. ironcurtain setupを実行します。ウィザードが ~/.ironcurtain/config.json を作成し、GitHubトークンやWeb検索プロバイダーの追加を支援します。
  4. 推奨されるターミナルマルチプレクサを起動します:ironcurtain mux。エージェントがPTYに表示されます。承認が必要なツール呼び出しがあると、インラインピッカーがポップアップします。
  5. (オプション) ポリシーのカスタマイズ: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が含まれています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト