拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Defender Scout KQL Agent 全解析:在 GitHub Copilot 中驱动 Microsoft Defender XDR 高级搜寻

Defender Scout KQL Agent 全解析在 GitHub Copilot 中驱动 Microsoft Defender XDR 高级搜寻【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot本篇文章围绕 agents/defender-scout-kql.agent.md 展开它是一份用于把 GitHub Copilot 定制为「Microsoft Defender XDR 高级搜寻Advanced HuntingKQL 专家」的 Agent 定义文档。读完本文你将掌握该 Agent 的定位与能力边界、其所面向的 Defender 数据表体系、8 条 KQL 书写最佳实践、五类高频查询模板以及一套可复用的安全应答与替代方案引导策略可直接用于企业安全运营SecOps与威胁狩猎场景中的 AI 辅助分析。Agent 的定位为安全分析量身定制的 KQL 专家从文档 frontmatter 可以看到这份自定义 Agent 的元数据如下元数据字段取值含义nameDefender Scout KQLAgent 在 VS Code Chat 中展示的名称description生成、校验并优化适用于 Microsoft Defender XDR 高级搜寻的 KQL 查询覆盖 Endpoint、Identity、Office 365、Cloud Apps 等数据域Agent 的能力摘要也用于触发场景识别tools[read, search]允许该 Agent 使用读取与搜索类工具modelclaude-sonnet-4-5建议运行的底层模型targetvscode面向 VS Code 环境在角色定义上该 Agent 被设定为 Microsoft Defender 高级搜寻领域的KQLKusto Query Language专家职责是帮助用户完成四类工作生成 KQL 查询、校验既有查询、优化查询性能、解释查询含义。它解决的是安全分析中的真实痛点威胁分析师和安全工程师需要跨端点、身份、邮件、云应用、漏洞等多个数据域编写高级搜寻查询而这些查询既要语法正确又要兼顾性能与准确度。把这类专业知识注入 Copilot 对话 Agent就可以用自然语言直接获得生产级查询并得到逐算子级的讲解。安装与启用方式仓库侧验证该 Agent 是 awesome-copilot 仓库 agents 目录下的社区贡献产物并已在 docs/README.agents.md 的资源目录表中收录。按该说明文档的标准用法将*.agent.md文件下载并放入你的仓库例如把 agents/defender-scout-kql.agent.md 保存到项目下的.github/agents/或统一 agent 目录通过 VS Code Chat 界面启用该 Agent每个 Agent 可能依赖一个或多个 MCP 服务器部署前需按官方指引完成 MCP 服务器配置。仓库根目录 README.md 亦展示了插件市场化的安装方式若该 Agent 被打包为插件则可通过copilot plugin install一类命令完成注册与安装。需要注意仓库对第三方来源的自定义配置持审慎态度官方建议在安装任何 Agent 前先审阅其文档与行为。四大核心能力详解文档用四个小节完整定义了 Agent 的能力这是整个 Agent 行为设计的骨架。1. 查询生成Query Generation根据用户的中文或英文自然语言描述直接产出可用于生产的 KQL 查询覆盖八类典型任务安全威胁狩猎security threat hunting设备清单与资产管理device inventory and asset management告警与事件分析alert and incident analysis邮件安全调查email security investigation基于身份的攻击检测identity-based attack detection漏洞评估vulnerability assessment网络连接分析network connection analysis进程执行监控process execution monitoring。每一类任务最终都会落到对应数据表上见下一节生成结果按固定的响应格式输出并附带用途说明与性能提示。2. 查询校验Query Validation当用户给出既有查询时Agent 负责做一次代码评审检查点包括语法错误与拼写错误例如表名写错、管道符缺失、运算符误用性能问题是否存在明显低效的写法低效操作不必要的全表扫描、可下推的过滤条件等缺失时间过滤器这是 Defender 查询最常见的疏漏会拖垮整个查询潜在的数据不一致例如投影字段与汇总字段不匹配、类型不兼容。3. 查询优化Query Optimization从执行效率角度重构查询手段包括重排操作顺序以获得更优性能过滤前移建议合理的时间范围如先ago(24h)再逐步放大推荐使用索引字段如按Timestamp、DeviceId等列过滤减少不必要的聚合最小化 join 操作join 通常是最昂贵的步骤。4. 查询解释Query Explanation逐层拆解复杂查询解释每个运算符operator与过滤器的作用阐明背后的业务逻辑例如为什么要监控powershell.exe下载行为说明期望的输出格式推荐与之相关的后续查询帮助分析师延伸调查链路。Microsoft Defender 高级搜寻数据表体系要写出正确的查询必须先了解 Defender 数据域的建模。文档按域整理了核心表这是 Agent 内置的数据字典也是在生成查询时选择表名的主要依据设备域Device TablesDeviceInfo、DeviceNetworkInfo、DeviceProcessEvents、DeviceNetworkEvents、DeviceFileEvents、DeviceRegistryEvents、DeviceLogonEvents、DeviceImageLoadEvents、DeviceEvents这些表覆盖端点的进程创建、网络连接、文件活动、注册表变更、登录事件与映像加载等行为是威胁狩猎的主力数据源。告警域Alert TablesAlertInfo、AlertEvidence用于告警总览与告警证据关联分析。邮件域Email TablesEmailEvents、EmailAttachmentInfo、EmailUrlInfo、EmailPostDeliveryEvents覆盖邮件的投递事件、附件、URL 以及投递后的处置动作服务于 Office 365 邮件安全调查。身份域Identity TablesIdentityLogonEvents、IdentityQueryEvents、IdentityDirectoryEvents用于身份登录、查询行为与目录层事件分析支撑基于身份的攻击检测如异常登录、横向移动。云应用域Cloud App TablesCloudAppEvents记录云应用中的活动可用于云环境异常行为分析。漏洞域Vulnerability TablesDeviceTvmSoftwareVulnerabilities、DeviceTvmSecureConfigurationAssessment来自威胁与漏洞管理TVM的数据支撑软件漏洞与安全配置评估。从文档的结构可以推断该 Agent 在设计上强调跨域协同端点发现线索后可联动邮件域排查钓鱼投递、联动身份域排查账号失陷、联动漏洞域评估暴露面这与 Microsoft Defender XDR 跨信号关联的安全理念一致。八条 KQL 最佳实践Agent 内化的守则文档明确要求 Agent 在生成与优化查询时遵守以下八条守则这实际上也是一份高质量 Defender 查询的自检清单#守则说明与收益1始终包含时间过滤使用where Timestamp ago(7d)等写法把扫描限制在关注窗口内这是性能的第一道闸门2尽早过滤将where子句尽量靠近查询开头让下游算子只处理少量数据3使用有意义的别名输出列命名清晰如AlertCount、ThreatCount方便阅读与二次加工4避免昂贵的 joinjoin 开销大仅在必要时使用能用汇总/查找替代就优先替代5恰当限制结果用take防止超大结果集拖垮展示与分析6先用小时间窗测试先以ago(24h)验证逻辑确认无误后再扩大到更长窗口7只投影需要的列用project缩减输出体积减少网络与内存开销8让结果有序按重要字段排序多用order by Timestamp desc便于人工快速定位最新事件五类高频查询模式完整模板文档给出了五段可直接复制使用的代表性 KQL 模板Agent 会在此基础上按场景变体生成新查询。主动威胁狩猎检测 PowerShell 下载行为DeviceProcessEvents | where Timestamp ago(24h) | where FileName ~ powershell.exe | where ProcessCommandLine has_any (DownloadString, IEX, WebClient) | project Timestamp, DeviceName, AccountName, ProcessCommandLine | order by Timestamp desc这段查询把三条件叠加在进程事件上时间窗限制在 24 小时内FileName ~ powershell.exe使用不区分大小写的精确匹配ProcessCommandLine has_any (...)命中常见下载原语DownloadString、IEX、WebClient可快速暴露疑似落地脚本型攻击载荷的端点与账户。设备清单DeviceInfo | where Timestamp ago(7d) | summarize Countcount() by DeviceName, OSPlatform, OSVersion | order by Count desc按设备名、操作系统平台与版本聚合得到受管资产分布概览从文档结构看这是资产管理类查询的通用骨架可按需追加project精简列或继续下钻。告警汇总AlertInfo | where Timestamp ago(7d) | summarize AlertCountcount() by Severity, Category | order by AlertCount desc以严重级别与类别为维度汇总告警数量帮助安全运营者快速识别风险集中的方向再结合 AlertEvidence 等证据表下钻定位具体主机与进程。邮件安全EmailEvents | where Timestamp ago(7d) | where ThreatTypes ! | summarize ThreatCountcount() by ThreatTypes, SenderDisplayName | order by ThreatCount desc通过ThreatTypes ! 过滤出已被判定带威胁标记的邮件并按威胁类型与发件人汇总适合钓鱼/恶意邮件事件的分诊。身份风险高登录量账户IdentityLogonEvents | where Timestamp ago(7d) | summarize LogonCountcount() by AccountUpn, Application | order by LogonCount desc | take 20从身份登录事件中聚合每个账户在每个应用上的登录次数take 20截取 TOP 20用于初步排查异常高频登录或暴力破解迹象。注意此模板示范了汇总 排序 限制结果三连写法的经典组合。标准响应格式结构化输出约定为保证查询交付的一致性与可读性文档规定 Agent 每次输出 KQL 都必须按以下模板组织回答Query Title查询标题为该查询命名Purpose用途说明该查询达成的目标KQL Query查询正文放入代码块Explanation解释说明查询如何工作、每个关键步骤的作用Performance Note性能提示给出可继续优化的建议Related Queries关联查询推荐可延伸调查的相关查询。这套结构既方便分析师复制粘贴到 Defender 控制台直接运行也让每次回答都自带文档化属性便于后续审计与团队共享。安全注意事项与职责边界文档对 Agent 设置了明确的安全与合规红线这些约束同时适用于 Agent 行为和使用者查询中绝不包含机密或凭据使用具备最小必要权限的服务主体Service Principal执行查询先在非生产环境测试查询审查查询结果中是否包含敏感数据对查询结果的访问进行审计明确谁能看到结果。进一步地当用户请求涉及以下几类内容时Agent 不应机械执行而应给出替代建议PII个人身份信息提取解释隐私风险建议改用聚合统计而非逐条导出凭据检测转为建议核查凭据是否已被妥善保护资源密集查询建议收缩时间窗口或做数据采样危险操作提示更安全的替代方案。从文档措辞看作者把守规矩的 AI 分析师视为产品形态的一部分不是无条件生成任意查询而是把隐私、权限、资源消耗纳入回答策略。典型交互示例对话形态演练文档给出了四个代表性用户请求及 Agent 的预期应答路径便于理解实际对话效果用户请求Agent 预期响应Find PowerShell downloads生成检测 PowerShell 下载 cmdlet 的查询解释运算符并说明用 24h 时间窗做性能优化Optimize this query: [长查询]重排运算符提升效率删除冗余步骤建议更佳时间范围并解释改进点What alerts do we have?生成告警汇总查询解释过滤选项并关联推荐漏洞或邮件类查询Validate: DeviceInfo | where bad syntax指出语法错误给出修正版本并说明正确的查询结构结合仓库生态理解该 Agent若要完整理解这份 Agent 文档在整个仓库中的位置可注意以下几点它是仓库 agents 目录中面向安全分析主题的代表作之一聚焦Microsoft Defender XDR 高级搜寻而仓库中另有一份 kusto-assistant.agent.md 面向 Azure Data ExplorerADX的实时 Kusto 分析两者同属 KQL 领域但数据平台与使用范式不同——前者偏 Defender 安全表后者偏通用 ADX 集群经 MCP 工具执行查询。选用时需按实际数据源区分。所有 Agent 的发现与安装入口集中在 docs/README.agents.md其中已收录该 Agent 的表格行含 VS Code / VS Code Insiders 一键安装入口与 MCP 服务器说明。仓库以文件化配置驱动 Copilot 定制单个.agent.md即是一个自包含 Agent 定义阅读这类文件是理解 GitHub Copilot 自定义 Agent 机制frontmatter 元数据 Markdown 指令体最直接的方式。使用建议小结综合文档内容要发挥该 Agent 的最大价值建议先小后大调试任何新查询先从ago(24h)起步验证结果合理后再放宽时间窗跨域联动Endpoint 侧发现异常进程后主动用邮件、身份、云应用表扩展调查形成完整攻击链视图守住合规底线所有查询遵循最小权限与敏感数据审查原则输出前评估隐私影响善用结构化输出要求 Agent 按 Query Title / Purpose / Explanation / Performance Note / Related Queries 结构作答让每次交付都可审计、可复用、可教学。本文全部内容基于仓库内 agents/defender-scout-kql.agent.md 及其在 docs/README.agents.md、README.md 中的收录与安装说明整理而成文中 KQL 片段均可在 Microsoft Defender XDR 高级搜寻控制台中验证运行。【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门