mcpField
S
security-alert-review

security-alert-review

github.com/microsoftセキュリティ54102 回インストール15 週間前に更新
リポジトリ

security-alert-review について

Azure DevOps のプロジェクトとリポジトリで Advanced Security アラートを確認するスキルです。リポジトリのセキュリティ検出結果を扱うチーム向けに、絞り込み、個別詳細、分類別の集計を行います。

主な機能

  1. 01プロジェクトとリポジトリのアラート取得
  2. 02重大度・状態・種類での絞り込み
  3. 03一覧と個別アラートの表示
  4. 04種類と重大度ごとの集計

活用シーン

  1. 01リポジトリのアクティブなアラートを確認する
  2. 02重大な依存関係やシークレットのアラートを絞る
  3. 03個別アラートの修正情報を確認する

MCP 対応

Azure DevOps MCP Server のツールを使って Azure DevOps と連携し、プロジェクト、リポジトリ、Advanced Security アラートを取得します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/microsoft/azure-devops-skills --skill security-alert-review

インストール後、Claude Code で/security-alert-reviewを入力して読み込まれたか確認します。

詳細

セキュリティアラートの確認

このスキルはプロジェクトとリポジトリのコンテキストで動作します。アラートを取得するには、両方が必要です。

プロジェクトの選択

  • ユーザーがリクエストでプロジェクト名を指定した場合(例:「Contoso の場合」)、そのプロジェクトを直接使用し、core_list_projects を呼び出さないでください。
  • ユーザーがプロジェクト名を指定していない場合は、まず一度だけプロジェクト名を尋ねてください。
  • 一度尋ねてもプロジェクト名がまだ指定されない場合は、core_list_projects を呼び出して、ユーザーが選択できるプロジェクトの一覧を返してください。

リポジトリの選択

  • ユーザーがリポジトリ名を指定した場合は、そのリポジトリを直接使用してください。
  • ユーザーがリポジトリを指定していない場合は、一度だけリポジトリ名を尋ねてください。
  • 一度尋ねてもリポジトリ名がまだ指定されない場合は、repo_list_repos_by_project を呼び出して、ユーザーが選択できるリポジトリの一覧を取得してください。

ツール

Azure DevOps とのすべてのやり取りには、Azure DevOps MCP Server のツールを使用してください。

  • core_list_projects:組織内のプロジェクト一覧を取得します。
  • repo_list_repos_by_project:プロジェクトのリポジトリ一覧を取得します。
  • advsec_get_alerts:リポジトリの Advanced Security アラートを取得します。重大度、状態、アラートの種類、信頼度で絞り込むこともできます。
  • advsec_get_alert_details:ID で指定したアラートの詳細情報を取得します。

ルール

1. リポジトリのアラート一覧を取得する

  • ユーザーがアラートの一覧表示、セキュリティアラートの表示、またはアラートの確認を依頼した場合は、指定されたプロジェクトとリポジトリについて advsec_get_alerts を呼び出してください。
  • ユーザーのリクエストに応じてフィルターを適用してください。
    • 重大度:severities で絞り込みます(例:「Critical のアラートを表示」→ ["Critical"])。
    • 状態:states で絞り込みます(例:「アクティブなアラートを表示」→ ["Active"])。
    • アラートの種類:alertType で絞り込みます(例:「依存関係のアラートを表示」→ "Dependency")。有効な種類は Dependency、Secret、Code です。
  • ユーザーが特定の信頼度フィルターを明示的に指定しない限り、advsec_get_alerts のすべての呼び出しに必ず confidenceLevels: ["High", "Other"] を含めてください。
  • ユーザーがフィルターを指定しない場合は、デフォルトで既定ブランチのアクティブなアラートをすべて表示してください(onlyDefaultBranch: true、states: ["Active"]、confidenceLevels: ["High", "Other"] を使用します)。
  • 結果は表で表示してください。
  • アラートがない場合は、このリポジトリに条件に一致するアラートがないことを明示してください。
例
  • 「プロジェクト Contoso のリポジトリ MyApp のセキュリティアラートを表示」
  • 「リポジトリ MyApp の重大度が Critical の依存関係アラートを一覧表示」
  • 「リポジトリ MyApp のアクティブなシークレットアラートをすべて表示」

2. 特定のアラートの詳細を取得する

  • ユーザーが特定のアラートについて尋ねた場合(例:「アラート 42」または「アラート 42 について教えて」)、アラート ID、プロジェクト、リポジトリを指定して advsec_get_alert_details を呼び出してください。
  • 影響を受けるファイル、行番号、説明、修正のガイダンス、ルール情報など、利用可能な詳細フィールドをすべて表示してください。
例
  • 「プロジェクト Contoso のリポジトリ MyApp でアラート 42 の詳細を表示」
  • 「アラート 42 の内容を教えて」

3. 概要の表示

  • ユーザーがアラートの要約または概要を求めた場合は、advsec_get_alerts を呼び出し(重大度と種類のフィルターは指定せず、states: ["Active"] と confidenceLevels: ["High", "Other"] を指定)、次の項目ごとにグループ化した概要を提示してください。
    1. アラートの種類(Dependency、Secret、Code)と件数。
    2. 重大度(Critical、High、Medium、Low、Other)と種類ごとの件数。
  • 概要はコンパクトな表にまとめ、その後に合計件数を記載してください。
  • 注:advsec_get_alerts がデフォルトで返すアラートは最大 100 件です。結果に継続トークンが含まれている場合は、概要がアラートの最初のバッチに基づいていることと、追加のアラートが存在することをユーザーに知らせてください。
例
  • 「リポジトリ MyApp のセキュリティ概要を教えて」
  • 「プロジェクト Contoso のリポジトリ MyApp のアラートを要約して」

結果の表示

アラート一覧を表示する場合は、次の表を使用します。

  • アラート ID
  • タイトル(アラートのタイトルまたはルール名)
  • 絵文字付きの重大度:🔴 Critical、🟠 High、🟡 Medium、🟢 Low
  • 状態(Active、Dismissed、Fixed、AutoDismissed)
  • アラートの種類(Dependency、Secret、Code)
  • ルール(ルール ID または名前)
  • MM/DD/YYYY 形式の初回検出日

アラートの詳細を表示する場合は、次の項目を含めます。

  • 一覧表示のすべての項目に加えて、次の項目:
  • 説明 — アラートの意味を示す全文。
  • ファイルパスと行番号(該当する場合)— 問題が検出された場所。
  • 修正方法 — 問題の修正方法に関するガイダンス(アラートの詳細から取得できる場合)。
  • 信頼度 — High または Other(シークレットアラートの場合)。
  • 有効性 — Active、Inactive、または Unknown(シークレットアラートの場合)。
  • ツール名 — アラートを検出したスキャンツール。

概要を表示する場合は、次の表を使用します。

アラートの種類🔴 Critical🟠 High🟡 Medium🟢 LowOther合計
Dependency件数件数件数件数件数件数
Secret件数件数件数件数件数件数
Code件数件数件数件数件数件数
合計件数件数件数件数件数件数

Other 列には、Critical/High/Medium/Low 以外の重大度のアラート(例:Note、Warning、Error、Undefined)が含まれます。

コメント