Carapace について
Carapaceは、自律型AIエージェント向けのローカル優先のセキュリティシステムです。ルールの適用と目標への準拠を求めるユーザー向けに、アクション確認、ローテーション鍵による検証、ログ、逸脱検出、セッション評価をローカルで行います。
主な機能
- 01ユーザー設定のルールでアクションを確認
- 02ローテーションHMAC鍵でアクションを検証
- 03エージェントの目標を固定して監視
- 04アクションを記録し未検証操作を通知
- 05セッションを評価してインサイトを生成
活用シーン
- 01ルール外の支出やメッセージを遮断
- 02エージェントのタスク逸脱を検知
- 03セッション後にアクションを確認
- 04セッションの知見を次の作業に反映
MCP 対応
CarapaceはローカルでMCPサーバーとして動作し、互換エージェントにアクション検証、目標の固定、ログ記録、状態確認、セッション評価の5つのツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Carapace MCP サーバー
AI エージェントを守る鎧。
Carapace は、自律型 AI エージェントのためのローカルファーストなセキュリティシステムです。MCP 互換エージェント(OpenClaw、Claude Code、Codex など)に接続し、セキュリティ検証、目標の固定、逸脱の検出、アクションの記録、セッションの評価を提供します。すべてがお使いのマシン上で動作し、クラウドへの依存は一切ありません。
問題
自律型 AI エージェントは、メールの送信、購入、ファイルの削除、ウェブの閲覧といった実際のアクションを実行できます。この能力には、2 つの重大なリスクが伴います。
プロンプトインジェクション - メール、ウェブページ、ドキュメントに隠された悪意のある指示によって、エージェントは許可していないアクションを実行するよう仕向けられます。CrowdStrike と Cisco は、OpenClaw ユーザーにこの問題が発生しているとして、どちらも警告を発表しています。
目標の逸脱 - エージェントは受信トレイの整理を始めたのに、リンクをたどるうちに集中力を失い、3 時間後には Reddit を閲覧しています。悪意によるものではなく、持続的に目標を意識させる仕組みがないだけです。
Carapace はこの両方を解決します。
仕組み
Carapace はお使いのマシン上で MCP サーバーとして動作します。エージェントが接続し、アクションの実行前、実行中、実行後にツールを呼び出します。
セキュリティチェックポイント - 金銭の支出、メッセージの送信、ファイルの削除など、機密性の高いアクションを実行する前に、エージェントは Carapace に確認します。ルール(「50 ドルを超える支出はしない」「この人たちには絶対にメッセージを送らない」など)は自分で設定できます。Carapace はルールに違反するアクションをブロックします。
ローテーションキーによる乗っ取り防止 - 30 分ごとに、Carapace はエージェントのコンテキストウィンドウに一度も入らないシークレットを使って、暗号学的な検証キーを生成します。本物のエージェントはキーを持っています。プロンプトインジェクションでキーを偽造することはできません。会場で用心棒がリストバンドを確認するようなものです。
目標の固定 - 15 分ごとに、Carapace は目標、優先事項、制約をエージェントに再提示します。エージェントがタスクから外れたことを検出し、問題になる前に逸脱を警告します。
セッションの評価 - 各セッションの終了時に、Carapace は設定された目標に照らしてエージェントのパフォーマンスを評価します。目標との整合性、セキュリティルールの遵守、制約の順守を採点します。次のセッションに反映される、実行可能な改善案を生成し、エージェントの能力を継続的に高めます。
ツール
Carapace は Model Context Protocol を介して 5 つのツールを公開します。
| ツール | 目的 |
|---|---|
carapace_verify | セキュリティチェックポイント。ルールに照らしてアクションを検証し、ローテーションキーとともに許可/ブロックの判定を返します。 |
carapace_anchor | 目標ジャーナル。目標、優先事項、制約を返します。エージェントのアクティビティを設定済みのカテゴリと比較して、逸脱を検出します。 |
carapace_log | アクションロガー。エージェントが実行した内容を記録し、検証されていない機密性の高いアクションに警告を付けます。 |
carapace_status | セキュリティ体制の概要。ヘルスステータス、アクション数、キーのローテーション時期、逸脱レベルを表示します。 |
carapace_review | セッション評価ツール。すべてのアクションを目標に照らして分析し、評価、注目点、改善案を含むスコアカードを作成します。 |
インストール
git clone https://github.com/jdesl55/carapace-mcp.git
cd carapace-mcp
npm install
npm run build
初回起動時に、Carapace は設定、データベース、セキュリティシークレットを含む ~/.carapace/ を作成します。
OpenClaw に追加する
OpenClaw の MCP 設定(~/.config/openclaw/mcp.json)に追加します。
{
"mcpServers": {
"carapace": {
"command": "node",
"args": ["/path/to/carapace-mcp/dist/index.js"]
}
}
}
MCP Inspector でテストする
npx @modelcontextprotocol/inspector node dist/index.js
設定
すべての設定は ~/.carapace/config.json に保存されます。手動で編集するか、視覚的なインターフェイスとして Carapace Dashboard を使用してください。
{
"security": {
"keyRotationMinutes": 30,
"spendingLimits": {
"perAction": 50,
"daily": 200,
"warnAbove": 20
},
"contacts": {
"mode": "blocklist",
"blocked": ["[email protected]"]
},
"domains": {
"mode": "blocklist",
"blocked": []
},
"blockedActions": [],
"customRules": []
},
"anchor": {
"refreshIntervalMinutes": 15,
"goals": ["Manage inbox and respond to important emails"],
"priorities": [{ "rank": 1, "text": "Never spend money without confirmation" }],
"constraints": ["Never share personal information with unknown contacts"],
"goalCategories": ["email", "calendar", "productivity"]
}
}
アーキテクチャ
┌─────────────────┐ ┌──────────────────────┐ ┌─────────────────┐
│ AI Agent │────▶│ Carapace MCP Server │────▶│ ~/.carapace/ │
│ (OpenClaw) │◀────│ (local, stdio) │◀────│ config.json │
└─────────────────┘ └──────────────────────┘ │ logs.db │
│ .secret │
┌─────────────────┐ │ insights.md │
│ Dashboard │──────────────────────────────────▶│ │
│ (localhost) │◀──────────────────────────────────│ │
└─────────────────┘ └─────────────────┘
MCP サーバーとダッシュボードは完全に分離されています。両者は共有ローカルファイルを介して通信し、直接通信することはありません。ダッシュボードが設定を書き込み、サーバーがそれを読み込みます。サーバーがログを書き込み、ダッシュボードがそれを読み込みます。
ローカルファイル
| ファイル | 目的 | 書き込み元 | 読み込み元 |
|---|---|---|---|
~/.carapace/config.json | セキュリティルール、目標、優先事項 | ダッシュボード | MCP サーバー |
~/.carapace/logs.db | アクションログ、セッションレビュー | MCP サーバー | ダッシュボード |
~/.carapace/.secret | HMAC 署名キー(権限 600) | MCP サーバー | MCP サーバーのみ |
~/.carapace/insights.md | エージェント改善のためのセッションからの学び | MCP サーバー | エージェント(セッション開始時) |
フィードバックループ
Carapace は、エージェントの継続的な改善サイクルを作ります。
- エージェントが作業する - アクションを実行し、Carapace がすべてを記録します
- セッションが終了する -
carapace_reviewが目標に照らしてセッションを評価します - インサイトが生成される - 実行可能な学びが
insights.mdに書き込まれます - 次のセッションが始まる - エージェントが
insights.mdを読み、学びを取り入れます - エージェントが改善する - 特定のタスクに対する対応力が段階的に向上します
エージェントが記憶したり、自ら改善したりする必要はありません。Carapace は外部から動作を観察し、構造化された指示をエージェントにフィードバックします。
ダッシュボード
ルールの設定、目標の編集、アクティビティの監視、パフォーマンスのスコアカードの確認に使えるビジュアルインターフェースについては、Carapace Dashboardをご覧ください。
技術スタック
- TypeScript / Node.js
- MCP SDK(
@anthropic-ai/sdk) - ローカルログ記録に better-sqlite3
- ローテーションキーの検証に HMAC-SHA256
- コアセキュリティ操作に外部依存関係なし
ライセンス
MIT
セキュリティ
Carapace はセキュリティツールです。脆弱性を発見した場合は、GitHub issue を作成するか、メンテナーに直接連絡して、責任ある方法で報告してください。
HMAC シークレット ~/.carapace/.secret は、ファイル権限 600(所有者のみ読み書き可能)で作成されます。エージェントのコンテキストウィンドウに入ることはなく、ネットワーク経由で送信されることもありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。