Deus Witness について
Deus WitnessはAIエージェントのツール呼び出しを仲介するMCPプロキシで、署名済みの権限ルールに照らして外部のWitnessサービスが判定します。パスキー承認とオフライン検証可能な署名レシートを必要とする運用者向けで、現時点では初期段階にあり、監査は受けていません。
主な機能
- 01MCPツール呼び出しのプロキシ
- 02権限ルールに基づく許可・拒否・保留
- 03パスキー承認フロー
- 04署名付き追記専用の判定レシート
- 05JavaScriptとSwiftのオフライン検証器
活用シーン
- 01リスクの高いツール実行に事前承認を求める
- 02呼び出しが署名済みルールに沿うか確認する
- 03サービスに接続せず判定レシートを検証する
MCP 対応
stdioのMCPプロキシを別のMCPサーバーの前段に置き、ツール呼び出しの判定をホスト型Witness APIに送ります。ローカルで動作するMCPサーバーも含まれますが、承認と署名ジャーナルを扱うAPIは別途ホストされています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Deus Witness
AI エージェントのツール呼び出しを監視する証人サービスです。 エージェントは操作の前に確認を求めます。エージェントの外部にいる証人が、あなたの署名した権限規則に照らして呼び出しを確認し、allow、deny、または defer(あなたを待つ)と応答します。権限規則に基づいて下された判断は、オフラインで検証できる署名付きの追記専用レシートになります(権限規則がまだない状態での呼び出しや、レート制限超過など、自動的に拒否される一部のケースはサーバーデータベースにのみ保存されます)。つまり、「エージェントは何をし、誰が許可したのか」という問いに、信頼だけに頼ることなく答えられます。
インストールして試す(コマンド 1 つ): uvx --from deus-witness deus-witness try。または Claude Code で /plugin marketplace add sipkigroup/witness、続けて /plugin install deus-witness@sipkigroup を実行します。
MCP プロキシとして使う場合(stdio。-- の後に監視対象の MCP サーバーを指定します。同梱のデモサーバーは呼び出しをファイルに記録するだけで、実際の操作は行いません):uvx deus-witness -- deus-witness-demo-tools を実行し、DEUS_WITNESS_KEY(dwk_...。ホスト型サービスのアカウントで取得)を設定します。
- ホスト型サービス:https://witness.sipkigroup.com - ライブデモ:https://witness.sipkigroup.com/demo
- このリポジトリ:公開されている部分(レシート仕様、独立した 2 つの検証ツール、TypeScript クライアント、Python クライアント、HTTP API コントラクト(OpenAPI、データのみ))
ステータス:初期段階(0.x)。 仕様は
spec/にある個人による草案です(IETF 標準ではなく、IETF に提出されていません)。 これまでの検証は、独自のシミュレーションと、1 人の著者が仕様に基づいて個別に実装したもののみです。外部監査も導入実績もありません。 認定済みのセキュリティ境界としてではなく、テストして攻撃すべきものとして扱ってください。バイパスの報告が、皆さんから寄せていただける最も価値ある情報です。
Claude Code で試す
Claude Code 2.1.295+ と uv が必要です(curl -LsSf https://astral.sh/uv/install.sh | sh)。macOS、Linux、WSL に対応しています。
/plugin marketplace add sipkigroup/witness
/plugin install deus-witness@sipkigroup
/deus-witness:try
try は試用アカウントを作成し、ブラウザーでページを開きます。確認が必要な最初のツール呼び出しでは、処理が待機します。ページでパスキーによるタッチ操作を 2 回行うよう求められます(1 回目でパスキーを作成し、2 回目で推奨ルールに署名します)。その後、その呼び出しが判断されます。許可、拒否、またはもう 1 回のタッチを求める画面が表示されます。最初のタッチを行うまでは、呼び出しは最大 90 秒待機した後、拒否されます(TRIAL_NOT_CLAIMED)。タッチ操作を終えてから、もう一度呼び出してください。試用アカウントでは電話通知は利用できません。呼び出しへの対応は、そのページでお待ちください。継続利用しない試用アカウントは 7 日後に削除されます。
/plugin install を実行するとプラグインパネルが開きます。スコープを選択してインストールしてください。案内が表示された場合は、/reload-plugins を実行します。
プラグインを使わない場合:uvx --from deus-witness deus-witness try(pip install deus-witness は Python 3.10+ の仮想環境でのみ使用してください)。
ここにあるもの
| パス | 内容 | ライセンス |
|---|---|---|
spec/ | アクションレシートの仕様ドラフト(draft-deus-aar-05、履歴、正誤表を含む)とテストベクトル(spec/vectors) | Apache-2.0 |
verifier_js/ | 仕様に基づいて作成された JavaScript の検証ツール | Apache-2.0 |
verifier_swift/ | 仕様に基づいて作成された Swift の検証ツール(ソース。./build.sh でビルド) | Apache-2.0 |
sdk-ts/ | @deus-witness/sdk(npm):依存関係のない TypeScript クライアント | Apache-2.0 |
python/ | deus-witness(PyPI):Python の薄型クライアント — MCP プロキシ、Claude Code フック、doctor、SDK。レジストリ名は io.github.sipkigroup/witness | Apache-2.0 |
contract/ | HTTP API コントラクト(OpenAPI)、WebAuthn 署名プロファイル、コントラクトのスタブ | Apache-2.0 |
plugins/deus-witness/ + .claude-plugin/marketplace.json | Claude Code プラグイン:フックを 1 つのインストールコマンドで導入 | Apache-2.0 |
integrations/ | 例:Vercel AI SDK、curl | Apache-2.0 |
docs/ | チーム、復旧、アンカー、レシートの検証 | Apache-2.0 |
このリポジトリ内のものはすべて Apache-2.0 で、ローカルで実行できます: 完全な MCP サーバー(deus-witness-mcp。任意の MCP サーバーの前段に配置する stdio プロキシ)、Claude Code フックとプラグイン、オフライン検証ツール、仕様が含まれます。
このリポジトリに含まれないもの: MCP サーバーが呼び出すホスト型 Witness API。これは、API を利用する他の MCP サーバーが API を呼び出すのと同様です(パスキー承認、署名付きジャーナル)。この API は作者が運用しており、このライセンスの対象ではありません。API が発行するパックはここにある検証ツールでオフライン検証できるため、API を信頼する必要はありません。
spec/ と contract/ を使って、独自の Witness を実装できます。
使用方法
Claude Code:上記の 3 つのコマンドを使います(1 ステップで実行する形式の /plugin install deus-witness --marketplace sipkigroup/witness も Claude Code 2.1.275 以降で利用できます)。plugins/deus-witness/README.md を参照してください。
ホスト型サービスは https://witness.sipkigroup.com にあります。TypeScript の場合:npm install @deus-witness/sdk(sdk-ts/README.md を参照)。Python から利用する場合、または任意の MCP サーバーを Witness の背後に配置する場合:pip install deus-witness(venv 内の Python 3.10 以降)、またはインストールせずに uvx deus-witness -- <your MCP server command> を実行します(MCP Registry:io.github.sipkigroup/witness。詳細は python/README.md を参照。セットアップ:https://witness.sipkigroup.com/dl/docs/quickstart.html)。
その他の言語の場合:HTTP を使用してください。詳細は contract/openapi.yaml と integrations/ を参照してください。
正直な制限事項
- Witness は、ツールマップとオペレーターの説明に記載された内容を超えて、アクションが 実際に 何をするのか知ることはできません。呼び出しがユーザーの委任内容に沿っているかを確認します。Witness を経由しないルートは対象外です。
- TypeScript クライアントは、まだレシートの署名を検証しません(ここにある検証ツールは検証します)。このクライアントを通じて確認した
allowが、暗号学的に検証済みだと見なさないでください。 - Witness に接続できない場合、呼び出しはブロックされる必要があります(フェイルクローズ)。これは可用性を犠牲にする安全性上の選択です。
レシートを自分で検証する
python3 spec/vectors/check_vectors.py # the abstract spec vectors through the reference model of the spec (no dependencies)
(cd verifier_js && npm ci && npm test) # the same vectors through the JavaScript verifier
(cd verifier_swift && ./build.sh && ./aarc --quiet --extra extra-vectors)
2 つの実装でベクトルの検証結果が一致しない場合、どちらか(または仕様)が誤っています。そのベクトルを添えて issue を作成してください。
セキュリティ、コントリビューション、ライセンス
- 脆弱性については
SECURITY.md([email protected])を参照してください。コントリビューションについてはCONTRIBUTING.mdを参照してください。 - Apache License 2.0(
LICENSE、NOTICE)。Copyright 2026 Sipki LLC.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。