MCPサーバーを接続しているAIエージェントは、気づかないうちに攻撃の入口になっているかもしれません。

この記事では、AIエージェントのセキュリティリスクを自動検出するOSSツール「AgentSeal」を紹介します。

この記事でわかること:

  • MCPサーバーとスキルファイルに潜む代表的な脅威の種類
  • guardscanscan-mcpshieldの使い方
  • 225種以上のプロンプト攻撃テストの仕組みとトラストスコアの読み方
  • 無料で使える範囲とProプランの違い

MCPが広がるほど攻撃面も拡大する

AIエージェントにMCPサーバーを接続すると、ファイルシステム・データベース・外部APIへのアクセスが一気に広がります。ツールが増えるほど攻撃面も広がりますが、設定が安全かどうかを自動で確認できるツールはこれまでほとんどありませんでした。

実際に問題になるのは次のようなケースです。

プロンプトインジェクション: MCPサーバーのツール説明文に隠し命令を埋め込み、エージェントに意図しない動作をさせる手法です。ユーザーには説明文が見えないため、従来の監視では見逃しやすい点が問題です。

スキルファイルの改ざん: npm installpip install後にパッケージがエージェントのスキル設定を無言で書き換えるサプライチェーン攻撃です。パッケージを更新するたびにリスクが生まれます。

トキシックデータフロー: Slackチャンネルから読み込んだデータがそのままファイルシステムへ書き出されるような、意図しないデータ経路が発生するケースです。複数のMCPサーバーを組み合わせるほど経路は複雑になります。

AgentSealはこれらのリスクをローカルで自動検出するOSSとして、2026年3月にGitHubで公開されました。

AgentSealとは

https://github.com/getagentseal/agentseal

Claude Code・Cursor・Windsurf・VS Code・Gemini CLIなど28種のAIエージェントに対応した、OSSのセキュリティスキャナです。インストールはpipまたはnpmで完結し、主要なコマンドはAPIキー不要・外部通信なしで動作します。

pip install agentseal    # または npm install agentseal
agentseal guard          # APIキー不要でスキャン開始

機密を含む開発環境でも安全に実行できます。

guard — マシン全体の設定を検査する

guardコマンドはAgentSealが認識する全エージェントの設定を対象に、6段階の検査を実行します。パターンシグネチャーによる既知の悪意あるパターンとの照合から始まり、Base64・Unicode隠し文字・BiDiオーバーライドのデオブファスケーション、MiniLM-L6-v2の埋め込みモデルを使ったセマンティック解析へと続きます。さらにSHA-256ハッシュで前回スキャンからの変更を検出するベースライン追跡、6,600件超のMCPサーバーのトラストスコアを参照するレジストリ照合、YAMLで定義するカスタムルールの適用まで、6段階を一括で処理します。

agentseal guard --output sarif   # GitHub Security tabに取り込める
agentseal guard init             # .agentseal.yamlでポリシーを生成
agentseal guard --no-diff        # ベースライン差分をスキップ

scan — プロンプトをレッドチームテストする

scanコマンドはシステムプロンプトを225種以上のプローブで自動攻撃し、「トラストスコア」(0〜100点)を返します。

82種の情報漏洩テストと143種のインジェクションテストで構成されており、各プローブは固有のカナリア文字列をリクエストに埋め込む方式をとっています。カナリアがレスポンスに含まれれば漏洩と判定するため、LLMによる主観的な評価を使わず、同じ入力に対して常に同じ結果が得られます。

スコアの目安は次のとおりです。85〜100が「Excellent」で強固な防御、70〜84が「High」でほぼ問題なし、50〜69が「Medium」でいくつかの穴あり、30〜49が「Low」で重大な脆弱性、29以下が「Critical」で防御がほぼ機能していない状態です。

# Ollamaで無料・ローカル実行
agentseal scan --prompt "You are a helpful assistant..." --model ollama/llama3.1:8b

# ファイルから読み込んでスコア閾値を設定
agentseal scan --file ./prompt.txt --model gpt-4o --min-score 75

--min-scoreを指定するとスコアが閾値を下回ったときexit code 1を返すため、CI/CDパイプラインへの組み込みができます。--output sarifでGitHub Security tabへの取り込みにも対応しています。

scan-mcp と shield — 稼働中のサーバーと設定を守る

scan-mcpは稼働中のMCPサーバーにstdioまたはSSEで接続し、各ツール説明文をリアルタイムで解析します。ツール説明文に埋め込まれた隠し命令(ツールポイズニング)を検出するためのコマンドです。

agentseal scan-mcp --server npx @modelcontextprotocol/server-filesystem /tmp
agentseal scan-mcp --sse http://localhost:3001/sse

shieldコマンドはguardが監視するパスを継続的に監視し、脅威検知時にデスクトップ通知を送り、問題のあるファイルを自動で隔離します。pip install後に設定ファイルが書き換えられるサプライチェーン攻撃の検知に特に有効です。

pip install agentseal[shield]
agentseal shield

料金と無料枠

guardscan-mcpshieldはAPIキー不要で動作し、すべて無料で使えます。scanコマンドはOllamaによるローカルLLM推論にも対応しているため、クラウドAPIを用意しなくてもゼロコストで実行できます。

Proプランではプローブ数が増え、MCPツールポイズニング(+45件)・RAGポイズニング(+28件)・マルチモーダル攻撃(+13件)のテストが追加されます。コンプライアンス対応に使えるPDFレポートとダッシュボードも利用できます。

競合ツールとどう違うか

同カテゴリに位置するSnyk(agent-scan)・Lakera・Mindgardと比べると、AgentSealは対応エージェント数(28種)とAPIキー不要の動作が目立ちます。SnykのagentScan CLIはApache-2.0で公開されていますが、レッドチーミング機能やAgent Guardはプロプライエタリなプラットフォームに限定されています。LakeraとMindgardはローカルマシンスキャンに非対応です。

AgentSealのライセンスはFSL-1.1-Apache-2.0です。商用環境での利用前に条項を確認してください。

エージェント構成が複雑になるほど、スキャンの自動化が欠かせなくなる

MCPサーバーやスキルファイルを使ったエージェント構成は今後も複雑化します。手動での設定確認では限界があり、パイプラインに組み込める自動スキャンの必要性は高まります。

AgentSealはpip install agentseal && agentseal guardの2コマンドで始められます。6,600件超のMCPサーバーを収録したセキュリティレジストリ(agentseal.org/mcp)も公開されており、新しいサーバーを導入する前のトラストスコア確認にも役立ちます。