关于 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"])。 - 状态:通过
states筛选(例如,“显示活动警报” →["Active"])。 - 警报类型:通过
alertType筛选(例如,“显示依赖项警报” →"Dependency")。有效类型包括:Dependency、Secret、Code。
- 严重性:通过
- 除非用户明确要求特定的置信度筛选条件,否则每次调用
advsec_get_alerts时都必须包含confidenceLevels: ["High", "Other"]。 - 如果用户未指定筛选条件,默认显示默认分支上的所有活动警报(使用
onlyDefaultBranch: true、states: ["Active"]和confidenceLevels: ["High", "Other"])。 - 使用表格展示结果。
- 如果没有警报,请明确说明此存储库中没有符合条件的警报。
示例
- “显示项目 Contoso 中存储库 MyApp 的安全警报”
- “列出存储库 MyApp 中严重的依赖项警报”
- “显示存储库 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
- 标题(警报标题或规则名称)
- 严重性,并带有表情符号:🔴 严重,🟠 高,🟡 中,🟢 低
- 状态(Active、Dismissed、Fixed、AutoDismissed)
- 警报类型(Dependency、Secret、Code)
- 规则(规则 ID 或名称)
- 首次发现时间,格式为
MM/DD/YYYY
显示警报详情时,请展示:
- 列表视图中的所有字段,此外还包括:
- 描述 — 警报含义的完整说明。
- 文件路径和行号(如适用)— 发现问题的位置。
- 修复方法 — 如何修复问题的指导(如警报详情中提供)。
- 置信度 — High 或 Other(针对 Secret 警报)。
- 有效性 — Active、Inactive 或 Unknown(针对 Secret 警报)。
- 工具名称 — 发现该警报的扫描工具。
显示摘要视图时,请展示:
| 警报类型 | 🔴 严重 | 🟠 高 | 🟡 中 | 🟢 低 | 其他 | 总计 |
|---|---|---|---|---|---|---|
| Dependency | count | count | count | count | count | count |
| Secret | count | count | count | count | count | count |
| Code | count | count | count | count | count | count |
| 总计 | count | count | count | count | count | count |
其他列包含严重性值不属于 Critical/High/Medium/Low 的所有警报(例如 Note、Warning、Error 或 Undefined)。
评论
支持 Markdown