Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
agent-scan — AIエージェント、MCPサーバー、エージェントスキル向けのセキュリティスキャナー。 | Kitploit
ツール/GitHubGitHub/snyk/agent-scan
脆弱性スキャナー動的分析 (サンドボックス)コード分析シークレット検出サプライチェーンセキュリティAIセキュリティAIセキュリティ 第11位
GitHubsnyk/agent-scan

agent-scan

AIエージェント、MCPサーバー、エージェントスキル向けのセキュリティスキャナー。

リポジトリを見る
2.9k2581113日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
<p align="center">
  <h1 align="center">
  Snyk Agent Scan
  </h1>
</p>

<p align="center">
  マシン上のエージェントコンポーネントを検出してスキャンし、プロンプトインジェクション<br/>
  や脆弱性を検出します(エージェント、MCP サーバー、スキルを含む)。
</p>

> **注:** Agent Scan の npm パッケージは公開していません。[`uvx`](#run-with-uvx) または[スタンドアロンバイナリ](#run-with-a-standalone-binary)としてインストールしてください。

> **注: CLI 出力は実験的であり、変更される可能性があります**
>
> **Agent Scan v0.5.x(非推奨予定)**
>
> この CLI の生出力 — 問題コード、フィールド名、重大度ラベル、レスポンス構造を含む — は実験的であり、リリース間で予告なく変更される可能性があります。特定の CLI 出力フィールドや問題コードに依存する本番ワークフローの構築は推奨しません。
>
> **Agent Scan v0.6 以降**
>
> この CLI の生出力 — リスク指標名、スコア、フィールド名、レスポンス構造を含む — は実験的であり、リリース間で予告なく変更される可能性があります。特定の CLI 出力フィールドやリスク名に依存する本番ワークフローの構築は推奨しません。
>
> Snyk を使用してエージェントのセキュリティリスクを大規模に管理しているエンタープライズのお客様の場合、CLI 出力は Evo プラットフォームに送信・表示される内容を反映していない可能性があります。エンタープライズ展開を支える基盤となる統合、検出、リスク評価は安定しておりサポートされています — 変更がある場合は標準的な Snyk 製品慣行に沿って通知されます。展開に関するガイダンスについてはアカウントチームにお問い合わせください。

> **NEW** エージェントスキルエコシステムの新たな脅威に関する[テクニカルレポート](https://github.com/snyk/agent-scan/blob/main/.github/reports/skills-report.pdf)を公開しました。これは Agent Scan 0.4 と同時に公開され、エージェントスキルのスキャンサポートが追加されています。

<p align="center">
  <a href="https://pypi.python.org/pypi/snyk-agent-scan"><img src="https://img.shields.io/pypi/v/snyk-agent-scan.svg" alt="snyk-agent-scan"/></a>
  <a href="https://pypi.python.org/pypi/snyk-agent-scan"><img src="https://img.shields.io/pypi/l/snyk-agent-scan.svg" alt="snyk-agent-scan license"/></a>
  <a href="https://pypi.python.org/pypi/snyk-agent-scan"><img src="https://img.shields.io/pypi/pyversions/snyk-agent-scan.svg" alt="snyk-agent-scan python version requirements"/></a>
</p>

### Agent Scan v0.5.x の出力

> [!WARNING]
> Agent Scan v0.5.x は問題コード出力を使用します。この CLI ラインは非推奨が予定されています。

<div align="center">
  <img width="1304" height="976" alt="agent-scan-pretty" src="https://assets.kitploit.com/production/public/readmes/721/98fbbb9009fa00bb52906b85514664b3d4834bd558b2b9fb3bce959cfa87a4e8.png" />
</div>

### Agent Scan v0.6 以降の出力

<div align="center">
  <img width="1000" alt="Agent Scan v0.6 and later report showing scored MCP server and skill risks" src="https://raw.githubusercontent.com/snyk/agent-scan/HEAD/demo-v0.6.svg" />
</div>

<br>

Agent Scan は、インストールされているすべてのエージェントコンポーネント(ハーネス、MCP サーバー、スキル)を検出し、プロンプトインジェクション、機密データの取り扱い、自然言語に隠されたマルウェアペイロードなどの一般的な脅威をスキャンするのに役立ちます。スキルの分析を無視するには `--no-skills` を使用します。

## セキュリティ警告

> **⚠️ 重要: MCP 設定のスキャンはコマンドを実行したり、外部へのネットワークリクエストを行ったりする可能性があります。**
>
> ツールの説明を取得するために、Agent Scan は設定内のコマンドを実行して stdio MCP サーバーを起動し、設定されたヘッダーを使用して設定済みのリモート MCP サーバー URL に接続します。
>
> **推奨事項:**
> - **信頼できない、またはサードパーティの MCP 設定を評価する場合は、サンドボックス内でスキャンを実行する**(Docker コンテナ、VM、または使い捨て環境)
> - **対話型スキャン中は同意プロンプトを注意深く確認する**。各サーバーのコマンドまたはリモート URL が表示されます
> - **`--dangerously-run-mcp-servers` は、すべての MCP サーバーコマンドとリモート URL を検証済みの信頼できる環境でのみ使用する**
>
> リモート MCP リクエストは、リンクローカルアドレスまたは既知のクラウドメタデータエンドポイント(`169.254.0.0/16`、`fe80::/10`、`fd00:ec2::254`、および `100.100.100.200`)に解決される宛先を拒否します。ループバックおよびプライベートアドレスは、ローカルおよび内部 MCP サーバー用に引き続き許可されます。HTTP リダイレクトはフォローされません。DNS は各リクエストの前に検証されますが、接続時に再度解決されるため、DNS リバインディングのウィンドウが残ります。
>
> デフォルトでは、Agent Scan はフォアグラウンドの対話型実行中に、検出された各 MCP サーバーに接続する前に明示的なユーザーの同意(y/n)を要求します。バックグラウンドおよびプッシュキースキャンは、フリートカバレッジのためにリモートサーバーの検査を自動的に継続しますが、`--dangerously-run-mcp-servers` が設定されていない限り stdio サーバーは起動しません。

## クイックスタート

Agent Scan を実行するには、次の 2 つの方法のいずれかを選択します:

1. **以下の手順に従って `uvx` で Python パッケージを実行する**。
2. **[GitHub Releases](https://github.com/snyk/agent-scan/releases) からお使いのプラットフォーム用のスタンドアロンバイナリをダウンロードする**。リリースには SBOM、チェックサム、署名済みチェックサム、ソースコードアーカイブも含まれます。

いずれかのオプションを使用する前に:

1. **[Snyk](https://snyk.io) にサインアップ**し、[https://app.snyk.io/account](https://app.snyk.io/account) から API トークンを取得します(API Token → KEY → クリックして表示)。
2. **スキャンを実行する前にトークンを環境変数として設定します**:
   ```bash
   export SNYK_TOKEN=your-api-token-here
   ```

### `uvx` で実行

システムに [uv](https://docs.astral.sh/uv/getting-started/installation/) がインストールされている必要があります。お使いの CLI バージョンに応じた手順を選択してください。

#### Agent Scan v0.5.x

以下の例では、具体的な v0.5.x リリースとして v0.5.17 を固定しています:

```bash
# Scan the whole machine
uvx [email protected]

# Scan a specific MCP configuration
uvx [email protected] ~/.vscode/mcp.json

# Scan a single agent skill
uvx [email protected] ~/path/to/my/SKILL.md

# Scan all Claude skills
uvx [email protected] ~/.claude/skills
```

> [!WARNING]
> v0.5.x は issue-code 出力と `2025-09-02` 分析 API を使用しています。この CLI ラインは非推奨が予定されています。

#### Agent Scan v0.6 以降

```bash
# Scan the whole machine
uvx snyk-agent-scan@latest

# Scan a specific MCP configuration
uvx snyk-agent-scan@latest ~/.vscode/mcp.json

# Scan a single agent skill
uvx snyk-agent-scan@latest ~/path/to/my/SKILL.md

# Scan all Claude skills
uvx snyk-agent-scan@latest ~/.claude/skills
```

v0.6以降はリスクベースの出力と `2026-07-10` 分析APIを使用します。

両バージョンともMCPサーバー、ツール、プロンプト、リソース、スキルをスキャンし、Claude Code/Desktop、Cursor、Gemini CLI、Windsurfなどのサポート対象エージェント設定を自動検出します。

### スタンドアロンバイナリでの実行

[最新のGitHub Release](https://github.com/snyk/agent-scan/releases/latest)から、お使いのオペレーティングシステムとアーキテクチャ用のバイナリをダウンロードしてください。リリースページでは、SBOM(`sbom-<version>.json`)、チェックサムファイル、GitHubが生成したソースコードアーカイブも提供されています。ダウンロードの検証方法については[スタンドアロンバイナリの検証](#verifying-standalone-binaries)を参照してください。

## ハイライト

- MCP設定、エージェントツール、スキルの自動検出
- Claude、Cursor、GitHub Copilot、Windsurf、Gemini CLI、Amp、Amazon Q、その他のエージェントのスキャン。

### Agent Scan v0.5.x

- MCPサーバーとエージェントスキル全体で[15種類以上の異なるセキュリティリスク](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md)を検出:
  - MCP: [プロンプトインジェクション](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E001)、[ツールポイズニング](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E001)、[ツールシャドウイング](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E002)、[有害なフロー](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#ToxicFlows)
  - スキル: [プロンプトインジェクション](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E004)、[マルウェアペイロード](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E006)、[信頼できないコンテンツ](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#W011)、[認証情報の取り扱い](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#W007)、[ハードコードされたシークレット](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#W008)

### Agent Scan v0.6以降

- MCPサーバーとエージェントスキル全体で[14種類の異なるセキュリティリスク](https://github.com/snyk/agent-scan/blob/main/docs/risks.md)を検出:
  - MCP: [プロンプトインジェクション](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#prompt_injection_tool_desc)、[信頼できないコンテンツ](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#untrusted_content)、[プライベートデータ](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#private_data)、[破壊的な機能](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#destructive_capabilities)
  - スキル: [プロンプトインジェクション](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#prompt_injection_skill_instructions)、[疑わしいダウンロード](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#suspicious_download_url)、[悪意のあるコード](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#malicious_code)、[認証情報の取り扱い](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#insecure_credential_handling)、[シークレット検出](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#secret_detection)、その他

## サポート対象エージェントと機能

Agent Scanは、エージェントのインストールパスが存在する場合、エージェントとその機能(MCPサーバーまたはスキル)を自動検出します。以下の表は、各エージェントがどのオペレーティングシステムでスキャンされるかを示しています。

- **✓**: その機能に対して少なくとも1つのパスが定義されている。
- **✗**: そのエージェントはそのOS向けにリストされているが、その機能のパスがない。
- **—**: そのエージェントはそのOSには含まれていない。
- **スキル** スキルは `--no-skills` を使用することで無視できます。

| エージェント | macOS MCP | macOS スキル | Linux MCP | Linux スキル | Windows MCP | Windows スキル |
| --- | :---: | :---: | :---: | :---: | :---: | :---: |
| Windsurf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cursor | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| VS Code | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GitHub Copilot | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Claude Desktop | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| Claude Code | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Gemini CLI | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenClaw | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
| Amp | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
| Kiro | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Antigravity | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Codex | ✓ | ✓ | ✓ | ✓ | — | — |
| Amazon Q | ✓ | ✗ | ✓ | ✗ | ✓ (WSL) | ✗ |

### スコープ別の検出カバレッジ

上記のマトリクスは、各エージェントがどのオペレーティングシステムでスキャンされるかを示しています。こちらは、**設定スコープ**と**コンポーネント種別**(スキルとMCPサーバー)ごとに検出を分類し、オペレーティングシステム全体で統合したものです。「サーバー」はMCPサーバーを意味します。

4つのスコープ:

- **システム** — すべてのユーザーに適用されるマシン全体 / 管理者管理 / エンタープライズ設定(例: `managed-mcp.json`、`/etc`、`/Library/Application Support`、または `ProgramData` 配下のファイル)。
- **ユーザー** — ユーザーのホームディレクトリ設定(そのユーザーのすべてのプロジェクトに適用)。
- **プロジェクト / ワークスペース** — 開かれたプロジェクトまたはワークスペースにスコープされた設定。
- **拡張機能 / プラグイン** — インストールされた拡張機能またはプラグイン内にバンドルされたコンポーネント。

凡例: **✓** 検出済み · **✗** エージェントはこれをサポートしているが、Agent Scanはまだスキャンしていない · **N/A** エージェントはこのスコープにそのようなコンポーネントを持たない。

| エージェント | システム<br>スキル | システム<br>サーバー | ユーザー<br>スキル | ユーザー<br>サーバー | プロジェクト / WS<br>スキル | プロジェクト / WS<br>サーバー | 拡張 / プラグイン<br>スキル | 拡張 / プラグイン<br>サーバー |
| --- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Windsurf | ✓ | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cursor | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| VS Code | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GitHub Copilot § | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Claude Desktop | N/A | N/A | ✗ | ✓ | N/A | N/A | ✓ | ✓ |
| Claude Code | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Gemini CLI | N/A | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
| OpenClaw | N/A | N/A | ✓ | ✗ | ✓ † | N/A | ✗ | ✗ |
| Amp | N/A | ✗ | ✓ | ✗ | ✗ ‡ | ✗ | ✗ | ✗ |
| Kiro | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | N/A | N/A |
| Antigravity | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Codex | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Amazon Q | N/A | N/A | N/A | ✓ | N/A | ✗ | N/A | N/A |

† OpenClawには開かれたプロジェクトの列挙機能がありません。そのプロジェクト/ワークスペーススキルは固定パス `~/.openclaw/workspace/skills` でのみ検出されます。

‡ Ampはプロジェクト/ワークスペーススキルを `.agents/skills`(および互換パス `.claude/skills`)に保存しますが、現在検出されるのはユーザースコープの `~/.config/agents/skills` のみであるため、プロジェクトスコープのスキルはサポートされていますがまだスキャンされていません。

§ GitHub CopilotはCLIとデスクトップアプリを対象としており、これらはVS Code内のCopilotと `~/.copilot` ホームを共有し、VS Codeのインストールからではなくそのホームから検出されます。`COPILOT_HOME` による移行は、自身のホームをスキャンする際に尊重されます。プロジェクトスコープは、リポジトリ相対の `.mcp.json` / `.github/mcp.json` ファイルと、`.github/skills`、`.claude/skills`、`.agents/skills` ディレクトリを対象とし、スキャンに渡されたフォルダーとCopilotが `permissions-config.json` に記録したディレクトリ、およびそれらの祖先ディレクトリを含みます。プラグインスコープは `~/.copilot/installed-plugins` を対象とし、MCP設定を移行したり追加のスキルルートを宣言したりする `plugin.json` マニフェストも含みます。スキャンされないもの: `session-state/*/workspace.yaml` 内のセッションごとのプロジェクトルート。Copilotのユーザーレベルパスは、同じファイルを読み取るVS Codeの下にも記載されています。

Claude Desktopのプラグイン検出はmacOSとLinuxでサポートされています。Claude Codeの場合、Guardのインストールおよびセッション開始時の検出イベントは、`claude-code-sessions/*/*/local_*.json` および `local-agent-mode-sessions/*/*/local_*.json` からログに記録されたコネクタも報告し、組織ごとにグループ化され、最新のセッションメタデータを使用してコネクタUUIDで重複排除されます。送信されるのは各コネクタのUUID、名前、URL、ツール定義、および指示のみです。ヘッダーなどの他のフィールドは破棄され、URLクエリの値は秘匿化されます。Windowsでは、コネクタ検出は `~/AppData/Roaming/Claude` を使用し、同じセッションレイアウトを想定していますが、これはWindowsマシンではまだ検証されていません。Windowsのプラグイン検出は引き続きサポートされていません。

## スタンドアロンバイナリの検証

配布の完全性と真正性を確保するため、リリースチェックサムファイルにGPG署名を使用しています。

### ステップバイステップの検証ガイド

1. **リリースアセットをダウンロードする:**
   [GitHub Releases](https://github.com/snyk/agent-scan/releases)ページから、お使いのプラットフォーム用のバイナリ(例: `agent-scan-<version>-<os>-<arch>`)と署名済みチェックサムファイル(`sha256sums.txt.asc`)を同じディレクトリにダウンロードします。

2. **チェックサムファイルのGPG署名を検証する:**
   [GPG公開鍵](https://github.com/snyk/agent-scan/blob/main/help/_about-this-project/snyk-code-signing-public.pgp)を同じディレクトリにダウンロードし、次を実行します:
   ```bash
   gpg --import snyk-code-signing-public.pgp
   gpg --verify sha256sums.txt.asc
   ```
   `gpg: Good signature from "Snyk Limited <[email protected]>"` と出力される行を探してください。

3. **バイナリの整合性を検証する:**
   署名が有効であることを確認したら、ダウンロードしたバイナリがチェックサムと一致するか確認します:
   * **Linux (または `coreutils` を備えた macOS) の場合:**
     ```bash
     grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | sha256sum -c -
     ```
   * **macOS (デフォルトの `shasum` を使用) の場合:**
     ```bash
     grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | shasum -a 256 -c -
     ```
   これにより `agent-scan-<version>-<os>-<arch>: OK` と出力されます。

## スキャナーの機能

### Agent Scan v0.5.x

Agent Scan は、マシン上のエージェントコンポーネントをスキャンし、そのサプライチェーンを検査するためのセキュリティスキャンツールです。プロンプトインジェクション、ツールポイズニング、トキシックフロー、エージェントスキルの脆弱性など、一般的なセキュリティ脆弱性をスキャンします。

### Agent Scan v0.6 以降

Agent Scan は、プロンプトインジェクション、信頼できないデータやプライベートデータへの露出、破壊的な機能、悪意のあるエージェントスキルなどの脅威について、スコアリングされたリスク指標を報告します。

Agent Scan は主に2つのモードで動作し、これらは併用または個別に使用できます:

1. **スキャンモード**: CLI コマンド `snyk-agent-scan` は、現在のマシン上のエージェントおよびスキルや MCP サーバーなどのエージェントコンポーネントをスキャンします。完了すると、ユーザーが確認できる包括的なレポートを出力します。

2. **バックグラウンドモード** (MDM)。Agent Scan は定期的にバックグラウンドでマシンをスキャンし、その結果を [Snyk Evo](https://evo.ai.snyk.io) インスタンスに報告します。これは、セキュリティチームが全社のエージェントサプライチェーンを一元管理された場所で監視するために使用できます。これを設定するには、[お問い合わせください](https://evo.ai.snyk.io/#contact-us)。

## 仕組み

### スキャン

Agent Scan は、ローカルエージェントの設定ファイルを検索して、エージェント、スキル、MCP サーバーを見つけます。MCP については、サーバーに接続してツールの説明を取得します。

#### MCP サーバーに対するインタラクティブな同意

> **⚠️ セキュリティに関する注意**: MCP 設定をスキャンすると、その stdio コマンドが実行されたり、リモート URL への外部リクエストが発生したりする可能性があります。承認する前に、何にアクセスするかを必ず確認してください。

デフォルトでは、Agent Scan はインタラクティブ実行中に、検出された各 MCP サーバーへアクセスする前にユーザーの同意を求めます。この同意フローは:

- サーバー名とそのコマンドまたはリモート URL を表示します。環境変数とヘッダーは伏せ字化されます
- 各サーバーを個別に承認または拒否できます
- 信頼できない可能性のあるサーバーが、あなたの明示的な許可なくアクセスされることを防ぎます
- 拒否されたサーバーは `user_declined` エラーとして記録されます (それらにアクセスすることはありません)

**ベストプラクティス:**
- 承認する前に、コマンド、引数、リモート URL を注意深く確認してください
- 信頼できない、またはサードパーティの MCP 設定をスキャンする場合は、サンドボックス (Docker、VM、または使い捨て環境) 内で Agent Scan を実行してください
- なじみのない、または疑わしいコマンドを持つサーバーは拒否してください

非インタラクティブ環境 (例: バックグラウンドスキャンや push-key スキャン) では、リモート MCP サーバーを自動的に検査します。`--dangerously-run-mcp-servers` が設定されていない限り、stdio サーバーは起動しません。**このフラグは、すべての MCP サーバーコマンドとリモート URL が検証済みである信頼できる環境でのみ使用してください。**

#### 分析と検証

Agent Scan は、検出されたコンポーネントをローカルチェックと Agent Scan API で検証します。分析に必要なコンポーネント情報 (エージェントアプリケーションの詳細、MCP サーバーの設定と署名、ツール名と説明、スキルコンテンツなど) を送信します。設定値やテキスト内のシークレットは、送信前に伏せ字化されます。

Agent Scan を使用することで、Snyk の [Agent Scan 利用規約](https://github.com/snyk/agent-scan/blob/main/TERMS.md) に同意したことになります。

Agent Scan は、使用状況データ (つまり、MCP ツール呼び出しの内容と結果) を保存または記録しません。

## CLI パラメータ

完全なフラグリファレンスは [docs/cli-reference.md](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md) にあります。ほとんどのコマンドとフラグは、v0.5.x と v0.6 以降で共通です。

### 共通コマンド

```text
snyk-agent-scan scan [CONFIG_FILE...]       Scan MCP servers and skills (default)
snyk-agent-scan inspect [CONFIG_FILE...]    Inspect components without analysis
snyk-agent-scan help                        Display help
```

### 両方のバージョン系列で共通のオプション

これらのオプションは v0.5.x と v0.6 以降の両方に存在します。コマンドへの適用可否は、完全な CLI リファレンスで詳述されています。

```text
--storage-file FILE               Path to store scan state (default: ~/.mcp-scan)
--analysis-url URL                Analysis endpoint; the default API version depends on the CLI version
--verification-H HEADER           Additional analysis request header (repeatable)
--mcp-oauth-tokens-path PATH      OAuth tokens for protected remote MCP servers
--verbose                         Enable detailed logging
--print-errors                    Show error details and tracebacks
--print-full-descriptions         Show full entity descriptions without truncation
--json                            Emit JSON; the response schema depends on the CLI version
--skip-ssl-verify                 Disable TLS certificate verification
--skills / --no-skills            Include skills (default) or skip them
--scan-all-users                  Scan all readable user home directories
--show-analysis-results           Force synchronous analysis so results display for push-key scans
--ci                              Exit non-zero when findings or operational failures remain
--server-timeout SECONDS          MCP connection timeout (default: 10)
--suppress-mcpserver-io BOOL      Suppress stdio MCP server stderr
--dangerously-run-mcp-servers     Skip consent and contact all configured MCP servers
--control-server URL              Upload destination (repeatable)
--control-server-H HEADER         Header for the current control-server block
--control-identifier ID           Identifier for the current control-server block
--no-bootstrap                    Accepted compatibility no-op; does not change behavior
--checks-per-server NUM           Accepted compatibility no-op; does not change behavior
```

### Agent Scan v0.5.x

> [!WARNING]
> v0.5.x は非推奨が予定されています。例では、具体的な v0.5.x リリースとして v0.5.17 を固定しています。

```text
--analysis-url URL                Defaults to the 2025-09-02 analysis API
--ignore-issues-codes CODES       Comma-separated E/W security finding codes and X failure codes to ignore in CI
```

v0.5.x は issue-code の検出結果とパスをキーとする `ScanPathResult` JSON を出力します。[v0.5.x CLI リファレンス](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md#agent-scan-v05x) と [issue-code リファレンス](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md) を参照してください。

### Agent Scan v0.6 以降

```text
--analysis-url URL                Defaults to the 2026-07-10 analysis API
--ignore-risks NAMES              Comma-separated risk names to omit from output and CI evaluation
--ignore-failure-codes CODES      Comma-separated X codes to omit from CI evaluation
--show-full-discovery             List every MCP entity and skill file instead of compact scan summaries
```

v0.6以降はスコア付きリスク指標と `scan_path_responses` JSON を出力します。人間が読めるスキャン出力はデフォルトでコンパクトです。`--show-full-discovery` は JSON や `inspect` 出力を変更せずにそれを展開します。詳細は [v0.6以降のCLIリファレンス](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md#agent-scan-v06-and-later)、[リスクリファレンス](https://github.com/snyk/agent-scan/blob/main/docs/risks.md)、[失敗コードリファレンス](https://github.com/snyk/agent-scan/blob/main/docs/failure-codes.md) を参照してください。

### 例

```bash
# Scan all known MCP configs and agent skills
snyk-agent-scan

# Scan a specific config file or skill
snyk-agent-scan ~/custom/config.json
snyk-agent-scan ~/path/to/my/SKILL.md

# Inspect without security analysis
snyk-agent-scan inspect

# CI mode
snyk-agent-scan --ci --dangerously-run-mcp-servers
```

## デモ

このリポジトリには、Agent Scan が報告する Model Context Protocol のセキュリティ所見を実演する脆弱な MCP サーバーが含まれています。

MCP のセキュリティ所見をデモする方法は?

1. このリポジトリをクローンする
2. クローンした git リポジトリのルートディレクトリに、以下の内容で `mcp.json` 設定ファイルを作成する:

```jsonc
{
  "mcpServers": {
    "Demo MCP Server": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "mcp", "run", "demoserver/server.py"],
    },
  },
}
```

3. 適切なバージョンを実行します:

   - Agent Scan v0.5.x(issue-code 出力):`uvx --python 3.13 [email protected] scan mcp.json`
   - Agent Scan v0.6 以降(リスクベース出力):`uvx --python 3.13 snyk-agent-scan@latest scan mcp.json`

注:`mcp.json` 設定ファイルのパスを別の場所に置く場合は、MCP サーバー設定内の `args` パスを MCP サーバー(`demoserver/server.py`)へのパスを反映するように調整し、さらに `mcp.json` への正しいファイルパスを指定して Agent Scan を実行する `uvx` コマンドも調整してください。

## Agent Scan はコントリビューションを受け付けていません

Agent Scan は現在、外部からのコントリビューションを受け付けていません。

提案、バグ報告、機能リクエストは GitHub issue として歓迎します。

## 開発環境のセットアップ

ソースから Agent Scan を実行するには、次の手順に従ってください:

```bash
uv run pip install -e .
uv run -m src.agent_scan.cli
```

## Agent Scan の結果を自分のプロジェクト / レジストリに含める

Agent Scan の結果を自分のプロジェクトやレジストリに含めたい場合は、[お問い合わせ](https://evo.ai.snyk.io/#contact-us)ください。この目的のために専用の API が用意されています。大規模スキャンに標準の Agent Scan API を使用することは不正利用とみなされ、アカウントがブロックされます。

## ドキュメント

- [ドキュメント索引](https://github.com/snyk/agent-scan/blob/main/docs/README.md) — 両方の CLI ラインのバージョン別ドキュメント。
- [CLI リファレンス](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md) — v0.5.x および v0.6 以降のコマンド、フラグ、オプション、環境変数。
- [スキャン](https://github.com/snyk/agent-scan/blob/main/docs/scanning.md) — v0.5.x および v0.6 以降のスキャン動作と例。
- [JSON 出力](https://github.com/snyk/agent-scan/blob/main/docs/json-output.md) — v0.5.x のパスキー形式出力と v0.6 のレスポンススキーマ。
- [Issue Codes](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md) — v0.5.x の `E*` および `W*` セキュリティ検出事項リファレンス。
- [リスクリファレンス](https://github.com/snyk/agent-scan/blob/main/docs/risks.md) — v0.6 のセキュリティリスク指標、スコア、エビデンスフィールド。
- [失敗コード](https://github.com/snyk/agent-scan/blob/main/docs/failure-codes.md) — v0.6 の運用上のディスカバリ、検査、分析の失敗。

## 参考資料

- [Introducing MCP-Scan](https://invariantlabs.ai/blog/introducing-mcp-scan)
- [MCP Security Notification Tool Poisoning Attacks](https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks)
- [WhatsApp MCP Exploited](https://invariantlabs.ai/blog/whatsapp-mcp-exploited)
- [MCP Prompt Injection](https://simonwillison.net/2025/Apr/9/mcp-prompt-injection/)
- [Toxic Flow Analysis](https://invariantlabs.ai/blog/toxic-flow-analysis)
- [Skills Report](https://github.com/snyk/agent-scan/blob/main/.github/reports/skills-report.pdf)

## 変更履歴

[CHANGELOG.md](https://github.com/snyk/agent-scan/blob/main/CHANGELOG.md) を参照してください。
ツールをダウンロード