Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ironcurtain — 自律型AIエージェントのためのセキュア*ランタイム。平易な英語の憲法からポリシーを生成。(*https://ironcurtain.dev) | Kitploit
ツール/GitHubGitHub/provos/ironcurtain
コンテナセキュリティ動的分析 (サンドボックス)脆弱性分析ファジング学習と教育AIセキュリティ
GitHubprovos/ironcurtain

ironcurtain

自律型AIエージェントのためのセキュア*ランタイム。平易な英語の憲法からポリシーを生成。(*https://ironcurtain.dev)

リポジトリを見る
57277251日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

IronCurtain

CI npm License Website

自律型AIエージェントのためのセキュア*ランタイム。セキュリティポリシーは人間が読める憲法から導出されます。

*「セキュア」と書かれているのを見たら、すぐに疑ってください。ここで「セキュア」が意味するものは?

[!WARNING] 研究プロトタイプ。 IronCurtainは、AIエージェントを実際に有用になる程度に安全にする方法を探求する初期段階の研究プロジェクトです。API、構成形式、アーキテクチャは変更される可能性があります。貢献とフィードバックを歓迎します。

デモ

IronCurtain mux デモ: コマンドモードからの信頼された入力により、git clone と git push が自動承認されます

エージェントはリポジトリをクローンし、変更をプッシュするよう求められます。git_clone と git_push はどちらもポリシーエンジンによって昇格されますが、自動承認者が自動的に承認します — コマンドモード(Ctrl-A)からの信頼された入力が明確な意図を提供したため、手動の /approve は不要でした。

問題

自律型AIエージェントは、ファイルの管理、gitコマンドの実行、メッセージの送信、APIとのやり取りをユーザーに代わって行えます。しかし、今日のエージェントフレームワークは、ファイルシステム、認証情報、ネットワークへの完全なアクセスなど、ユーザーと同じ権限をエージェントに与えています。セキュリティ研究者はこれをアンビエント権限と呼びます。これは、一度のプロンプトインジェクションやマルチターンのドリフトによって、エージェントがファイルを削除したり、データを外部に持ち出したり、悪意のあるコードをプッシュしたりする可能性があることを意味します。

一般的な対応は、エージェントを狭いサンドボックスに制限する(有用性が制限される)か、ユーザーにすべての操作の承認を求める(自律性が制限される)かのどちらかです。どちらも満足のいくものではありません。

アプローチ

IronCurtainは異なる道を選びます。セキュリティの意図を平易な英語で表現し、システムに強制方法を考えさせるのです。

あなたは憲法を書きます。これは、エージェントが何を許可され、何を許可されないかを記述した短い文書です。IronCurtainは、LLMパイプラインを使ってこれを決定的なセキュリティポリシーにコンパイルし、生成されたテストシナリオに対してコンパイル済みルールを検証し、実行時にすべてのツール呼び出しでポリシーを強制します。その結果、ユーザーが自然言語で定義した境界の範囲内で自律的に動作できるエージェントが得られます。

主なアイデア:

  • エージェントは信頼されない。 IronCurtainは、LLMがプロンプトインジェクションやドリフトによって侵害されている可能性があると想定しています。セキュリティはモデルが「良い」ことには依存しません。
  • 英語を入れて、強制を取り出す。 あなたは意図を書きます(「承認なしの破壊的なgit操作は禁止」);システムはそれを決定的なルールにコンパイルし、実行時にそれ以上のLLMの関与なしに強制します。
  • セマンティック・インターセプション。 エージェントに生のシステムアクセスを与える代わりに、すべてのやり取りはMCPサーバー(ファイルシステム、gitなど)を経由します。すべてのツール呼び出しは、allow、deny、またはユーザーへの承認を求めるescalate が可能なポリシーエンジンを通過します。
  • 多層防御。 エージェントコードは、ホストへの直接アクセスがないV8アイソレート内で実行されます。外に出る唯一の方法は、意味的に意味のあるMCPツール呼び出しを介することで、そのすべてがポリシーに対してチェックされます。

アーキテクチャ

IronCurtainは、異なる信頼モデルを持つ2つのセッションモードをサポートしています:

  • 組み込みエージェント(コードモード) — IronCurtain自身のLLMエージェントが、V8サンドボックス内で実行されるTypeScriptスニペットを記述します。IronCurtainは、エージェント、サンドボックス、ポリシーエンジンを制御します。すべてのツール呼び出しは、構造化されたMCPリクエストとしてサンドボックスを出て、ポリシーエンジン(allow / deny / escalate)を通過し、その後で実際のMCPサーバーに到達します。
  • Dockerエージェントモード — 外部エージェント(Claude Code、Gooseなど)が、ネットワークアクセスのないDockerコンテナ内で実行されます。IronCurtainは外部への影響を仲介します。LLM API呼び出しはTLS終端MITMプロキシ(ホストの許可リスト、偽物から本物へのキー交換)を通過し、MCPツール呼び出しは同じポリシーエンジンを通過し、パッケージインストール(npm/PyPI)は検証レジストリプロキシを通過します。

どちらのモードでも、エージェントは信頼されていません。セキュリティはモデルが指示に従うことに依存せず、境界で強制されます。

図、レイヤーごとの信頼分析、macOSプラットフォームに関する注意事項を含む完全なアーキテクチャについては、SANDBOXING.mdを参照してください。

クイックスタート

前提条件

  • Node.js 22、24、または26 — IronCurtainがテストしている偶数番号のメジャーライン(isolated-vmが必要とします。24と26はビルド済みバイナリをインストールし、Node 22はインストール時にソースからコンパイルするためC/C++ツールチェーンが必要です)。奇数番号のライン(23、25)は実行できますが未テストです — ironcurtain doctor が警告します。
  • Docker — 必須ではありませんが、最も強力な隔離を提供するDockerエージェントモードには強く推奨されます。macOS 26+(Appleシリコン)では、Apple containerが代替バックエンドとして機能します(コンテナごとにVM。そのサービスが実行されているときに自動的に使用されます — ironcurtain config の containerRuntime を参照)。
  • 少なくとも1つのLLMプロバイダー(Anthropic、Google、OpenAI)のAPIキー

インストール

グローバルCLIツールとして(エンドユーザー向け):```bash npm install -g @provos/ironcurtain

**ソースから(開発):**```bash
git clone https://github.com/provos/ironcurtain.git
cd ironcurtain
npm install

初回セットアップ

1. APIキーを設定します:```bash export ANTHROPIC_API_KEY=sk-ant-...

キーはプロジェクトルートの `.env` ファイルに置くこともできます(`dotenv` により自動的に読み込まれます)。また、`ironcurtain config` で `~/.ironcurtain/config.json` に追加することもできます。環境変数は設定ファイルの値よりも優先されます。対応: `ANTHROPIC_API_KEY`、`GOOGLE_GENERATIVE_AI_API_KEY`、`OPENAI_API_KEY`。

**2. 初回起動ウィザードを実行する**(推奨の mux パスを使用する前に明示的に実行してください。非 mux の初回 `ironcurtain start` でも自動的に実行されます):```bash
ironcurtain setup

GitHubトークンの設定、Web検索プロバイダー、モデル選択、その他の設定について順を追って説明します。選択内容を保存した ~/.ironcurtain/config.json を作成します。

IronCurtainの実行

IronCurtainには、開発者体験を重視したデフォルトポリシーが同梱されています。読み取り専用の操作は許可され、変更(書き込み、プッシュ、PR作成)は人間の承認を求めてエスカレーションされます。セットアップ後すぐに使い始められます。

ターミナルマルチプレクサ(推奨)

IronCurtainを使う際の推奨方法です。IronCurtainがすべてのツール呼び出しをポリシーエンジンを介して仲介する一方で、エージェントの対話型TUI(Claude CodeまたはGoose)の全機能を単一のターミナルで利用できます。```bash ironcurtain mux

**主な機能:**

- **完全なエージェントTUI** — エージェントはネットワークアクセスなしのDockerコンテナ内のPTYで実行されます。ローカルで実行しているのとまったく同じように操作できます。
- **インラインのエスカレーション処理** — ツール呼び出しが承認を必要とする場合、エスカレーションピッカーがビューポートにオーバーレイされ、単一キー操作(a/d/w で承認/拒否/ホワイトリスト登録)が可能になります。`/approve+ N` を使用すると、セッションの残り期間中、ドメインまたはパスをホワイトリストに登録できます。
- **信頼済みユーザー入力** — コマンドモード(Ctrl-A)で入力されたテキストは、コンテナに入る前にホスト側でキャプチャされます。これにより、自動承認者が利用できる検証済みの意図シグナルが生成されます。たとえば、「push my changes to origin」と入力すると、後続の `git_push` エスカレーションが自動承認されます。
- **タブ管理** — 複数の並行セッションを生成(`/new`)、切り替え(`/tab N`、Alt-1..9)、終了(`/close`)できます。複数のmuxインスタンスを並行して実行できます。

完全なウォークスルー(入力モード、信頼済み入力のセキュリティモデル、エスカレーションワークフロー、キーボードリファレンス)については [DEVELOPER_GUIDE.md](https://github.com/provos/ironcurtain/blob/master/DEVELOPER_GUIDE.md) を参照してください。

### 非muxセッション

`ironcurtain start` は、簡単な単発タスク、スクリプト、またはローカルの組み込みエージェントを明示的に使用したい場合に使います。通常のインタラクティブなDockerエージェント作業には、`ironcurtain mux` を使用してください。```bash
ironcurtain start "Summarize the files in ./src"     # Single-shot mode
ironcurtain start -w ./my-project "Fix the tests"    # Single-shot workspace mode
ironcurtain start --agent builtin                    # Local builtin REPL, no Docker
ironcurtain start --persona my-assistant "Check my email"  # Use a persona

その他の実行モード

IronCurtain はセッション再開 (--resume <session-id>)、レガシーな raw PTY/デバッグモード、モバイル承認用の Signal メッセージングトランスポート、そしてスケジュールされた cron ジョブ用のデーモンモードもサポートしています。デーモンには、ブラウザベースの監視とエスカレーション処理のためのオプションの Web UI (--web-ui) があります。詳細は RUNNING_MODES.md を参照してください。

マルチエージェントワークフロー

IronCurtain は構造化されたワークフローを通じて複数の AI エージェントをオーケストレーションします。同梱の 脆弱性発見 ワークフローは、段階的なハーネスパイプライン(Tier 1 単一関数 → Tier 2 複数コンポーネント → Tier 3 フルビルド)を通じてネイティブコードのメモリ安全性とロジックバグを探索し、libFuzzer/AFL++ のカバレッジゲーティング、仮説駆動型の discover/triage 状態、そして最終的な人間によるレポートレビューゲートを備えています。設計とコーディング ワークフローは、計画 / 設計 / 実装 / レビューのサイクルを実行し、こちらも人間によるゲートを備えています。各エージェントは、ロール固有のポリシー境界を持つ独自の Docker コンテナ内で実行されます。エンジンは状態遷移、成果物の受け渡し、クラッシュリジュームチェックポイントを自動的に管理します。オープンソースで、完全にあなたのマシン上で動作し、憲法ベースのポリシーエンジンを介してエージェントごとのセキュリティポリシーを強制し、あらゆる Docker コンテナ化されたエージェントと連携します — コーディングタスクにおいて Amazon Kiro や Google Jules に匹敵する規模ですが、第一級のセキュリティと拡張可能なワークフロー定義形式を備えています。

IronCurtain Web UI の脆弱性発見ステートマシン

Web UI は、ワークフロー実行のための想定されたインターフェースです。 デーモンを起動し、表示された URL を開いて、Workflows ページから実行を操作します。上記のステートマシングラフはライブで、エージェントメッセージのタイムラインはマークダウンレンダリング付きでストリーミング表示され、ゲートレビューにはワークスペース + 成果物ブラウザが含まれ、過去の実行は一覧に残ります。```bash ironcurtain daemon --web-ui

CLIアクセスは、スクリプト作成、自動化、デバッグに利用できます:```bash
ironcurtain workflow start vuln-discovery \
  "Find memory-safety bugs in libical" --workspace ~/src/libical
ironcurtain workflow start design-and-code \
  "Build a REST API with authentication"

完全なドキュメントについては WORKFLOWS.md を参照してください。

ポリシーのカスタマイズ

デフォルトのポリシーは一般的な開発に適していますが、ワークフローに合わせて調整できます:

1. 憲法をカスタマイズする(任意ですが推奨されます):```bash ironcurtain customize-policy

ワークフローに合わせた憲法を生成するLLM支援の会話で、`~/.ironcurtain/constitution-user.md` に保存されます。このファイルを直接編集することもできます。
ツールをダウンロード