Agent Verify について
Agent Verifyは、デプロイ前のAIエージェントやパッケージを静的解析し、権限、MCP接続、実行制御、シークレット、設定、依存関係を調べます。CLI、CI、API、ダッシュボードから証拠に基づく検証結果を得られます。
主な機能
- 01エージェントの静的セキュリティ検査
- 02MCP接続とツールの解析
- 03VERIFIEDなど3段階の判定
- 04CIモードとGitHub Action
- 05ポリシープロファイルとスキャンレポート
- 06SHA-256フィンガープリントと署名付き証明
活用シーン
- 01本番投入前のエージェントパッケージ審査
- 02MCPアクセスと実行制御の確認
- 03CIでの変更ゲート設定
- 04セキュリティポリシーに基づく証拠評価
MCP 対応
エージェントの静的解析の一環として、MCPサーバー接続と公開される機能を評価します。提出されたエージェントを実行することはありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 3 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| path | string | はい | スキャンするファイルまたはフォルダー。相対パスは現在のプロジェクトを基準に解決されます。 |
詳細
Agent Verify
デプロイ前に、AI エージェントに何ができるかを把握しましょう。
Agent Verify は、AI エージェントまたはエージェントパッケージの権限、ツール、MCP 接続、実行制御、シークレット、ランタイム設定、依存関係を検査し、エージェントが本番環境に到達する前に、証拠とともに VERIFIED または NOT VERIFIED の結果を提示します。
従来のセキュリティツールはソフトウェアをスキャンします。Agent Verify は、AI エージェントが何に接続されているか、そしてその接続によって実際にどのような操作が可能になるかも調べます。正当な認証情報、有効な API アクセス、承認済みのツールであっても、組み合わさることで、エージェントに決して許可されるべきではない操作が可能になることがあります。
Agent Verify は、独自の検証エンジンを基盤とするオープンソースの CLI、CI、ウェブ連携、API ツールを提供します。詳しくはプライバシーと独自スキャナーの境界をご覧ください。
アーキテクチャ
Dashboard ─┐
CLI ───────┼──► Worker API ──► server-side entitlement & scan quota ──► private scanner engine
API ───────┘ │
└──► D1 (billing/quota) · Firestore (reports, orgs, audit log)
ダッシュボード、CLI、直接の API 呼び出しのいずれからでも、すべてのスキャンは同じ認証済み Worker ルートと、サーバー側で管理される同じ月間クォータを通ります。製品内にクライアント側のみ、またはローカルストレージに基づくスキャン回数カウンターはなく、検出エンジンがブラウザーのコードで直接実行されることもありません。この境界の適用と検証については、ウェブアプリおよびプライバシーと独自スキャナーの境界をご覧ください。
このリポジトリに含まれるもの — オープンソースと独自コンポーネント
| コンポーネント | 場所 | ライセンス |
|---|---|---|
| ウェブアプリ(ダッシュボード、レポート、ランディングページ) | apps/web | オープンソース(このリポジトリ、MIT) |
CLI / SDK(npm の agentverify) | packages/cli | オープンソース(このリポジトリ、MIT) |
| Cloudflare Worker API | workers/api | オープンソース(このリポジトリ、MIT) |
検出エンジン(@agentverify/scanner) | packages/scanner | 独自 — このリポジトリには含まれていません |
クイックスタート — CLI
npm install -g agentverify
agentverify scan ./agents --key av_your_key
https://aimodularity.com/agentverify/ でサインインした後、ダッシュボード → API access から API キーを取得してください。API コントラクト、CI/CD 連携、JSON 出力形式など、完全なドキュメントはこちらです:https://aimodularity.com/agentverify/docs/
agentverify --help
agentverify --version
agentverify scan ./agents --key av_your_key # scan a directory
agentverify scan --file agent.json --key av_your_key # scan a single file
agentverify scan ./agents --key av_your_key --ci # CI mode, strict exit codes
agentverify scan ./agents --key av_your_key --ci --policy standard # + policy evaluation
CI の終了コードにより、実際のセキュリティ上の失敗と実行上の問題を区別できます。
| コード | 意味 |
|---|---|
0 | スキャンしたすべてのファイルが検証済み |
1 | NOT_VERIFIED — 実際のセキュリティ/検証上の失敗 |
2 | NOT_ASSESSED — 判定に必要な証拠が不十分 |
3 | 実行エラー — API キーが不正または未設定、ネットワーク障害、ファイルが見つからない(セキュリティ上の検出事項ではありません) |
GitHub Action
- uses: AI-Blockchain-Ventures/[email protected]
with:
path: ./agents
api-key: ${{ secrets.AGENTVERIFY_API_KEY }}
完全なリファレンスについては、docs/github-action.mdをご覧ください。Markdown/JSON 出力モード、PR コメントの投稿、ブランチ保護、CI でのポリシー評価について説明しています。
ウェブアプリ
ダッシュボード(apps/web)では、CLI と同じ Worker API を利用して、スキャン履歴、レポート共有、チェックカタログ、ポリシープロファイル、組織/チーム管理(ロール:Owner/Admin/Member/Viewer)を提供します。ダッシュボードでのスキャンはすべて、CLI や API のスキャンと同様にサーバー側で計上され、クライアント側で実行または計上されることはありません。
Agent Verify の分析対象
権限とツールへのアクセス、MCP サーバー接続とそれらが公開する内容、実行/認可制御、シークレットと認証情報の取り扱い、ランタイム設定、依存関係を分析します。送信されたコンテンツの静的解析であり、ライブサンドボックスでの実行ではありません。
検証結果
- VERIFIED — 十分な実行コンテキストが評価され、必須の信頼性制御に合格しました。
- NOT VERIFIED — 十分な実行コンテキストが評価されましたが、1 つ以上のセキュリティ制御またはプロトコル制御に失敗しました。
- NOT ASSESSED — 提出されたコンテンツに、判定に必要なエージェント実行コンテキストが不足していました。これはセキュリティ上の失敗ではなく、VERIFIED と解釈してはなりません。
すべての検出結果には、その導出方法を示すラベルも付与されます。definite(具体的なパターンに一致)、heuristic(コンテキストから推測。誤検知または見逃しの可能性あり)、informational(中立的な所見)です。Agent Verify は静的解析を行い、提出されたコードを実行することはありません。そのため、確認できないことについても明示します。詳しくは、以下の制限事項をご覧ください。
アーティファクトのフィンガープリント/署名付き証明
スキャンごとに、スキャン対象の正確なコンテンツから SHA-256 アーティファクトフィンガープリントが算出されます。同一のコンテンツであれば、実行時期やルールセットの変更にかかわらず、常に同じフィンガープリントが生成されます。サーバー側の署名が設定されている場合、スキャン結果には、判定、スコア、フィンガープリントに対する 署名付き証明(ECDSA P-256/ES256)を含めることができます。これにより、公開鍵が公開されていれば、共有秘密情報も検証時の Agent Verify API への信頼も必要とせず、第三者が独立して検証できます。
ポリシー
組み込みのポリシープロファイル(standard、high-security、financial-agent、production-infrastructure)は、スキャンの基本判定に代わるものではなく、それに加えて、スキャンの証拠に照らして評価できます。スキャンが VERIFIED でも、より厳格なポリシーには不合格となる場合があります。ただし、ポリシーによって NOT_VERIFIED のスキャンが合格になることはありません。CLI では --policy <id> を、GitHub Action では policy 入力を指定してください。
セキュリティモデル
課金、クォータ、認証はサーバー側で管理されます。全体的なアーキテクチャについては、docs/billing-setup.mdをご覧ください。Webhook ペイロードは署名を検証したうえで冪等に処理され、組織の変更操作にはサーバー側で RBAC が適用されます(クライアントから提供されたロールを信頼することはありません)。また、Firestore Security Rules により、UI とは独立してユーザーごとのアクセス制御が適用されます。詳細と問題の報告方法については、SECURITY.mdをご覧ください。
プライバシーと独自スキャナーの境界
検出エンジン(リスクの判定に使われる実際のルール)は Agent Verify の中核となる独自の知的財産であり、意図的にこの git リポジトリでは追跡されていません(packages/scanner/ は gitignore で除外されています)。CLI と Worker は HTTPS 経由またはプライベートビルド経由でエンジンを呼び出します。この公開リポジトリにはエンジンのソースを同梱も公開もしておらず、ブラウザーに配信されるコードからインポートされることもありません。インポートするのは Worker 側(サーバー専用)のコードだけです。恒久的な CI チェック(npm run check:private-boundary)では、Web アプリをビルドし、変更のたびに、生成されたクライアントバンドルすべてを対象に既知の独自マーカーが含まれていないか静的に検査するため、この境界が知らないうちに崩れることはありません。公開 CI では、スキャナーの型互換スタブ(scripts/create-ci-scanner-stub.mjsを参照)を使って Web アプリ、CLI、Worker を検証します。そのため、非公開エンジンが存在しなくても公開ビルドを検証できます。
プラン
Free(月 10 回のスキャン、基本的な検出結果、非公開のレポート履歴)、Pro(月額 $19.99 — 詳細な修正ガイダンス、修正版スニペット、A2SPA の実装ガイダンス、PDF エクスポート、月 100 回のスキャン)、Team(近日公開)、Enterprise(お問い合わせ)。料金は apps/web/src/lib/pricing.ts で一元管理され、Worker のクォータテーブル(workers/api/src/billing.ts)にも反映されます。現行の正式な情報源については、これらのファイルをご覧ください。
ドキュメント
- アプリのドキュメント:https://aimodularity.com/agentverify/docs/
- GitHub Action リファレンス:docs/github-action.md
- 課金/エンタイトルメントのアーキテクチャ:docs/billing-setup.md
- 独自スキャナーの境界:docs/private-scanner-boundary.md
- ロードマップ:ROADMAP.md
- 変更履歴:CHANGELOG.md
開発
npm install
npm run dev # apps/web dev server
npm run build # apps/web production build
npm run build:cli # packages/cli
npm run build:worker # workers/api
npm run lint # apps/web
npm run check:web # apps/web typecheck
npm run check:worker # workers/api typecheck
npm run test:worker # workers/api tests
npm run test --workspace=packages/cli
npm run test:rules # Firestore Security Rules against the real emulator
npm run check:private-boundary # proprietary-boundary regression check
変更できる内容とできない内容、PR に関する要件など、貢献者向けガイドの詳細はCONTRIBUTING.mdをご覧ください。
制限事項
Agent Verify は、提出されたコンテンツを静的に分析します。エージェントを実行することはできず、実行時のみの挙動、デプロイ時に動的に付与される権限や認証情報、コードベース外で適用されるリモートポリシー、本番環境のネットワーク ACL、外部 ID プロバイダーのポリシー、ソース外で挿入される実行時のシークレットを確認することもできません。すべてのレポートには、そのスキャンで確認できなかったことを明示する「Agent Verify が判断できなかったこと」というセクションが含まれます。検出結果は証拠に基づくヒューリスティックなものであり、セキュリティの形式的な証明ではありません。問題のないレポートが安全を保証するわけではなく、検出結果が悪用の証明になるわけでもありません。
ライセンス
MIT — AI Blockchain Ventures LLC — [email protected]
MIT ライセンスは、上記のとおり、このリポジトリ内のコンポーネント(ウェブアプリ、CLI、Worker API)に適用されます。検出エンジンはプロプライエタリであり、このライセンスの下では配布されず、このリポジトリにも含まれていません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。