mcpField
O
owasp-scan

owasp-scan

ローカル
github.com/GuardBeeセキュリティ2今日更新

owasp-scan について

owasp-scanは、OWASP MCP Top 10をまとめて検査するコマンドラインツール兼MCPサーバーです。コード、稼働中サーバーのツール一覧、保存済みのtools/list応答を調べ、A–Fで評価します。

主な機能

  1. 01コードスキャンで七つの監査器を実行
  2. 02稼働中サーバーまたは保存済み一覧を検査
  3. 03OWASP IDとA–F評価を報告
  4. 04テキスト、JSON、SARIF出力
  5. 05--discover-shadowで設定済みサーバーを一覧化

活用シーン

  1. 01コードベースの統合セキュリティスキャン
  2. 02稼働中MCPサーバーの公開ツールを評価
  3. 03SARIF結果をGitHubコードスキャンに追加
  4. 04設定済みサーバーのシャドーMCP項目を確認

MCP 対応

owasp_scan_path、owasp_scan_live、owasp_scan_catalog、list_owasp_coverageを公開します。ライブモードはMCPサーバーに接続してtools/listを呼び出します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"guardbee-owasp-scan": {
"command": "npx",
"args": [
"-y",
"@guardbee/mcp-owasp-scan"
]
}
}
}
起動コマンドnpx -y @guardbee/mcp-owasp-scan

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@guardbee/mcp-owasp-scan0.5.1

ツール

4

掲載時のツール一覧 · 今日に更新

パラメーター型必須説明
pathstringはいスキャンするファイルまたはディレクトリ
maxFilesintegerいいえ
allowlistPathstringいいえShadow MCP discover 用の許可リストファイル
discoverShadowbooleanいいえこのホスト上の Shadow MCP も検出します(MCP09)

詳細

@guardbee/mcp-owasp-scan

🇬🇧 英語 | 🇹🇷 トルコ語 | 🇨🇳 中国語 | 🇯🇵 日本語 | 🇰🇷 韓国語 | 🇧🇷 ポルトガル語 | 🇪🇸 スペイン語 | 🇩🇪 ドイツ語

npm version npm downloads License: MIT

1つの CLI と MCP サーバーで、統合されたOWASP MCP Top 10チェックを実行します。7つの GuardBee 監査ツールをコードベース全体に一括で実行するか、稼働中の MCP サーバーのツール一覧を評価し、すべての検出事項を OWASP ID と A~F の評価とともに報告します。GitHub コードスキャン向けに、テキスト、JSON、SARIF 形式で出力できます。

テレメトリはデフォルトでオフです。GUARDBEE_TELEMETRY=1 を設定すると、サーバー、ツール、成功の有無、所要時間、ファイルパスなどの短いパラメーター値が送信されます。長い文字列や、content、token、password などのフィールドはプレースホルダーに置き換えられます。@guardbee/mcp-telemetryを参照してください。

クイックスタート

# Static scan of a repository, fail CI on high or critical findings
npx @guardbee/mcp-owasp-scan scan ./src --format=sarif --fail-on=high > owasp.sarif

# Connect to a running MCP server and grade its tools
npx @guardbee/mcp-owasp-scan live --url=https://mcp.example.com/mcp
npx @guardbee/mcp-owasp-scan live --stdio=npx --arg=-y --arg=@modelcontextprotocol/server-filesystem --arg=.

# Grade a saved tools/list response
npx @guardbee/mcp-owasp-scan catalog ./tools.json --format=json

MCP サーバーとして使用する場合(Claude Desktop、Cursor、VS Code):

{
  "mcpServers": {
    "guardbee-owasp-scan": {
      "command": "npx",
      "args": ["-y", "@guardbee/mcp-owasp-scan"]
    }
  }
}

モード

モード入力実行内容
scan <path>ファイルまたはディレクトリsecret-scanner、mcp-server-auditor、oauth-auditor、audit-gap-auditor、context-oversharing-auditor、toxic-flow-auditor、tool-poisoning-scanner
live--url=<streamable HTTP URL> または --stdio=<command> と --arg=…接続し、tools/list を呼び出した後、toxic-flow-auditor と tool-poisoning-scanner を実行します
catalog <tools.json>tools/list のダンプ({ "tools": [...] } または配列のみ)オフラインで live と同じチェックを実行します

scan は TypeScript/JavaScript、Python(FastMCP、公式 SDK、低レベルサーバー)、Go(公式 go-sdk、mark3labs/mcp-go)の MCP サーバーを、ツール定義、ハンドラーのシンク、OAuth ルールまで網羅して解析します。その他の言語(Rust、Java、Kotlin、C#、Ruby、PHP、Swift)では、言語に依存しないルール(シークレット、URL、設定)のみが適用されます。レポートの coverage には、言語、解析深度(full または patterns)、検出されたツール定義の数とともに、すべてのソースファイルが一覧表示されます。また、言語ごとの概要(テキスト出力の languages:)も含まれるため、十分に解析できなかったファイルも見落とされず、チェックを通過したように扱われることはありません。

--discover-shadow を指定すると、scan に MCP09 チェックが追加されます。mcp-config-auditor を通じて、このマシンに設定されている MCP サーバー(Cursor、Claude Desktop、Windsurf、VS Code)を一覧表示し、--allowlist=<path> で承認済みのサーバーを指定できます。

OWASP MCP Top 10 の対応状況

IDリスク対応するもの
MCP01トークン/認証情報の漏えいsecret-scanner, mcp-server-auditor
MCP02過剰な権限/過剰な自律性mcp-server-auditor
MCP03ツールポイズニング/ラグプルの攻撃対象tool-poisoning-scanner(scan、live、catalog)
MCP04サプライチェーンこのメタスキャンでは対象外です。ネットワークが必要な mcp-dependency-auditor と mcp-slopsquat-scanner を使用してください
MCP05ツールを介したコマンド/コードインジェクションmcp-server-auditor
MCP06プロンプト/コンテキストインジェクションこのメタスキャンでは対象外です。エージェントが読み取るコンテンツに mcp-prompt-injection-scanner を使用してください
MCP07認証/OAuth の設定ミスoauth-auditor
MCP08監査とテレメトリーの欠如audit-gap-auditor
MCP09シャドー MCP サーバーmcp-config-auditor(--discover-shadow)
MCP10有害なフロー/コンテキストの過剰共有toxic-flow-auditor, context-oversharing-auditor(scan、live、catalog)

グレード

グレード条件
F致命的な三要素:1 つのエージェントが信頼できないコンテンツを読み取り、機密データにアクセスし、データを外部に送信できる
D重大な検出結果がある
C高リスクの検出結果がある
B中リスクまたは低リスクの検出結果のみ
A検出結果なし

CLI オプション

オプションデフォルト説明
--format=text|json|sariftextレポート形式です。SARIF は GitHub code scanning にアップロードされます
--fail-on=any|critical|high|medium|noneanyこの重大度以上の検出結果がある場合に終了コード 1 を返します
--max-files=<n>5000パススキャンをこの数のファイルの後に停止します
--discover-shadowoffscan に MCP09 のホストインベントリーを追加します
--allowlist=<path>–--discover-shadow の承認済みサーバー

終了コード:0 問題なし(または --fail-on 未満)、1 --fail-on 以上の検出結果あり、2 使用方法のエラー。

MCP ツール

ツール機能
owasp_scan_pathパスに対する scan モード(path、maxFiles、discoverShadow、allowlistPath)
owasp_scan_livelive モード(url、または args を指定した command)
owasp_scan_catalogJSON 文字列に対する catalog モード
list_owasp_coverage上記の対応状況の表

GitHub Actions

- run: npx -y @guardbee/mcp-owasp-scan scan . --format=sarif --fail-on=high > owasp.sarif
- uses: github/codeql-action/upload-sarif@v3
  if: always()
  with:
    sarif_file: owasp.sarif

関連パッケージ

各監査ツールは、より多くのオプションを備えた独立したパッケージでもあります:mcp-secret-scanner、mcp-server-auditor、mcp-oauth-auditor、mcp-audit-gap-auditor、mcp-context-oversharing-auditor、mcp-toxic-flow-auditor、mcp-tool-poisoning-scanner、mcp-config-auditor。コード内で検出するのではなく、実行時にこれらのルールを適用するには、MCP サーバーの前段に mcp-security-proxy を配置してください。

フィードバック

質問、アイデア、誤検知がありましたら、GitHub Discussions でスレッドを開始するか、issue を作成してください。GuardBee が役に立った場合は、リポジトリに ⭐ を付けていただくと、ほかの人にも見つけてもらいやすくなります。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。