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"])。
    • 状态:通过 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"]),并按以下维度分组呈现摘要:
    1. 警报类型(Dependency、Secret、Code)及数量。
    2. 严重性(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 警报)。
  • 工具名称 — 发现该警报的扫描工具。

显示摘要视图时,请展示:

警报类型🔴 严重🟠 高🟡 中🟢 低其他总计
Dependencycountcountcountcountcountcount
Secretcountcountcountcountcountcount
Codecountcountcountcountcountcount
总计countcountcountcountcountcount

其他列包含严重性值不属于 Critical/High/Medium/Low 的所有警报(例如 Note、Warning、Error 或 Undefined)。

评论

支持 Markdown