AegisCore について
AegisCoreは、AIエージェントのツール操作案を実行前にスキーマと決定論的ポリシーで検査するゼロトラストゲートウェイです。隔離実行、個人情報のトークン化、人間による承認、改ざん検知可能な監査台帳を備えています。
主な機能
- 01スキーマ検証と不変条件ポリシー
- 02環境を消去した隔離実行境界
- 03個人情報のトークン化と保管庫の消去
- 04高リスク操作の人間による承認
- 05Merkleチェーン検証付きWORM台帳
活用シーン
- 01注入やスキーマ外のツール要求の拒否
- 02取引上限とデータアクセス規則の適用
- 03監査記録前の個人情報のマスキング
- 04エージェント操作の改ざん検知記録の確認
MCP 対応
AegisCoreはネイティブのstdio MCPサーバーを提供し、MCPクライアントがポリシーで制御されたツール実行境界にアクセスできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🛡️ AegisCore:AI エージェント向けゼロトラスト決定論的ガバナンスエンクレーブ
AegisCore は、オープンソースのリバースプロキシ、決定論的な不変条件ポリシーエンクレーブ、自律型 AI エージェント向けの暗号学的 WORM 監査台帳です。モデルのツール呼び出しを傍受し、厳格なスキーマと決定論的不変条件に照らして検証したうえで、承認されたアクションのみを隔離境界内で実行します。
📺 ターミナルでのデモとシナリオの詳細解説
🎯 特定シナリオのデモ(クリックして展開)
シナリオ 01:モデルツールの乗っ取りとデータ流出への対策
脅威ベクトル:間接的なプロンプトインジェクションにより、自律型エージェントが
users.credentialsをダンプするよう指示されます。
AegisCore の防御:$<2\text{ ms}$で決定論的に境界で拒否し、ホストデータベースへのCPUサイクル消費もソケット接続もゼロです。
実際に実行する場合: node --experimental-strip-types scripts/demo-scenario-1.js
シナリオ 02:処理中の DPDP 個人情報マスキングと暗号学的消去
脅威ベクトル:エージェントが個人識別情報(インドの PAN/Aadhaar)を処理するため、インドの DPDP 法に基づく法定の消去権と抵触します。
AegisCore の防御:WORM 台帳への記録前に、処理中のデータをソルト付きでトークン化します。shredVault()により、暗号学的な Merkle チェーンを100%保持したまま、完全な消去を実現します。
実際に実行する場合: node --experimental-strip-types scripts/demo-scenario-2.js
シナリオ 03:暗号学的 Merkle チェーンと改ざん検知可能な監査
脅威ベクトル:不正なアクションを隠すため、エージェントの実行ログが後から改ざんされます。
AegisCore の防御:暗号学的な SHA-256 ブロック走査により Genesis まで遡れる、追記専用の Write-Once-Read-Many(WORM)台帳を使用します。1ビットでも変更されると、チェーンの検証に失敗します。
実際に実行する場合: node --experimental-strip-types scripts/demo-scenario-3.js
📦 開発者向けパッケージと配布
| パッケージ | 言語/プロトコル | ステータス | 説明 |
|---|---|---|---|
@aegiscore-ai/core | Node.js / TypeScript (v0.1.3) | 利用可能 | コアの決定論的エンジン、WORM 台帳、バンドルされたポリシー、HTTP ゲートウェイデーモン |
@aegiscore-ai/sdk | TypeScript (v0.1.3) | 利用可能 | OpenAI のツール呼び出し、LangGraph、MCP に完全対応した、依存関係ゼロのクライアント |
aegiscore-ai | Python (>=3.8, v0.1.3) | 利用可能 | LangGraph、CrewAI、AutoGen 用の依存関係ゼロの Python クライアント(pip install aegiscore-ai) |
| MCP Adapter | JSON-RPC Stdio | 利用可能 | Claude Desktop、Cursor、LibreChat 向けのネイティブサイドカー |
| DPDP Guide | ドキュメント | 完了 | インドの DPDP Act 2023 への準拠アーキテクチャと暗号学的消去 |
| Audit Report | セキュリティと監査 | 認証済み (v0.1.2) | 外部による本番運用準備状況の監査、DevSecOps レポート、実測ベンチマーク |
| Show HN | コミュニティ | 準備完了 | Hacker News のローンチ記事と技術的な解説 |
⚡ 実測パフォーマンスとセキュリティ監査 (v0.1.2)
AegisCore は、本番運用準備状況のエンドツーエンド監査、障害分離分析、高並行性ストレステスト、敵対的侵入テスト(SkillSpector 静的解析と PentAGI 形式の敵対的回避プローブ)を受けました。完全な監査・検証レポートは AUDIT_REPORT.md をご覧ください。
検証済みマイクロベンチマーク (v0.1.2)
| ベンチマーク指標 | 測定値 | 運用上の影響 |
|---|---|---|
| コールドスタート時間 | 0.291 ms | JVM/Python ランタイムのウォームアップなしで、コンテナーを即座に起動 |
| P50(中央値)パイプラインオーバーヘッド | 58.2 µs (0.058 ms) | エージェントループのレイテンシへの影響はミリ秒未満で無視できるほど小さい |
| 平均実行オーバーヘッド | 78.1 µs (0.078 ms) | 不変条件の完全な検証、PII のトークン化、Merkle チェーン処理 |
| インメモリーゲートウェイのスループット | >12,500 req/sec | スレッド競合なしで、高並行性のイベントループを持続 |
| メモリ使用量の増加(1k reqs) | +1.30 MB Heap | メモリ制約のあるエッジサイドカーに適した、十分に抑制された GC 負荷 |
| WORM 台帳の改ざん検知 | 100% 決定論的 | Genesis ハッシュポインターから、改変されたエントリーの正確なインデックスを特定 |
| SkillSpector セキュリティスコア | リスクスコア 0(検出事項 0 件) | 公式の Model Context Protocol Registry への準拠が認証済み |
ヒント
本番運用準備スコア:9.8 / 10(エンタープライズ)、9.9 / 10(スタートアップ)、9.9 / 10(OSS)。
SEC-01 から SEC-09 までの修正(プロトタイプ汚染対策、深いネストによる DoS の保護、永続セッションのレート制限、フェイルクローズ方式の CLI 監査検証、小文字の PII トークン化、大文字・小文字を区別しない制裁措置の適用、正ではない値および有限ではない値の送金境界)は、Releasev0.1.2でテスト合格率 100% により検証済みです。詳細はAUDIT_REPORT.mdをご覧ください。
⚡ 中核となる課題:プロンプトガードレールが機能しない理由
最新の AI エージェントアーキテクチャでは、モデルの意図がツールの実行に直接結び付けられています。開発者は、生のデータベース接続、決済 API の認証情報、書き込み権限を LLM エージェントのランタイムに直接渡します。
[User / Jailbreak Prompt] ──> [LLM Model Weights] ──> [Direct Tool Execution] ──> 🔥 Disaster
プロンプトガードレールではセキュリティを保証できない理由:
- 確率的な非決定性:システムプロンプト(
"Never delete user records")は確率的な提案であり、数学的な保証ではありません。敵対的なジェイルブレイク、間接的なプロンプトインジェクション、コンテキストのずれによって、プロンプトの指示は日常的に回避されます。 - 認証情報の拡散:ツールをエージェントに直接与えると、インフラストラクチャのシークレット、データベースのパスワード、サードパーティ API キーがモデルのランタイムにさらされます。
- 取り消せない変更:LLM が範囲外の送金や破壊的な
DROP TABLEを幻覚した場合、損害は取り消せません。
AegisCore の解決策:意図と実行の厳格な分離
AegisCore は、エージェントから実行権限をすべて取り除きます。エージェントが生成するのは意図の提案のみです。AegisCore は、後続のコードが実行される前に、決定論的なゼロトラストポリシーエンクレーブを通じて提案を評価します。
AEGIS-CORE GATEWAY ENCLAVE
┌────────────────────────────────────────┐
│ 1. DPDP PII Tokenizer & Vault │
│ 2. Strict Schema Quarantine │
[Agent Intent] ──(Proposal)──>│ 3. Invariant Engine (Rate / Bounds) │──(Only if APPROVED)──> [Isolated Execution Boundary]
│ 4. WORM Cryptographic Merkle Chain │ │ (Sanitized Env / Timeout)
│ 5. Asynchronous HITL Escalation Gating │ ▼
└────────────────────────────────────────┘ [Real Backend / DB / API]
📊 中核アーキテクチャ
+-------------------------------------------------------------+
| AI AGENT LOOP |
| (LangGraph / MCP / Raw OpenAI) |
+-------------------------------------------------------------+
|
(POST /v1/gateway/dispatch)
v
+-------------------------------------------------------------------------------------------+
| AEGIS-CORE GATEWAY PIPELINE |
| |
| [Step 1: PII Sanitizer] ──> Detects PAN, Aadhaar, Phone, Email & tokenizes via salt |
| [Step 2: Schema Validate] ──> Enforces strict types; extra fields fail closed |
| [Step 3: Policy Engine] ──> Invariants: param_boundary, rate_limit, disallowed_targets |
| |
| | | | |
| | (BLOCKED) | (REQUIRES_HITL) | (APPROVED) |
| v v v |
| [WORM Ledger Entry] [HITL Challenge Created] [WORM Ledger Entry]|
| Return 403 Forbidden Wait for Supervisor Signoff Dispatch to Sandbox |
+------------------------------------------------------------------------------|------------+
v
+---------------------------------+
| ISOLATED SANDBOX RUNNER |
| - process.env secrets scrubbed |
| - Hard safety timeout abort |
| - Stack trace leak isolation |
+---------------------------------+
|
v
[Protected Real System]
🚀 60 秒で始めるクイックスタート
オプション A:ローカル CLI
# Clone and verify
git clone https://github.com/Sandeep-Hipparagi/aegis-core.git
cd aegis-core
# Run full test suite (37 tests across 10 suites)
npm test
# Start HTTP Gateway daemon on port 8080
node --experimental-strip-types bin/aegis.ts start --port 8080
オプション B:Docker Compose
# Spin up AegisCore gateway with persistent audit volume
docker compose up -d
# Check health
curl http://localhost:8080/health
# {"status":"healthy","version":"0.1.1"}
オプション C:銀行業務の不変条件のデモを実行
npm run demo:banking
🧩 Model Context Protocol(MCP)との統合
AegisCore は、ネイティブの stdio Model Context Protocol(MCP)サーバーを提供します。
Claude Desktop のセットアップ
Claude Desktop の設定(claude_desktop_config.json)に AegisCore を追加します。
macOS / Linux:
{
"mcpServers": {
"aegiscore": {
"command": "node",
"args": ["--experimental-strip-types", "/path/to/AegisCore/bin/aegis.ts", "mcp"]
}
}
}
Windows:
{
"mcpServers": {
"aegiscore": {
"command": "node",
"args": ["--experimental-strip-types", "C:\\Users\\username\\Downloads\\AegisCore\\bin\\aegis.ts", "mcp"]
}
}
}
Cursor IDE のセットアップ
Cursor の「Settings ➔ Features ➔ MCP Servers ➔ Add New MCP Server」で、次のように設定します。
- 名前:
AegisCore - タイプ:
command - コマンド:
node --experimental-strip-types <PATH_TO_AEGISCORE>/bin/aegis.ts mcp
💎 機能比較表
| 機能 | AegisCore の保証 | 従来のプロンプトガードレール |
|---|---|---|
| スキーマ隔離 | フェイルクローズ。 余分なフィールドや挿入されたフィールドがあると、直ちに REJECTED_SCHEMA をスローします。 | プロンプトインジェクションによるパラメーターの密輸に対して脆弱です。 |
| 不変条件ポリシーエンジン | 決定論的。 数学的なルール(例:amount <= 10000、最大 5 回/分)を適用します。 | 会話が長くなるにつれて劣化する確率的な指示です。 |
| DPDP 準拠 | 自動化。 Aadhaar、PAN、電話番号、メールアドレスをトークン化し、保管庫を細断します。 | 生の PII がモデルのコンテキストやログに恒久的に漏えいします。 |
| WORM 監査台帳 | 暗号学的な Merkle チェーン。 SHA-256 ハッシュチェーンにより、あらゆる改ざんを検知します。 | 変更可能で、チェーン化されていないプレーンテキストのログファイルです。 |
| エフェメラルサンドボックス | クリーンアップされた環境。 process.env からキーを除去し、タイムアウトガードを適用します。 | LLM に完全な環境とネットワークソケットへのアクセスを与えます。 |
| 非同期 HITL ゲート制御 | 暗号学的なゲート制御。 高リスクのアクションは署名されるまで PENDING 状態で保留されます。 | 「ユーザーに確認してください」というプロンプトは、プロンプトインジェクションで簡単に回避されます。 |
🛡️ 事前設定済みポリシーパック
AegisCore には、/policies にエンタープライズ向けポリシーパックが含まれています。
policies/dpdp-india.json:インドの Digital Personal Data Protection Act を適用します。顧客データの一括エクスポートを制限し、マスキングされていない ID テーブルへのアクセスをブロックし、顧客プロファイルの消去にはデータ保護責任者の承認を必須とします。policies/fintech-guardrails.json:取引上限を適用し、使用可能な通貨(USD、EUR、INR、GBP)をホワイトリストに登録します。また、$25,000 を超える取引には、二重管理体制の監督者による承認を必須とします。policies/banking-policy.json:自律的な送金を $10,000 までに制限し、制裁対象またはブラックリスト登録済みの送金先をブロックし、中額の送金をエスカレーションします。policies/data-governance.json:破壊的な DDL 文(DROP TABLE、TRUNCATE)と、許可されていないアカウントの削除を禁止します。
📜 HTTP ゲートウェイ API リファレンス
POST /v1/gateway/dispatch
評価と実行のため、インテントの提案を送信します。
curl -X POST http://localhost:8080/v1/gateway/dispatch \
-H "Content-Type: application/json" \
-d '{
"tool": "transfer_funds",
"parameters": {
"amount": 250,
"recipient": "ACC-SUPPLIER-01"
},
"context": {
"sessionId": "sess-prod-001",
"agentId": "copilot-agent",
"role": "finance-operator"
}
}'
POST /v1/hitl/challenges/:ticketId/resolve
保留中のヒューマン・イン・ザ・ループ承認チャレンジを解決します。
curl -X POST http://localhost:8080/v1/hitl/challenges/hitl-uuid-1234/resolve \
-H "Content-Type: application/json" \
-d '{
"decision": "APPROVED",
"approverSignature": "sig-compliance-officer-99"
}'
GET /v1/audit/integrity
台帳の Merkle チェーンの整合性を暗号学的に検証します。
curl http://localhost:8080/v1/audit/integrity
# {"isValid":true}
🤝 コントリビューション
コミュニティからの貢献を歓迎します!ローカル環境のセットアップ、ゼロトラストの不変条件、プルリクエストのガイドラインについては、CONTRIBUTING.mdをご確認ください。
📄 ライセンス
Apache License 2.0 の下でライセンスされています。詳細はLICENSEをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。