security-alert-review について
Azure DevOps のプロジェクトとリポジトリで Advanced Security アラートを確認するスキルです。リポジトリのセキュリティ検出結果を扱うチーム向けに、絞り込み、個別詳細、分類別の集計を行います。
主な機能
- 01プロジェクトとリポジトリのアラート取得
- 02重大度・状態・種類での絞り込み
- 03一覧と個別アラートの表示
- 04種類と重大度ごとの集計
活用シーン
- 01リポジトリのアクティブなアラートを確認する
- 02重大な依存関係やシークレットのアラートを絞る
- 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"]を指定)、次の項目ごとにグループ化した概要を提示してください。- アラートの種類(Dependency、Secret、Code)と件数。
- 重大度(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 | 🟢 Low | Other | 合計 |
|---|---|---|---|---|---|---|
| Dependency | 件数 | 件数 | 件数 | 件数 | 件数 | 件数 |
| Secret | 件数 | 件数 | 件数 | 件数 | 件数 | 件数 |
| Code | 件数 | 件数 | 件数 | 件数 | 件数 | 件数 |
| 合計 | 件数 | 件数 | 件数 | 件数 | 件数 | 件数 |
Other 列には、Critical/High/Medium/Low 以外の重大度のアラート(例:Note、Warning、Error、Undefined)が含まれます。
コメント
Markdown 対応