agent-security-scanner-mcp について
agent-security-scanner-mcp は、AI コーディングエージェント向けのセキュリティスキャナーです。リポジトリ、MCP サーバー、プロンプト、エージェントの操作、AI が提案したパッケージを検査します。エージェントが新しいコードやツールを信頼する前のレビューに向けられており、A から F の等級で結果を示します。
主な機能
- 01A から F の等級によるプロジェクトのセキュリティスキャン
- 02ツールポイズニングなどを検出する MCP サーバー監査
- 03プロンプトインジェクションとジェイルブレイクの検出
- 04複数のレジストリを対象としたパッケージ幻覚の検出
- 05SBOM の生成と OSV.dev による CVE スキャン
- 06エージェントから呼び出せるスキャン用 MCP ツール
活用シーン
- 01エージェントが書いた変更をプルリクエスト前にスキャンする
- 02第三者の MCP サーバーをインストール前に監査する
- 03AI が生成した import に存在しないパッケージが含まれていないか確認する
MCP 対応
本プロジェクトは MCP サーバーとして動作します。インストール後、エージェントは scan_mcp_server や scan_packages などのツールを呼び出してセキュリティチェックを実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| file_path | string | はい | スキャンするファイルのパス |
詳細
agent-security-scanner-mcp
AI コーディングエージェント、MCP サーバー、プロンプト、AI が提案したパッケージ向けのセキュリティスキャナーです。
Claude Code、Cursor、Windsurf、Cline、OpenCode、またはその他のエージェントが新しいコード、ツール、プロンプト、依存関係を信頼する前に実行してください。
コピー&ペーストで開始
任意のリポジトリをスキャンして、A〜F のエージェントセキュリティ評価を取得します。
npx agent-security-scanner-mcp scan-project . --verbosity compact
AI コーディングクライアントにスキャナーをインストールします。
npx agent-security-scanner-mcp init claude-code
claude-code を cursor、claude-desktop、windsurf、cline、kilo-code、opencode、または cody に置き換えてください。
エージェントに追加する前に、MCP サーバーを監査します。
npx agent-security-scanner-mcp scan-mcp ./path/to/mcp-server --verbosity compact
AI が生成したインポートに、存在しないパッケージ名が含まれていないか確認します。
npx agent-security-scanner-mcp scan-packages ./src/app.ts npm --verbosity compact
検出できるリスク
| リスク | エージェントに必要な理由 | コマンド |
|---|---|---|
| 脆弱な生成コード | エージェントは SQL インジェクション、XSS、コマンドインジェクション、安全でない暗号処理、シークレットを持ち込む可能性があります | scan-project、scan-security、scan-diff |
| MCP サーバー攻撃 | MCP ツールは説明文を汚染したり、名前を偽装したり、環境変数を流出させたり、コマンドを実行したりする可能性があります | scan-mcp |
| プロンプトインジェクション | エージェントは、信頼できないドキュメント、チケット、ページ、ツール出力を処理することがよくあります | scan-prompt |
| 危険なエージェントの操作 | 実行前に、危険なシェル/ファイル/ネットワーク操作を検出します | scan-action |
| 存在しないパッケージ名 | AI は後に攻撃者が名前を先取りできるような依存関係名をよくでっち上げます | check-package、scan-packages |
| SBOM と CVE | CycloneDX SBOM を生成し、OSV.dev を使って依存関係をスキャンします | sbom-generate、sbom-vulnerabilities |
| セマンティックレビュー | LLM を活用したレビューで、プロジェクトの意図をもとにコンテキストを考慮した問題を検出します | cr-agent |
スクリーンショット
プロジェクトスキャン
MCP サーバー監査
パッケージ名の幻覚検出
デモ
意図的に脆弱性を含むフィクスチャを作成してスキャンし、後片付けを行う安全なローカルデモを実行します。
# MCP audit demo: tool poisoning, spoofed tool name, command execution, secret exposure
npx agent-security-scanner-mcp demo --type mcp --no-prompt
# Package hallucination demo: real imports mixed with fake AI-generated package names
npx agent-security-scanner-mcp demo --type packages --no-prompt
デモの出力例:
{
"grade": "F",
"findings_count": 8,
"findings": [
{
"rule": "mcp.description-injection",
"severity": "ERROR",
"message": "Tool description contains imperative language directed at the LLM."
},
{
"rule": "mcp.tool-name-spoofing",
"severity": "ERROR",
"message": "Tool name is close to a well-known MCP tool name."
}
]
}
エージェントにインストール
npx agent-security-scanner-mcp init claude-code
| クライアント | 設定 |
|---|---|
| Claude Code | npx agent-security-scanner-mcp init claude-code |
| Cursor | npx agent-security-scanner-mcp init cursor |
| Claude Desktop | npx agent-security-scanner-mcp init claude-desktop |
| Windsurf | npx agent-security-scanner-mcp init windsurf |
| Cline | npx agent-security-scanner-mcp init cline |
| Kilo Code | npx agent-security-scanner-mcp init kilo-code |
| OpenCode | npx agent-security-scanner-mcp init opencode |
| Cody | npx agent-security-scanner-mcp init cody |
| 対話型選択 | npx agent-security-scanner-mcp init |
その後、クライアントを再起動します。エージェントはスキャナーを MCP ツールとして呼び出せるようになります。
エージェント向けプレイブック
安全に作業させたいときは、これをエージェントのタスクに貼り付けてください。
Before trusting new code, dependencies, prompts, or MCP tools, run:
1. npx agent-security-scanner-mcp scan-project . --verbosity compact
2. npx agent-security-scanner-mcp scan-packages ./src/app.ts npm --verbosity compact when imports change
3. npx agent-security-scanner-mcp scan-mcp ./path/to/mcp-server --verbosity compact before adding MCP servers
4. npx agent-security-scanner-mcp scan-diff --base main --target HEAD before opening a PR
Fix high-confidence security findings before continuing.
よくあるワークフロー
エージェントが作成した PR を信頼する前に
npx agent-security-scanner-mcp scan-diff --base main --target HEAD --verbosity compact
npx agent-security-scanner-mcp scan-packages ./src/app.ts npm --verbosity compact
MCP サーバーをインストールする前に
npx agent-security-scanner-mcp scan-mcp ./path/to/mcp-server --verbosity compact
AI が提案した依存関係を追加する前に
npx agent-security-scanner-mcp check-package express npm
npx agent-security-scanner-mcp scan-packages ./package.json npm --verbosity compact
CI を追加する
npx agent-security-scanner-mcp init-ci github
実際のスキャン結果から共有用テキストを生成する
npx agent-security-scanner-mcp scan-project . --verbosity compact > scan-result.json
npx agent-security-scanner-mcp share-kit --scan-result scan-result.json --output share-kit.md
CLI リファレンス
| コマンド | 用途 |
|---|---|
scan-project <dir> | プロジェクト全体をスキャンし、A-F の評価を表示します |
scan-security <file> | 単一ファイルのセキュリティスキャン |
scan-diff --base main --target HEAD | 変更されたファイルのみをスキャンします |
scan-mcp <path> | インストール前に MCP サーバーを監査します |
scan-prompt "<text>" | プロンプトインジェクションやジェイルブレイクの試みを検出します |
scan-action <type> <value> | シェル/ファイル/ネットワーク操作を実行する前の安全性チェック |
check-package <name> <ecosystem> | 指定したパッケージが存在することを確認します |
scan-packages <file> <ecosystem> | ファイル内のインポート/依存関係を確認します |
doctor | ローカル環境の状態を確認します |
quickstart --client cursor | リポジトリに合わせた次の手順を生成します |
share-kit | 公開しても安全な告知/共有用の文章を生成します |
export-vanta | スキャンの証跡を ProofLayer Vanta 連携用にエクスポートします |
すべてのスキャナー出力で、コンテキストに配慮した詳細度を指定できます。
--verbosity minimal # counts only, best for CI
--verbosity compact # default, best for agents and humans
--verbosity full # audit/debug detail
エージェント向け MCP ツール
MCP サーバーとしてインストールすると、エージェントは次のツールファミリーを利用できます。
| ツールファミリー | 用途 |
|---|---|
scan_security, fix_security, scan_git_diff, scan_project | コードとリポジトリのセキュリティ |
scan_mcp_server, scan_skill | MCP と AI スキルのセキュリティ |
scan_agent_prompt, scan_agent_action | プロンプト/アクションの安全性 |
check_package, scan_packages | パッケージのハルシネーション検出 |
sbom_generate, sbom_scan_vulnerabilities, sbom_diff, sbom_export_report | サプライチェーンとリリースの証跡 |
get_compliance_controls, evaluate_compliance | SOC2/GDPR/AIUC-1 の技術的証跡 |
scanner_health | 実行時の診断 |
開発者がインストールする理由
npxコマンドを 1 つ実行するだけで、AI が生成したコードの A-F セキュリティ評価を取得できます。- MCP 固有のチェックにより、通常の SAST ツールでは見逃されるリスクを検出できます。
- パッケージのハルシネーション検出では、npm、PyPI、RubyGems、crates.io、pub.dev、CPAN、raku.land にある 430 万以上のパッケージ名を確認します。
- デフォルトでは出力が簡潔なため、コーディングエージェントはコンテキストウィンドウを消費しすぎずに読み取れます。
- CLI、MCP サーバー、GitHub Action ワークフロー、Apify Actor、セマンティックレビューエージェントとして動作します。
- MIT ライセンスです。
セマンティックコードレビュー
cr-agent は LLM を活用したセマンティックレビュー用に npm パッケージに同梱されています。プロジェクトの意図を読み取り、その意図に反するコードを探します。
npx cr-agent analyze ./path/to/project -p claude-cli --verbose
npx cr-agent analyze ./path/to/project -p openai --format sarif
ルールベースのスキャンだけでは不十分で、「このコードは、このプロジェクトが本来目指していることに照らして妥当か?」という問いに答えたい場合に使用してください。
SBOM とコンプライアンスの証跡
npx agent-security-scanner-mcp sbom-generate .
npx agent-security-scanner-mcp sbom-vulnerabilities .
npx agent-security-scanner-mcp sbom-check-hallucinations .
npx agent-security-scanner-mcp evaluate-compliance . --framework soc2-technical
リリース前、SOC 2 の証跡収集、ベンダーレビュー、AI が生成した依存関係の変更時に役立ちます。
Apify Actor
ホスト型 API や定期スキャンが必要な場合は、スキャナーを Apify Actor として実行できます。
{
"actorId": "folkloric_morale/agent-security-scanner",
"input": {
"target": "repository",
"repoUrl": "https://github.com/your-org/your-agent.git",
"repositoryScanMode": "quick",
"includeTestFiles": false,
"maxRepositoryFiles": 150,
"severityThreshold": "medium"
}
}
最新リリース
v4.5.8 では、差分に対象を絞った cr-agent のセマンティックレビューが追加され、ネストされたリポジトリでの差分検索が修正されました。また、セマンティック検出結果を変更されたハンクに絞り込むことで、PR レビューを実際に変更されたコードに集中させます。
詳細なリリース履歴は CHANGELOG.md にあります。以前の README 埋め込み型変更履歴は archive/README_CHANGELOG_ARCHIVE.md にアーカイブされています。
FAQ
MCP サーバー専用ですか? いいえ。通常のリポジトリ、差分、プロンプト、アクション、パッケージ、SBOM、MCP サーバー、AI スキルをスキャンします。
ソースコードが外部に送信されますか?
ルールベースの CLI スキャンと MCP スキャンはローカルで実行されます。cr-agent は、セマンティックレビューに選択したプロバイダーを使用します。
npm audit の代替になりますか? いいえ。AI 固有のリスク、つまりハルシネーションによるパッケージ、プロンプトインジェクション、MCP ツールの汚染、安全でないエージェントの操作、脆弱な生成コードを検出し、npm audit を補完します。
最初に何を実行すればよいですか?
npx agent-security-scanner-mcp scan-project . --verbosity compact を実行してください。
リンク
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。