mcpField
D
Deus Witness

Deus Witness

ローカル
witness.sipkigroup.comセキュリティ0今日更新

Deus Witness について

Deus WitnessはAIエージェントのツール呼び出しを仲介するMCPプロキシで、署名済みの権限ルールに照らして外部のWitnessサービスが判定します。パスキー承認とオフライン検証可能な署名レシートを必要とする運用者向けで、現時点では初期段階にあり、監査は受けていません。

主な機能

  1. 01MCPツール呼び出しのプロキシ
  2. 02権限ルールに基づく許可・拒否・保留
  3. 03パスキー承認フロー
  4. 04署名付き追記専用の判定レシート
  5. 05JavaScriptとSwiftのオフライン検証器

活用シーン

  1. 01リスクの高いツール実行に事前承認を求める
  2. 02呼び出しが署名済みルールに沿うか確認する
  3. 03サービスに接続せず判定レシートを検証する

MCP 対応

stdioのMCPプロキシを別のMCPサーバーの前段に置き、ツール呼び出しの判定をホスト型Witness APIに送ります。ローカルで動作するMCPサーバーも含まれますが、承認と署名ジャーナルを扱うAPIは別途ホストされています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"sipkigroup-witness": {
"command": "uvx",
"args": [
"deus-witness"
],
"env": {
"DEUS_WITNESS_KEY": "<DEUS_WITNESS_KEY>",
"DEUS_WITNESS_URL": "<DEUS_WITNESS_URL>"
}
}
}
}
起動コマンドuvx deus-witness
設定が必要な環境変数
DEUS_WITNESS_KEYシークレットAgent key (dwk_...) created in your Deus Witness account.
DEUS_WITNESS_URLWitness service URL.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypideus-witness0.2.46

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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/witnessApache-2.0
contract/HTTP API コントラクト(OpenAPI)、WebAuthn 署名プロファイル、コントラクトのスタブApache-2.0
plugins/deus-witness/ + .claude-plugin/marketplace.jsonClaude Code プラグイン:フックを 1 つのインストールコマンドで導入Apache-2.0
integrations/例:Vercel AI SDK、curlApache-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 を作成してください。

セキュリティ、コントリビューション、ライセンス

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。