AgentAvow Trust について
AgentAvow Trustは、AIエージェント向けにツール、MCPサーバー、パッケージ、スキルをスキャンし、リスク判定とオフライン検証可能な署名付き信頼スコアを返します。変更監視やCIゲートにも対応し、接続やデプロイ前のリスク評価に役立ちます。
主な機能
- 01リポジトリ、MCPサーバー、パッケージのスキャン
- 02信頼スコアとリスク判定の提示
- 03オフライン検証可能な署名付き証明
- 04スコアとツール定義の変更監視
- 05CIでの高リスクビルド制御
活用シーン
- 01接続前のサードパーティツール確認
- 02スキャン結果の署名検証
- 03ツール定義変更やスコア低下の検知
- 04CIでの高リスクビルドの阻止
MCP 対応
AgentAvow Trustは、ツールのスキャンと信頼情報の取得に使える読み取り専用MCPサーバーを提供します。リモートサーバーとして、またはPythonパッケージ経由のローカルstdioサーバーとして利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://agentavow.com/mcpclaude mcp add --transport http agentgraph-co https://agentavow.com/mcp{"mcpServers":{"agentgraph-co":{"type":"http","url":"https://agentavow.com/mcp"}}}Cursor で開く{"servers":{"agentgraph-co":{"type":"http","url":"https://agentavow.com/mcp"}}}VS Code で開く{"mcpServers":{"agentgraph-co":{"type":"http","url":"https://agentavow.com/mcp"}}}{"mcpServers":{"agentgraph-co":{"serverUrl":"https://agentavow.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
8| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| repo | string | はい | 'owner/name' 形式のリポジトリ(例:'vercel/next.js')。'owner' を別途指定する場合は、名前のみでも指定できます。 |
| force | boolean | いいえ | キャッシュされた判定を返す代わりに、今すぐ再スキャンします(結果は約 1 時間キャッシュされます)。対象に変更があった場合に使用します。 |
| owner | string | いいえ | リポジトリの所有者('repo' がすでに 'owner/name' 形式の場合は任意)。 |
詳細
AgentAvow
以前は AgentGraph でした。署名付きアテステーション形式、JWKS、および既存のバッジに変更はありません。
AgentAvow は、あらゆるツール、MCP サーバー、パッケージ、スキルについて、「エージェントが接続しても安全か」という問いに答えます。接続しても安全、接続前に確認、または 接続しないでくださいという判定とその理由を、オフラインで再計算・検証できる署名付きの 0~100 の信頼スコアと、別個の導入スコアとともに提供します。
MCP サーバー — AI エージェントの信頼とセキュリティ
Claude、ChatGPT、Cursor、VS Code、または任意の MCP クライアントからエージェントが接続する前に、ツールの安全性を確認できます。ローカルにインストールするには:
pip install agentavow-trust
セットアップ方法とツール一覧については、sdk/mcp-server/ をご覧ください。
Claude から接続する
Claude Code プラグイン(推奨)。 AgentAvow Trust プラグインは Anthropic のプラグインディレクトリに掲載されています。MCP コネクター、/scan コマンド、Claude がサーバーやパッケージを追加またはインストールする前にスキャンするスキル、設定済みの各 MCP サーバーを初めて検出したときに確認する SessionStart フック(警告のみ、フェイルオープン)、および各 MCP ツール呼び出しの前にファイル上の結果を確認する PreToolUse ゲートが含まれています。接続しないでくださいという判定のサーバーへの呼び出しを拒否し、確認後に定義が変更されたツールについては、呼び出し前に確認を求めます。このリポジトリから直接インストールすることもできます:
/plugin marketplace add AgentAvow/AgentAvow
/plugin install agentavow-trust@agentavow
次に /scan npm chalk を試してください。このフックは、localhost またはプライベートネットワーク上のサーバーをスキップし、パスにシークレットが含まれているように見える URL は送信せず、URL が端末から送信される前に認証情報とクエリ文字列を削除します。読み取られる情報と送信される情報。ソース:plugins/agentavow-trust/。
コネクターのみ。 Claude(ウェブまたはデスクトップ)で、コネクターディレクトリから AgentAvow を追加します。プラグインを使わずに Claude Code から接続する場合:
claude mcp add --transport http agentavow https://agentavow.com/mcp
ChatGPT から接続する
AgentAvow は ChatGPT プラグインディレクトリにあります:こちらから追加。同じ 8 つの読み取り専用ツールと信頼カードに加え、接続前にスキャンするスキルを利用できます。サインインは不要です。
エディターから接続する
リモート MCP サーバーは https://agentavow.com/mcp で稼働中です(Streamable HTTP、認証不要、読み取り専用)。インストールは不要です。
ワンクリック:
- Cursor —
cursor://anysphere.cursor-deeplink/mcp/install?name=agentavow&config=eyJ1cmwiOiAiaHR0cHM6Ly9hZ2VudGF2b3cuY29tL21jcCJ9 - VS Code —
vscode:mcp/install?%7B%22name%22%3A%20%22agentavow%22%2C%20%22type%22%3A%20%22http%22%2C%20%22url%22%3A%20%22https%3A//agentavow.com/mcp%22%7D
または手動で追加します。 Cursor(~/.cursor/mcp.json、またはプロジェクトごとの .cursor/mcp.json):
{ "mcpServers": { "agentavow": { "url": "https://agentavow.com/mcp" } } }
VS Code(.vscode/mcp.json、または MCP: Open User Configuration):
{ "servers": { "agentavow": { "type": "http", "url": "https://agentavow.com/mcp" } } }
代わりにローカルの stdio サーバーを使う場合:pip install agentavow-trust。
主な機能
- 無料の匿名スキャン — AgentAvow に任意の GitHub リポジトリ、MCP サーバー、npm または PyPI パッケージ、OpenClaw スキル(またはそれらを解決できるウォレットアドレス)を指定すると、理由とともに3つの判定のいずれかが返されます。アカウント登録もインストールも不要です。結果は1時間キャッシュされます。再スキャンするには
?force=trueを指定します。 - 2つのスコア:信頼度と採用度 — すべてのスキャンでは、まず理由とともに3つの判定のいずれか(接続しても安全/接続前に確認/接続しないでください)が示され、次に0~100の信頼スコア(詳細として信頼ティアも表示)と、実際の利用状況(ダウンロード数、スター数、インストール数)に基づく採用スコアが示されます。信頼スコアは検出結果から計算されます。カテゴリ別の5つのサブスコア(シークレットの管理、コードの安全性、データの取り扱い、ファイルシステムへのアクセス、依存関係の健全性)は、独立した指標として信頼スコアと併記されます。各検出結果には重大度が付与され、該当する行またはマニフェストの項目が示されます。
- 署名付きで検証可能な証明 — 各結果には、正規化された判定(RFC 8785 JCS)に対するJWS 証明(EdDSA / Ed25519、RFC 7515)が付属します。公開 JWKS(
agentgraph.co/.well-known/jwks.json)を使って、誰でもオフラインで再計算して検証できます。スコアは製品であり、その署名が信頼性を証明します。 - 信頼ティア → 推奨制限 — 各信頼スコアは信頼ティア(
verified→blocked)に対応し、推奨される実行設定(リクエスト数/分、トークン予算、確認プロンプト)も示されるため、ゲートウェイやエージェントフレームワークで自動的に適用できます。 - 信頼バッジ — README に貼り付けられる、1行の shields.io 互換SVG バッジです。リポジトリの現在の判定と署名付き信頼スコアを表示し、検証可能な完全レポートにリンクします。オープンな CORS に対応し、1時間ごとのスキャンキャッシュから更新されるため、古い情報のままになりません。
- 監視と変更アラート — ツールを監視すると、AgentAvow が再スキャンし、スコアの低下や署名付きツール定義の変更(
tool_manifest_digestの変化)があったときに通知します。これにより、通常なら見逃してしまうラグプルを検知できます。 - 所有するリポジトリの所有権を申請 — GitHub トピックを追加して公開リポジトリの所有権を証明できます(トークンは保存されません)。または、一時的に提供する GitHub トークンを使って非公開スキャンを実行できます(トークンは永続化されず、公開カタログにも追加されません)。
- 公開信頼カタログ — 起動時の対象とコミュニティによるオンデマンドスキャンを含むすべてのスキャンを、ページ分割やフィルター機能を備えたカタログで公開します。対象面、重大度、スコアで閲覧できます。
- MCP サーバーと CI ゲート — AgentAvow Trust MCP サーバー(
agentavow-trust)は、Claude Code やその他のクライアントにスキャン機能を提供します。また、GitHub Action、GitLab CI コンポーネント、Bitbucket Pipe、Azure Pipelines テンプレート、ローカル CLI を使って、判定が「接続しないでください」の場合にビルドを失敗させることができます(fail_on: do_not_connect)。npm パッケージagentavow-trustは、Vercel AI SDK、Flue、Claude Agent SDK、OpenAI Agents SDK 向けに呼び出し単位のゲートを追加します。Python 向けの LangChain、Google ADK、Claude Agent SDK、OpenAI Agents SDK 用ゲートはsrc/bridges/にあります。ポリシーエンジンやゲートウェイ向けには、integrations/opa/ に Open Policy Agent ポリシー(Envoyext_authzの例を含む)、integrations/litellm/ に LiteLLM の MCP ゲートウェイ向けガードレールがあります。実行可能なラグプルのデモは demos/rugpull/ にあります。
技術スタック
| レイヤー | 技術 |
|---|---|
| バックエンド | FastAPI、SQLAlchemy 2.0(非同期)、Pydantic 2.0、Uvicorn |
| データベース | PostgreSQL 16(asyncpg) |
| キャッシュ/イベント | Redis 7(キャッシュ、レート制限、Pub/Sub) |
| フロントエンド | React 19、TypeScript、Vite 7、Tailwind CSS 4、TanStack Query 5 |
| 認証 | JWT(アクセストークン+リフレッシュトークン)、エージェント用 API キー、bcrypt |
| 暗号化/署名 | Ed25519(JWS/EdDSA、RFC 7515)、RFC 8785 JCS による正規化 |
| UI/アニメーション | Tailwind CSS、framer-motion |
| インフラストラクチャ | Docker、Docker Compose、Nginx、GitHub Actions CI |
クイックスタート
前提条件
- Python 3.11+(本番環境では 3.12)
- Node.js 20+
- PostgreSQL 16
- Redis 7
- Docker と Docker Compose(任意、コンテナ化されたセットアップ向け)
オプション 1:Docker Compose(推奨)
# Clone the repo
git clone https://github.com/AgentAvow/AgentAvow.git
cd AgentAvow
# Copy environment files
cp .env.example .env
cp .env.secrets.example .env.secrets
# Edit .env and .env.secrets with your values (see Environment Variables below)
# Start everything
docker-compose up
以下が起動します:
- バックエンド API:
http://localhost:8000 - フロントエンド:
http://localhost(ポート 80) - PostgreSQL:
localhost:5432 - Redis:
localhost:6379
データベースのマイグレーションは起動時に自動で実行されます。
オプション 2:ローカル開発
# Clone and enter the repo
git clone https://github.com/AgentAvow/AgentAvow.git
cd AgentAvow
# Setup Python environment, install deps, start DB services
make setup
# Copy and configure environment
cp .env.example .env
cp .env.secrets.example .env.secrets
# Edit both files with your values
# Run database migrations
make migrate
# Start the backend dev server (hot reload)
make dev
別のターミナルで、フロントエンドを起動します:
cd web
npm install
npm run dev
- バックエンドは
http://localhost:8000で実行されます - フロントエンドは
http://localhost:5173で実行されます(API リクエストをバックエンドにプロキシします)
環境変数
必須(.env)
DATABASE_URL=postgresql+asyncpg://postgres:yourpassword@localhost:5432/agentgraph
POSTGRES_PASSWORD=yourpassword
REDIS_URL=redis://localhost:6379/0
JWT_SECRET=change-me-to-a-random-64-char-string
任意(.env)
APP_NAME=AgentAvow
DEBUG=false
JWT_ALGORITHM=HS256
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=15
JWT_REFRESH_TOKEN_EXPIRE_DAYS=7
CORS_ORIGINS=["http://localhost:3000","http://localhost:80"]
RATE_LIMIT_READS_PER_MINUTE=100
RATE_LIMIT_WRITES_PER_MINUTE=20
RATE_LIMIT_AUTH_PER_MINUTE=5
シークレット(.env.secrets)
ANTHROPIC_API_KEY=your_key_here # Optional — LLM-assisted features (not required for scanning)
フロントエンド(web/.env)
# Optional. Defaults to /api/v1, which the Vite dev server proxies to the backend.
VITE_API_BASE_URL=http://localhost:8000/api/v1
API の概要
公開スキャン API は認証不要です。アプリのすべてのエンドポイントには/api/v1プレフィックスが付きます。インタラクティブな API ドキュメントは/api/v1/docs(Swagger)および/api/v1/redocにあります(/docsは製品ドキュメントです)。GET /health(プレフィックスなし)では、DB と Redis の接続状況を確認できます。
公開スキャン API(認証不要)
| エンドポイント | パス | 説明 |
|---|---|---|
| スキャン | GET /public/scan/{owner}/{repo} | リポジトリ/ツールをスキャンし、回答(decision)とその理由、信頼スコア、ティア、検出結果、署名付き JWS アテステーションを返します。?force=trueを指定すると、1 時間のキャッシュを回避します。 |
| バッジ | GET /public/scan/{owner}/{repo}/badge | README 用の 20px SVG バッジ(CORS を公開):回答、スコア付き信頼バー、件数付き採用ダイヤルを表示します。?style=cardで 360×230 のカード、?style=classicで以前のバッジ、?theme=light|darkでテーマを指定できます。ブラウザーでは 1 時間、エッジでは 1 日キャッシュされます。 |
| カード | GET /public/scan/{owner}/{repo}/card.svg | widget.jsの埋め込みで表示される信頼カードです。ブラウザーでは 5 分間、エッジでは 1 時間キャッシュされます。 |
| チェック | GET /public/scan/{owner}/{repo}/checks | 採用状況のシグナル:チェック数、アクティブなウォッチャー数、GitHub スター数、スコア履歴。 |
| 履歴 | GET /public/scan/{owner}/{repo}/history | リポジトリの過去のスキャンのタイムライン。 |
| ウォレット検索 | GET /public/scan/wallet/{address} | ウォレットアドレスからリンクされたリポジトリを特定し、スキャンします。 |
| カタログ | GET /public/scan-catalog | すべてのスキャンのページ分割可能で、フィルタリング可能なカタログ(サーフェス、重大度、スコアで絞り込み)。 |
| OG ページ | GET /og/check/{owner}/{repo} | スキャン結果ページ用の Open Graph メタデータです(共有可能なページ自体はagentavow.com/check/{owner}/{repo}です)。 |
検証とアテステーション
| エンドポイント | パス | 説明 |
|---|---|---|
| JWKS | GET /.well-known/jwks.json | オフラインでのアテステーション検証用の公開鍵(EdDSA/Ed25519)。agentgraph.coで提供されます。 |
| アテステーション | /attestations | エンティティの署名付きアテステーションを発行、一覧表示、取り消します。 |
| セキュリティアテステーション | GET /entities/{id}/attestation/security | 署名付きセキュリティ態勢アテステーション(A2A trust.signals[]互換)。 |
| 合成スロット | GET /entities/{id}/attestation/composed-slot | APS composed-v1 エンベロープ用のagentgraph-scan-v1-structuralスロット。 |
| 集約検証 | GET /aggregate/{subject_did}/verify | 署名付き Trust Score v2 集約エンベロープを検証します。 |
アカウント(認証必須)
| エンドポイント | パス | 説明 |
|---|---|---|
| 認証 | /auth | 登録、ログイン、JWT トークン、メール認証 |
| 所有権申請 | /account/claims | GitHub トピックによる証明で、自分が所有する公開リポジトリの所有権を申請します(トークンは保存されません) |
| プライベートスキャン | POST /account/private-scan | 一時的に提供された GitHub トークンを使用してプライベートリポジトリをスキャンします(トークンは保存されません) |
| ウォッチ | /watches | 評価と署名付き定義の変更アラートを受け取るツールウォッチを作成、一覧表示、削除します |
| アラート Webhook | /account/alert-webhook | 変更アラートを受信する HMAC 署名付き Webhook を設定(およびテスト)します |
プロジェクト構成
AgentAvow/
├── src/ # Backend (FastAPI)
│ ├── api/ # API router modules (public scan, badge, watches, claims, attestations)
│ ├── scanner/ # Static-analysis engine + detection patterns
│ ├── signing.py # Ed25519 signing, JWS, JCS canonicalization
│ ├── attestation/ # CTEF envelopes, APS composed slot
│ ├── trust/ # Trust score computation, aggregate envelopes, action_ref vectors
│ ├── safety/ # Anomaly / collusion / propagation controls
│ ├── source_import/ # Fetchers (GitHub, npm, PyPI, MCP, crates, Docker, HF, …)
│ ├── jobs/ # Scheduled jobs (watch re-scan loop, population scan)
│ ├── bridges/ # Framework adapters (MCP, LangChain, CrewAI, AutoGen)
│ ├── models.py # SQLAlchemy models
│ ├── main.py # FastAPI app entry point
│ ├── config.py # Settings (Pydantic)
│ ├── database.py # Async PostgreSQL sessions
│ ├── redis_client.py # Redis connectivity
│ ├── cache.py # Caching layer
│ └── audit.py # Audit logging
├── web/ # Frontend (React + TypeScript)
│ └── src/
│ ├── rebrand/ # Live cutover UI (pages, docs, components)
│ ├── pages/ # Legacy page components
│ ├── components/ # Reusable UI components
│ ├── hooks/ # Custom React hooks
│ └── lib/ # Utilities and API client
├── ios/ # iOS app (SwiftUI)
├── tests/ # Test suite (pytest)
├── migrations/ # Alembic migrations
├── docker-compose.yml # Full stack orchestration
├── Makefile # Development commands
└── docs/ # PRD and architecture docs
開発
便利なコマンド
make dev # Start backend with hot reload
make test # Run full test suite
make lint # Lint with ruff
make lint-fix # Auto-fix lint issues
make ast-verify # Verify Python syntax
make migrate # Run pending migrations
make migration # Create a new migration
make db-start # Start PostgreSQL + Redis (Homebrew)
make db-stop # Stop database services
make clean # Clean build artifacts
テストの実行
# Full suite
make test
# Verbose output
.venv/bin/python3 -m pytest tests/ -v
# Single test file
.venv/bin/python3 -m pytest tests/test_auth.py -v
# With coverage
.venv/bin/python3 -m pytest tests/ --cov=src
コード規約
- Python 3.11+(本番環境では 3.12)— 共用体型には
from __future__ import annotationsを使用します - リンティング — ruff(E、F、I、N、W、UP ルール)、行の長さは 100 文字まで
- AST 検証 — すべての Python ファイルがエラーなく解析できること
- テスト必須 — 新規・変更されたコードにはすべて単体テストが必要です
セキュリティ
- オリジンを設定可能な CORS
- レート制限(読み取り、書き込み、認証固有の制限)
- セキュリティヘッダー(HSTS、X-Frame-Options、X-Content-Type-Options など)
- トレース用リクエスト ID の関連付け
- HTML サニタイズによるコンテンツフィルタリング
- HMAC-SHA256 による Webhook 署名
- Bcrypt によるパスワードハッシュ化
- ログアウト時の JWT トークンのブラックリスト登録
- すべての機密操作の監査証跡
アーキテクチャ
AgentAvow は、階層化されたスキャンと証明のパイプラインです。スキャンによってエビデンスが生成され、そのエビデンスがスコアリングされて正規化され、判定結果に署名してアテステーションとして記録します。アテステーションは誰でも再計算し、オフラインで検証できます。
┌─────────────────────────────────────────────────────────┐
│ Clients — check page, trust badge, MCP server, CLI, │
│ GitHub Action, third-party verifiers │
├─────────────────────────────────────────────────────────┤
│ Public API — /public/scan · /badge · /checks · │
│ scan-catalog · watches · claims │
├─────────────────────────────────────────────────────────┤
│ Scan & score — static analysis (findings by category), │
│ per-category subscores, trust tier, adoption score, │
│ tool-definition digests (drift / rug-pull detection) │
├─────────────────────────────────────────────────────────┤
│ Attestation — Ed25519/JWS (RFC 7515) over a canonical │
│ verdict (RFC 8785 JCS); CTEF envelopes; action_ref │
├─────────────────────────────────────────────────────────┤
│ Verification — public JWKS (agentgraph.co/.well-known),│
│ offline byte-for-byte recompute, DID:web identity │
└─────────────────────────────────────────────────────────┘
ウォッチ機能によって一連の処理が完結します。バックグラウンドの再スキャンジョブが、監視対象の各ツールの新しいスコアと署名済み定義ダイジェストを前回のものと比較し、どちらかに変更があれば HMAC 署名付きの Webhook アラートを送信します。
ライセンス
プロプライエタリ。無断複製・転載を禁じます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。