SuperAPI AI 工具集

security-alert-review

安全与审计

查看项目

更新于 10-15 13:50

技能介绍

用途

该技能用于在 Azure DevOps 项目与仓库的上下文中,列出并审阅 Advanced Security 告警。它覆盖三类发现:依赖项漏洞(Dependency)、密钥泄露(Secret)和代码扫描发现(Code)。要检索告警,项目与仓库均为必填的上下文信息。

主要能力

列出仓库告警

当用户要求列出、展示或审阅安全告警时,技能会调用 advsec_get_alerts。可按用户请求应用过滤条件:

  • 严重性(Severity):如“显示严重告警”→ ["Critical"]
  • 状态(State):如“显示活跃告警”→ ["Active"]
  • 告警类型(alertType):如“显示依赖项告警”→ "Dependency"。有效类型为:Dependency、Secret、Code。

除非用户明确要求特定的置信度过滤,否则每次调用 advsec_get_alerts 都会包含 confidenceLevels: ["High", "Other"]。若用户未指定过滤条件,则默认显示默认分支上的所有活跃告警(useOnlyDefaultBranch: true、states: ["Active"]、confidenceLevels: ["High", "Other"])。结果以表格展示;若无告警,则明确说明该仓库没有符合条件的结果。

示例:“show security alerts for repo MyApp in project Contoso”、“list critical dependency alerts for repo MyApp”、“show all active secret alerts in repo MyApp”。

查看单个告警详情

当用户询问某个具体告警(如“alert 42”或“tell me about alert 42”)时,调用 advsec_get_alert_details,传入告警 ID、项目与仓库。展示所有可用详情字段,包括受影响文件、行号、描述、修复指导及规则信息。

示例:“show details for alert 42 in repo MyApp, project Contoso”、“what is alert 42 about?”。

汇总视图

当用户要求告警汇总或概览时,调用 advsec_get_alerts(不带严重性或类型过滤,states: ["Active"]、confidenceLevels: ["High", "Other"]),并按以下方式分组呈现:

  • 按告警类型(Dependency、Secret、Code)及数量
  • 按严重性(Critical、High、Medium、Low、Other)及每种类型的数量

汇总以紧凑表格展示,随后给出总数。注意:advsec_get_alerts 默认最多返回 100 条告警。若结果包含 continuation token,需告知用户该汇总基于第一批告警,且存在更多告警。

示例:“give me a security overview for repo MyApp”、“summarize the alerts in repo MyApp for project Contoso”。

使用方式

项目与仓库选择

项目选择:若用户在请求中提供了项目名(例如“for 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 获取某个具体告警的详细信息。

结果显示

显示告警列表时展示:告警 ID、标题(告警标题或规则名)、严重性(带 emoji:🔴 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、Total;行为 Dependency、Secret、Code 及 Total。“Other”列包含严重性值不在 Critical/High/Medium/Low 之列的告警(例如 Note、Warning、Error 或 Undefined)。

适用场景

适用于需要审阅 Azure DevOps 仓库安全状况的开发或安全工作流,例如查看默认分支上的活跃告警、按类型或严重性排查依赖项漏洞与密钥泄露、查看某个具体告警的修复指导,或生成整体安全概览。

限制

该技能必须在项目与仓库上下文中工作,二者均为检索告警的必填项。advsec_get_alerts 默认最多返回 100 条告警,超出时会给出 continuation token,此时汇总仅基于第一批。部分详情字段(如修复建议、文件路径与行号、置信度、有效性、工具名称)仅在告警详情中存在时才展示。