Skip to main content
Glama

MCP Vetter Agent

AIツールのためのAIセキュリティ監査人。 TrueForge上で動作するエージェントで、サードパーティ製MCPサーバーをエージェントに接続する前にセキュリティ脆弱性を審査し、その後、公開セキュリティレポートを提出する前に一時停止して人間に確認を求めます。

TrueForgeはエージェントを任意のMCPサーバーに接続します。コミュニティサーバーはgist、テンプレート、サイドプロジェクトとして共有されており、ハードコードされたキー、ツール引数に対するeval()、認証境界の欠如が存在します。エージェントは疑うことを知りません。このエージェントこそが疑い深い存在です。

仕組み

User: "audit https://github.com/someone/some-mcp-server"
  └─ TrueForge agent (mcp-vetter)
       ├─ clone_target          ── shallow-clones the GitHub URL onto the probe host
       ├─ read_target_manifest   ── declared tools & permission boundaries
       ├─ subagent: static_audit ── AST rules + Semgrep (SENT-001..007)
       ├─ subagent: full_audit   ── GPT review + Docker probes (SENT-008..011)
       ├─ Synthesizes verdict (HIGH/MEDIUM/LOW, OWASP Agentic Top 10 mapped)
       └─ ⏸ PAUSES before filing the GitHub security issue → human approves → files
  • プローブは隔離環境で実行: Sentinelの動的プローブは、対象サーバーを使い捨てのDockerコンテナ内で実行します。

  • 承認ゲートはネイティブのTrueForge HITL: issue作成は書き込み/破壊的アクションであるため、ハーネスは許可/拒否のために一時停止します。

  • セッションは再接続後も存続: 監査の途中で更新しても、エージェントは作業を継続します。

Related MCP server: mcp-security-scanner

クイックスタート

# 1. Probe server (the security scanning engine)
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn probe_server.server:mcp_app --host 127.0.0.1 --port 8000   # serves /mcp

# 2. TrueForge (separate terminal; needs Node 22+)
npx @truefoundry/trueforge@latest                                   # UI at http://localhost:8790

# 3. In the TrueForge UI:
#    Settings → Models      : configure a provider (API key)
#    Settings → Connectors  : Add MCP Server → http://127.0.0.1:8000/mcp
#                             (+ GitHub connector from the catalog, OAuth)
#    Settings → Sandbox     : optional (skills/code mode); cloning runs on the probe host
#    Create agent           : import deploy/agent-manifest.json via API, or compose in UI

# 4. Chat: "audit ./fixtures/vulnerable_server"

まずは同梱のフィクスチャで試してください:

フィクスチャ

期待される結果

fixtures/vulnerable_server

HIGHリスク — eval()計算機、無制限ファイルリーダー、ポイズニングされたプロンプト

fixtures/clean_server

クリーンなレポート

リポジトリ構成

probe_server/    MCP server exposing the scanning engine as agent tools
fixtures/        Vulnerable + hardened reference MCP servers (from Sentinel, MIT)
deploy/          TrueForge agent manifest (agent spec via API)
docs/            PRD, architecture, week plan, setup guide

Qodo Code Reviewの証跡

このリポジトリのすべての実質的な変更は、マージ前にQodoによるプルリクエストレビューを経ています — ハッカソン初日からです。

代表的なレビュー済みPR: #1 — feat: probe server, fixtures, tests, TrueForge agent spec

Qodoが指摘した内容と私たちが行った対応(完全な履歴はPRで確認可能):

ラウンド

指摘事項

結果

初回レビュー

High 2件、Medium 5件

修正済み: GitHubターゲットが到達不能なサンドボックスパスではなくプローブホスト上に実体化されるようclone_targetツールを追加(High); 悪意のあるリポジトリ監査中のホストファイル開示を防ぐため、manifest読み取りにシンボリックリンク+封じ込めの強化(High); スキャンタイムアウト時のプロセスグループkill+回収; すべての境界での構造化エラーディクショナリ; 非同期Docker事前チェック; スキャナー依存関係を不変コミットに固定

修正の再レビュー

High 3件、Medium 1件

修正済み: .gitなしの標準GitHub URLが誤って拒否される問題; クローンのタイムアウトで孤立したgitプロセスが残る問題; プライベートネットワーク(SSRF)ターゲットが拒否される問題; 古い一時クローンをスレッド外で掃除する処理

3回目のパス

Medium 3件

修正済み: 不正なURLが例外を発生させる代わりにエラーディクショナリを返す問題; キャンセル時にクローンプロセスのツリーを回収する処理; すべてのクリーンアップをイベントループ外に移動

最終パス

指摘0件

クリーン

記録された理由により却下された指摘が1件あります: クリーンフィクスチャのゼロ値整合性ダイジェスト(PRへのコメント)— これは私たちが利用するMITライセンスのエンジンで上流からそのまま提供されているものであり、関連するコードパスは私たちのツールでは決して実行されないため、上流からフォークするのではなく、フィクスチャを上流と同一に保ちました。

PR履歴には、各レビュー、その指摘に対処したコミット、および最終コードに対する解決を確認するフォローアップレビューが示されています。

デモ

クレジット

The Agent Harness Hackathon(WeMakeDevs × TrueFoundry、2026年8月)のために構築されました。同梱の参照コードのライセンスについてはfixtures/LICENSEを参照してください。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Security scanning for MCP servers from the inside out. Provides runtime inspection, AST-based static analysis, config audit, dependency analysis, and OWASP MCP Top 10 compliance in a single MCP server.
    55
    126 npm
    6
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Security scanner for MCP servers that detects tool poisoning, shadowing, and other risks via static rules and semantic analysis. Exposes the scan_mcp_server tool for scanning MCP servers over stdio.
    1
    55 PyPI
    1
    MIT