Black Duck Security Scanner について
Black Duck Security Scanner は、コーディングアシスタントから Black Duck Signal でコードをスキャンする MCP サーバーです。Git の変更を対象とする増分スキャンと、ファイルやディレクトリの指定スキャンに対応します。
主な機能
- 01Git 変更の増分スキャン
- 02ファイルとディレクトリの指定スキャン
- 03SARIF レポートと深刻度別件数
- 04Windows、macOS、Linux に対応
活用シーン
- 01新しいコード変更の脆弱性確認
- 02非 Git プロジェクトの指定パスのスキャン
MCP 対応
Git の変更または指定したファイルやディレクトリをスキャンするツールを提供します。結果にはレポートのパス、深刻度別件数、リソース URI、分析ガイダンスが含まれます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Black Duck MCP
Black Duck MCP は、Signal の AI を活用したセキュリティ分析を開発環境に直接導入します。Claude、Gemini、Cursor、Copilot などの主要なコーディングアシスタントを通じてコードをスキャンできるため、セキュリティ上の問題を検出し、実行可能な分析結果を受け取り、推奨される修正を迅速かつ一貫して適用できます。
主な機能とメリット
- 変更箇所のスキャン:
- 開発者が加えたコード変更のみを対象に、高速な増分セキュリティスキャンを実行します。
- コードの記述中に問題を早期検出するのに最適です。
- ファイルのスキャン:
- 特定のファイルまたはディレクトリを対象に、セキュリティ分析を実行します。
- Git を使用していないプロジェクトや、コードベースの特定の部分を分析したい開発者に最適です。
- クロスプラットフォーム対応:
- Windows、macOS、Linux で動作します。
要件
- Signal ライセンス
- Node.js v24.0.0 以降
はじめに
ステップ 1:MCP クライアントに追加する
MCP クライアントに次の設定を追加します(例として Claude のユーザーレベル設定を使用します)。
{
"mcpServers": {
"black-duck-signal": {
"command": "npx",
"args": ["-y", "@black-duck/mcp-server"],
"env": {
"BLACKDUCK_MCP_GATEWAY_KEY": "your-api-key-here"
}
}
}
}
ステップ 2:最初のスキャン
MCP クライアントで次のプロンプトのいずれかを使用して開始します。
Scan my code changes for security vulnerabilities
MCP クライアントがセキュリティスキャンを実行し、加えられたコード変更で見つかった脆弱性を報告します。変更されたファイルを特定するには、プロジェクトが Git ベースである必要があります。
Scan the changed files with respect to the main branch
MCP クライアントがセキュリティスキャンを実行し、メインブランチと比較した現在のブランチのコード変更のみを考慮して、加えられたコード変更で見つかった脆弱性を報告します。変更されたファイルを特定するには、プロジェクトが Git ベースである必要があります。
Scan all files under folder foobar for security vulnerabilities
MCP クライアントがセキュリティスキャンを実行し、見つかった脆弱性を報告します。
ツール
| ツール | パラメーター | 戻り値 | 最適なユースケース |
|---|---|---|---|
run_changes_security_scan | projectPath(必須):Git プロジェクトの絶対パスgitPatchMode(必須):• all-uncommitted:ステージ済みおよび未ステージの変更をスキャンします• reference-branch:ブランチ作成後の変更をスキャンしますreferenceBranch(任意):参照ブランチ名(例:main)scanEntireFileContent(任意):true の場合、変更行だけでなく、変更されたファイルの内容全体をスキャンします。デフォルト:false | • sarifFilePath:SARIF レポートのパス• status:success または failure• resourceUris:MCP リソース URI• issueCounts:重要度別の件数• analysisGuidance:分析手順 | • 高速:変更されたコードのみを分析します • 重点的:変更箇所の問題を表示します • 反復的:開発ワークフローと CI/CD に最適です • 効率的:スキャンのコストと時間を削減します |
run_security_scan | projectPath(必須):プロジェクトの絶対パスfilePaths(必須):スキャン対象のファイルまたはディレクトリの絶対パスの配列 | • sarifFilePath:SARIF レポートのパス• status:success または failure• resourceUris:MCP リソース URI• issueCounts:重要度別の件数• analysisGuidance:分析手順 | • 特定のファイルやディレクトリの分析 • 重要なパスに対する重点的なセキュリティレビュー • 開発中の簡易チェック • Git を使用しないプロジェクト |
オプション設定
Black Duck Signal MCP サーバーは、次の環境変数に対応しています。
| 変数 | デフォルト | 説明 |
|---|---|---|
BLACKDUCK_MCP_GATEWAY_KEY | なし(必須) | AI 分析を強化するための API キー |
BLACKDUCK_HOME | ユーザーのホームディレクトリ | デフォルトの .blackduck フォルダーの場所を上書きします |
BLACKDUCK_MCP_TOOL_TIMEOUT | 1800000(30 分) | スキャンのタイムアウト時間(ミリ秒) |
BLACKDUCK_MCP_LOG_LEVEL | info | ログレベル:error、warn、info、または debug |
これらの変数は、MCP クライアントの設定で指定できます。
{
"mcpServers": {
"black-duck": {
"command": "npx",
"args": ["-y", "@black-duck/mcp-server"],
"env": {
"BLACKDUCK_MCP_GATEWAY_KEY": "your-api-key-here",
"BLACKDUCK_MCP_LOG_LEVEL": "debug"
}
}
}
}
ログとトラブルシューティング
ログの場所
すべての MCP ログは、Linux/macOS では /Users/<username>/.blackduck/mcp/logs/ に、Windows では C:\Users\<Username>\AppData\Roaming\BlackDuck\mcp\logs\ に書き込まれます(BLACKDUCK_HOME でカスタマイズ可能です)。
black-duck-mcp.log- 統合ログ(すべてのレベル)black-duck-mcp-error.log- エラーのみのログ
IP 許可リスト
MCP サーバーが適切に機能するには、以下の URL と IP アドレスへのアクセスが必要です。
| URL | IP アドレス |
|---|---|
repo.blackduck.com | 34.149.5.115 |
llm.core.blackduck.com | 104.18.36.253 |
ファイアウォールで、これらのエンドポイントへの HTTPS(ポート 443)の送信接続が許可されていることを確認してください。
ライセンス
このプロジェクトは MIT License に基づいてライセンスされています。
リソース
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。