Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
log-horizon — Microsoft Sentinel SIEM 日志源分析器 | Kitploit
工具/GitHubGitHub/lnfernux/log-horizon
云基础设施安全配置审计云安全DevSecOps威胁情报事件响应日志分析
GitHublnfernux/log-horizon

log-horizon

Microsoft Sentinel SIEM 日志源分析器

查看仓库
282个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

Microsoft Sentinel SIEM 日志源分析器

PowerShell 7+ Module Version


我曾多次被问到*"我们实际上从这些日志中得到了什么?"或"Microsoft Sentinel 推荐的日志是什么?"*答案总是取决于很多因素,但我们可以给出一般性的建议。所以我就在这里构建了这个工具。

Log Horizon 连接到您的 Microsoft Sentinel 工作区(并可选择连接到 Defender XDR),遍历您正在引入的每个日志表,告诉您是否从中获得了安全价值,还是仅仅在浪费金钱。它对表进行分类,根据检测规则进行评分,并给出具体的建议和节省估算。

重要提示:这是一种通用方法。如果您知道某个日志源对您的环境很重要,那么该上下文始终优先于此工具告诉您的内容。这些分类只是一个起点,并非绝对真理。

想了解更多?我在博客上发布了一些关于 Log Horizon 的文章:

  1. 工具发布:Log Horizon
  2. 更新:Log Horizon v0.5.0
  3. 构建实用的日志基线以及 Log Horizon 如何帮助你做到这一点
  4. 如何使用 Log Horizon

功能

功能描述
分类引擎包含345条知识条目,覆盖190+连接器,21个类别,对未知表提供自动启发式回退
成本价值评分每个表的成本层级与检测层级矩阵,进行综合评估(高价值 → 低价值)
建议优先操作:数据湖候选表、零检测表、XDR流浪费、引入时过滤、保留时间不足
检测映射将分析规则、搜寻查询和XDR检测映射到每个表,以发现覆盖缺口
关联标签检测规则描述中的 #DONT_CORR# / #INC_CORR# 标签,并标记从Defender关联中排除的规则
保留合规性根据行业标准和安全最佳实践,比较实际保留时间与建议的最低保留时间
SOC优化从Security Insights API拉取微软自己的SOC改进建议
关键词差距分析根据供应商/产品关键词标记您应该引入但尚未引入的表
转换发现发现数据收集规则(DCR)并对引入时转换进行分类(过滤、投影、扩充、聚合)
拆分表检测识别 _SPLT_CL 拆分表并将其链接回分类引擎中的父表
拆分KQL生成器从精心策划的知识库、实时规则分析和社区字段频率统计生成门户就绪的拆分KQL——仅条件格式,可直接粘贴到Sentinel拆分规则编辑器中
检测分析器使用事件结果(自动关闭率、误报率和事件量百分位数)对分析规则的潜在噪声进行评分
XDR检查器添加以XDR为重点的咨询层:流式覆盖检查以及XDR相关遥测的一年Data Lake保留指导
自定义分类提供您自己的JSON以添加或覆盖内置分类数据库
交互式TUISpectre.Console仪表板,包含菜单、颜色编码表、下钻和ASCII艺术
导出JSON、Markdown或静态HTML报告,用于与团队分享

免责声明

[!CAUTION] 免责声明

本工具在AI的帮助下开发与维护。 使用此解决方案时请务必谨慎,并在投入生产前始终了解您正在运行的内容。开发者不对任何漏洞或问题承担任何责任。

下载、安装或使用此工具即表示您确认已阅读、理解并同意这些条款。

先决条件

所需内容版本
PowerShell7.0+
Az 模块Az.Accounts, Az.Resources
其他模块PwshSpectreConsole 2.6.3+

如果您尚未登录Azure,该模块将为您启动 Connect-AzAccount。如果已登录,则会继续执行。

入门指南

非常简单:```powershell

Grab the dependencies

Install-Module -Name Az.Accounts, Az.Resources -Scope CurrentUser Install-Module -Name PwshSpectreConsole -Scope CurrentUser

Clone and import

git clone https://github.com/lnfernux/log-horizon Import-Module ./log-horizon/LogHorizon.psd1

root@kitploit:~
## 用法

### 基础

首先连接到 Azure,并确保选择了正确的账户和订阅:```powershell
Connect-AzAccount

然后我们可以调用该工具:```powershell Invoke-LogHorizon -SubscriptionId '00000000-0000-0000-0000-000000000000' -ResourceGroup 'rg-sentinel' -WorkspaceName 'my-sentinel-ws'

root@kitploit:~
Output should look something like this:

<img width="860" height="842" alt="{F4FFA929-B24F-490C-BD3D-F75E214BCD93}" src="https://assets.kitploit.com/production/public/readmes/13110/ff9d1da85043d02a216df72913ecf63520310b8d820b1bd1278b8e4aca718494.png" />

还有一个菜单可以深入查看其他输出:

<img width="395" height="223" alt="{83CE9E6E-F373-49CD-BE05-182DB69F36BE}" src="https://assets.kitploit.com/production/public/readmes/13110/0606a575b10640bd13ebb87b930f74b2438167b5578cb843b412b4fcf273fc26.png" />


### 关键字缺口 + Defender XDR

想知道是否缺少与特定供应商相关的表?输入一些关键字。如果需要XDR分析,请添加 `-IncludeDefenderXDR`。```powershell
Invoke-LogHorizon -SubscriptionId '...' -ResourceGroup 'rg' -WorkspaceName 'ws' -Keywords 'CrowdStrike','AWS','Okta' -IncludeDefenderXDR

Detection Analyzer

Enable rule quality/noise analysis based on incidents and automation rules:```powershell Invoke-LogHorizon -SubscriptionId '...' -ResourceGroup 'rg' -WorkspaceName 'ws' -IncludeDetectionAnalyzer -DetectionLookbackDays 90

root@kitploit:~
### 导出报告```powershell
# JSON
Invoke-LogHorizon -SubscriptionId '...' -ResourceGroup 'rg' -WorkspaceName 'ws' -Output json -OutputPath ./report.json

# Markdown
Invoke-LogHorizon -SubscriptionId '...' -ResourceGroup 'rg' -WorkspaceName 'ws' -Output markdown -OutputPath ./report.md

# Static HTML (self-contained, no JS, works offline)
Invoke-LogHorizon -SubscriptionId '...' -ResourceGroup 'rg' -WorkspaceName 'ws' -Output html -OutputPath ./report.html

# Auto-generate timestamped filename by pointing at a directory
Invoke-LogHorizon -SubscriptionId '...' -ResourceGroup 'rg' -WorkspaceName 'ws' -Output html -OutputPath ./reports/

管理表保留期和类型

现在您可以直接从交互式 TUI 更新表保留期和表类型:

  • 正常打开 Invoke-LogHorizon,然后从主菜单中选择 管理表保留期和类型 以进行批量保留期或类型更新。
  • 打开 日志调优 / 转换 > 评估特定表,然后选择 管理此表的保留期/类型 进行单表更改。

对于脚本编写或自动化,请使用专用的公开命令:```powershell

Preview a single-table change

Set-LogHorizonTableRetention -SubscriptionId '...' -ResourceGroupName 'rg' -WorkspaceName 'ws' ` -TableName 'SigninLogs' -TotalRetentionInDays 365 -WhatIf

Switch tables to Basic and set total retention

Set-LogHorizonTableRetention -SubscriptionId '...' -ResourceGroupName 'rg' -WorkspaceName 'ws' ` -TableName 'AzureDiagnostics','VMConnection' -TargetPlan Basic -TotalRetentionInDays 730

Use -1 for inherit/default semantics

RetentionInDays = inherit workspace default

TotalRetentionInDays = remove long-term retention

Set-LogHorizonTableRetention -SubscriptionId '...' -ResourceGroupName 'rg' -WorkspaceName 'ws' ` -TableName 'SigninLogs' -RetentionInDays -1 -TotalRetentionInDays -1

root@kitploit:~
### 非交互式 / CI 模式

跳过交互式TUI,直接导出到文件 — 适用于流水线或定时运行:```powershell
Invoke-LogHorizon -SubscriptionId '...' -ResourceGroup 'rg' -WorkspaceName 'ws' -NonInteractive -Output json -OutputPath ./reports/

如果省略 -Output,分析对象将返回到管道,以便你可以将其导入自己的逻辑中。

拆分 KQL 建议

交互式 TUI 包含一个拆分 KQL 建议菜单,该菜单为适合拆分的表生成可直接在门户中使用的拆分 KQL。它会显示每个表的 KQL,你可以直接粘贴到 Sentinel 拆分规则编辑器中,并附带来源归属(知识库、规则分析或组合)。

自定义定价

默认价格为 5.59 $/GB(西欧简化 PAYG)。如果您的承诺层级不同:```powershell Invoke-LogHorizon -SubscriptionId '...' -ResourceGroup 'rg' -WorkspaceName 'ws' -PricePerGB 4.61

root@kitploit:~
### All parameters

| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| `-SubscriptionId` | string | 是 | - | Azure 订阅 ID |
| `-ResourceGroup` | string | 是 | - | 包含 Sentinel 工作区的资源组 |
| `-WorkspaceName` | string | 是 | - | Log Analytics 工作区名称 |
| `-WorkspaceId` | string | 否 | - | 工作区 ID(省略时自动解析) |
| `-Output` | string | 否 | - | 导出格式:`json`、`markdown` / `md` 或 `html` |
| `-OutputPath` | string | 否 | - | 导出的文件或目录路径(指定目录时自动生成带时间戳的文件名) |
| `-Keywords` | string[] | 否 | - | 用于差距分析的关键词(例如 `'AWS','CrowdStrike'`) |
| `-IncludeDefenderXDR` | switch | 否 | - | 包含 Defender XDR 自定义检测分析 |
| `-IncludeDetectionAnalyzer` | switch | 否 | - | 使用事件和自动化规则进行基于规则的噪声检测分析 |
| `-DetectionLookbackDays` | int | 否 | 90 | 基于事件/自动化的检测分析查询窗口(1-365 天) |
| `-DaysBack` | int | 否 | 90 | 使用数据的查询窗口(1-365 天) |
| `-PricePerGB` | decimal | 否 | 5.59 | Sentinel 每 GB 摄取价格 |
| `-NonInteractive` | switch | 否 | - | 跳过 TUI 仪表板直接导出(如果省略 `-Output`,则返回数据到管道) |
| `-CustomClassificationPath` | string | 否 | - | 自定义 JSON 文件的路径,以添加或覆盖分类 |

---

## 内部原理

共分为四个阶段。

### 1. 数据收集

模块连接到 Azure,并从 Log Analytics 和 Security Insights API 提取数据:

| 数据源 | API | 获取内容 |
|---|---|---|
| 表用量 | `Usage` 表 (KQL) | 查询窗口内每个表的摄取量 |
| 分析规则 | Security Insights REST | 活动检测规则 + 它们命中的表 + 关联标签 |
| 搜寻查询 | Security Insights REST | 已保存的搜寻查询 + 引用的表 |
| 数据连接器 | Security Insights REST | 已安装的连接器清单 |
| SOC 优化 | Security Insights REST | Microsoft 内置的 SOC 建议 |
| 表保留 | Azure Tables REST | 每个表的保留期、存档和计划(Analytics/Basic) |
| Defender XDR | Security Insights REST | XDR 自定义检测和流式传输配置(可选) |
| 事件 | Security Insights REST | 事件结果(状态/分类)、时间以及用于规则质量评分的规则关联提示 |
| 自动化规则 | Security Insights REST | 规则级的关闭事件操作和用于自动关闭归因的标题匹配条件 |
| SentinelHealth | Log Analytics KQL | 自动化规则运行事件(含事件编号),用于明确的自动关闭归因(可选,需要健康监控) |

### 2. 分类

每个表通过两次传递进行分类:

**第一次**,直接查询 `Data/log-classifications.json` 中 345 条记录的知识库。每条记录包含连接器名称、主要/次要分类、安全类别、MITRE 数据源映射以及推荐的价格层。

**如果没有匹配**,则启用启发式规则:
- 名称包含安全模式,如 `Alert`、`Incident`、`Threat`、`Signin`、`Audit`、`Risk` -> **primary**
- 名称看起来像基础设施遥测:`Flow`、`Metric`、`Diagnostic`、`Perf`、`Heartbeat` -> **secondary**
- 有活动的分析规则指向它 -> **primary**
- 高容量(>10 GB/月)且无检测规则 -> **secondary**
- 以上均不符合 -> **unknown**

### 3. 成本价值评分

每个表在几个维度上打分:

- **成本层级**:免费 / 低(<1 GB)/ 中(1-10 GB)/ 高(10-50 GB)/ 极高(>50 GB)
- **检测层级**:无 / 低(1-2 条规则)/ 中(3-9 条规则)/ 高(10+ 条规则)
- **评估**:高价值 / 良好价值 / 覆盖缺失 / 需审查 / 数据湖候选 / 免费层
- **覆盖率%**:至少有一条分析规则或搜寻查询引用的表百分比,计算公式为 `tablesWithRules / totalTables * 100`。每个表的覆盖率通过解析 KQL 中的表名,汇总分析规则+搜寻查询的数量。

然后模块生成建议:

| 类型 | 触发条件 | 操作建议 |
|---|---|---|
| **数据湖** | 次要 + 高成本 + 少量检测 | 移至 Auxiliary/Data Lake 层(约节省 95%) |
| **低价值** | 高成本 + 零检测 | 添加规则、过滤或移至数据湖 |
| **XDR 优化** | XDR 流式传输 + 0 条 Sentinel 规则 + XDR 规则存在 | 停止流式传输,改用统一的 XDR 门户 |
| **覆盖缺失** | 主要 + 零检测 | 编写分析规则以从数据中获取价值 |
| **摄入时过滤** | 主要 + >20 GB + <=3 条检测 | 应用摄入时转换以减少容量 |
| **拆分候选** | 主要 + 高容量 + 有检测 + 无现有转换 | 拆分表——高价值行保留在 Analytics,其余移至数据湖 |
| **保留期不足** | 表的保留期低于建议的最低值 | 增加总保留期/存档保留期以符合监管指南 |

### 4. 检测分析器(噪声评分)

当传递 `-IncludeDetectionAnalyzer` 时,模块会获取近期事件和自动化规则,然后为每个启用的分析规则评估潜在的噪声性。

**每个规则的指标**(根据事件数据计算):

| 指标 | 计算方式 |
|---|---|
| 事件总数 | 关联到该规则的事件数量 |
| 自动关闭比例 | 由自动化规则关闭的事件 ÷ 事件总数。主要来源:SentinelHealth 表(通过事件编号明确匹配)。备用方案:针对自动化规则条件进行支持运算符的标题匹配。 |
| 误报比例 | 被分类为误报的事件 ÷ 事件总数 |

**噪声评分公式**:

每个指标根据至少有一个事件的所有规则转换为其百分位数排名。综合得分是加权混合:```
Score = (Volume_percentile × 0.35) + (AutoClose_percentile × 0.40) + (FalsePositive_percentile × 0.25)
  • 数量百分位数 (35%) — 某规则相对于其他规则产生的事件数量比例。
  • 自动关闭百分位数 (40%) — 自动化规则自动关闭事件的频率(权重最高,因为自动关闭是低价值警报的最强信号)。
  • 误报百分位数 (25%) — 分析师将结果归类为误报的频率。

评分阈值:

评分标签含义

评分≥70且至少有5个事件的规则会自动在“建议”视图中显示为高优先级建议。

5. 交互式仪表板

  • 仪表板:概览统计、成本最高的前10张表、覆盖率条形图、保留合规性摘要、关联排除标注
  • 建议:按优先级排序的操作,附有预估月度节省金额——超过10条时可展开显示完整列表
  • 检测评估:每张表的规则和搜寻查询覆盖率明细,关联排除的规则列表
  • SOC优化:微软自身的改进建议
  • 保留评估:低于推荐最低值的表,显示当前保留天数 vs 推荐保留天数、计划类型和缺口
  • 转换:DCR转换清单,带有转换类型分类
  • 拆分KQL建议:按表拆分的KQL,可直接粘贴到门户中,并提供来源归属(知识库、规则分析或两者结合)
  • 所有表:完整列表,包含分类、成本、规则、保留天数(颜色编码)和评估
  • XDR分析:Defender XDR集成(使用 -IncludeDefenderXDR 时)
  • 检测分析器:基于百分位数的嘈杂规则排名,附带关闭质量指标(使用 -IncludeDetectionAnalyzer 时)
  • 导出:直接从菜单将报告导出为JSON或Markdown

分类数据库

位于 Data/log-classifications.json。345条条目,190个连接器,21个类别。

每条条目的内容

主要安全数据 vs 辅助安全数据

主要(211条条目):你实际用于构建检测的表。登录日志、安全警报、威胁情报、审计跟踪、漏洞发现、防火墙命中、EDR遥测。

辅助(133条条目):支持性内容。性能指标、基础设施诊断、网络流量量、库存快照、配置基线、运行状况检查。

类别一览

自定义分类

你可以提供自己的分类文件,用于添加内置数据库中不存在的表条目,或覆盖默认条目以匹配你的环境。当相同的 tableName 出现在两者中时,自定义条目的优先级高于内置条目。```powershell Invoke-LogHorizon -SubscriptionId '...' -ResourceGroup 'rg' -WorkspaceName 'ws' ` -CustomClassificationPath './my-classifications.json'

root@kitploit:~
自定义文件使用与 `Data/log-classifications.json` 相同的模式——一个对象数组:```json
[
  {
    "tableName": "MyCustomApp_CL",
    "connector": "Custom Logs (DCR)",
    "classification": "primary",
    "category": "Application Logs",
    "description": "Security-relevant audit events from an internal application",
    "keywords": ["custom", "internal", "audit"],
    "mitreSources": [],
    "recommendedTier": "analytics",
    "isFree": false
  },
  {
    "tableName": "AzureMetrics",
    "connector": "Azure Monitor",
    "classification": "primary",
    "category": "Infrastructure Diag",
    "description": "Override: promoted to primary because we detect on Azure resource metrics in this environment",
    "keywords": ["metrics", "azure", "infrastructure", "monitoring"],
    "mitreSources": [],
    "recommendedTier": "analytics",
    "isFree": false
  }
]

关于如何使用,请参见 Data/custom-classifications-example.json 中的现成模板。

分类是如何构建的

主要/次要分级部分由作者手动完成,然后将 Microsoft 的数据连接器和表定义与人工分级基线一同输入 AI,并采用 Microsoft 最佳实践和行业标准作为分类依据。如果在你的环境中发现某些内容不太合理,请以自身背景为准—AI 可能犯错,背景信息才是关键。

分类标准来源于以下资料:

ACSC(澳大利亚信号局,澳大利亚网络安全中心)

  • ACSC:事件日志记录与威胁检测最佳实践(2024 年 8 月)
  • ACSC:SIEM 采集优先日志—从业者指南(2025 年 5 月)

CISA(网络安全与基础设施安全局)

  • CISA:关于实施 M-21-31 的指南:提升联邦政府的调查与补救能力
  • CISA:Microsoft 扩展云日志实施行动手册(2025 年)

Microsoft

  • Microsoft Sentinel 数据连接器参考
  • Microsoft Sentinel 表与连接器参考
  • Azure-Sentinel GitHub 仓库(社区分析规则、连接器定义、解决方案模板)
  • Microsoft Sentinel 计费
  • Microsoft Sentinel 数据层管理

MITRE

  • MITRE ATT&CK 数据源

NIST(国家标准与技术研究院)

  • NIST SP 800-92:计算机安全日志管理指南

NSA(国家安全局)

  • NSA 网络事件转发指南

NCSC-UK(英国国家网络安全中心)

  • NCSC-UK 的“到底应该记录什么?”

Google Cloud

  • Google Cloud 审计日志概览
  • Google Cloud 审计日志最佳实践

同时还使用了其他资料,以及作者的“专业知识”——如果你愿意这样归类的话。

项目布局```

LogHorizon.psd1 Module manifest (v0.6.2) LogHorizon.psm1 Module loader Public/ Invoke-LogHorizon.ps1 Entry point, the main orchestrator Private/ Connect-Sentinel.ps1 Azure auth + workspace resolution Get-TableUsage.ps1 KQL query for ingestion volumes Get-AnalyticsRules.ps1 Analytics rules + table/field extraction + correlation tags Get-HuntingQueries.ps1 Hunting queries + table extraction Get-DataConnectors.ps1 Data connector inventory Get-DataTransforms.ps1 DCR transform discovery, split KQL generation Get-DefenderXDR.ps1 Defender XDR analysis (optional) Get-Incidents.ps1 Incident fetch + SentinelHealth auto-close attribution Get-AutomationRules.ps1 Automation rule inventory + close-logic attribution Get-SocOptimization.ps1 SOC improvement recommendations Get-TableRetention.ps1 Per-table retention, archive, and plan type Invoke-AzRestWithRetry.ps1 REST retry wrapper with exponential backoff for 429/5xx Invoke-Classification.ps1 Static DB + heuristic classification + _SPLT_CL detection Invoke-Analysis.ps1 Cost-value matrix + recommendations + split suggestions Write-Report.ps1 Spectre.Console TUI rendering Export-Report.ps1 JSON / Markdown / static HTML export with shared section renderer Data/ log-classifications.json 345-entry classification knowledge base high-value-fields.json 15-table split KQL knowledge base with curated fields and split hints field-frequency-stats.json Community field frequency stats (generated by Build-FieldKnowledgeBase.ps1) custom-classifications-example.json Example custom classification override file ReportTemplate.html Static HTML report template (pure-CSS tabs, zero JS) Tests/ LogHorizon.Tests.ps1 Pester v5 unit tests

root@kitploit:~
### 知识库生成

分割的 KQL 知识库——`high-value-fields.json` 和 `field-frequency-stats.json`——由 `Build-FieldKnowledgeBase.ps1` 离线生成。该脚本:

1. 浅克隆 [Azure/Azure-Sentinel](https://github.com/Azure/Azure-Sentinel) GitHub 仓库(稀疏签出 `Solutions/`、`Detections/`、`Hunting Queries/`)
2. 解析约 3,800 个 YAML 规则文件,并通过正则表达式提取 KQL 查询
3. 在每个查询上运行 `Get-TablesFromKql` 和 `Get-FieldsFromKql`,以构建按表的字段频率计数
4. 计算三层回退字段:
   - **通用字段** —— 出现在所有表中 >50% 的字段(例如 `TimeGenerated`)
   - **类别默认值** —— 在某个分类类别中出现于 >40% 表中的字段
   - **按表统计** —— 对于引用规则 >= 3 的表,原始字段频率计数
5. 将挖掘出的字段合并到现有的 curated `high-value-fields.json` 中(保留已整理条目,添加新发现的、规则数 >= 3 且有效字段数 >= 3 的表)
6. 将两个文件输出到 `Data/`

在运行时,`Get-SplitKql` 使用一个回退层级:整理的知识库条目 -> 实时规则/狩猎字段分析 -> 社区按表统计 -> 类别默认值 -> 通用字段。字段频率并非完美方法,但了解它仍有用处。

## 测试```powershell
Invoke-Pester ./Tests/LogHorizon.Tests.ps1 -Output Detailed

许可协议

MIT

版本历史

已知问题

PwshSpectreConsole UTF-8 编码警告

要在终端中启用 UTF-8 输出,请在 PowerShell 配置文件 $PROFILE 顶部添加以下行,然后重新启动终端:```powershell $OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = [System.Text.UTF8Encoding]::new()

root@kitploit:~
模块在导入时自动设置此选项,但根据您的会话,警告可能仍然会出现。这仅影响外观,不影响功能。

## 贡献

如果您遇到问题或想要贡献,请创建一个PR。

## 喜欢这个工具?

</br>
<a href='https://ko-fi.com/B0B61XGLO7' target='_blank'><img height='36' style='border:0px;height:36px;' src="https://assets.kitploit.com/production/public/readmes/13110/85ecfd7542830b8c7e246d37aec7c2b7397da003291ec4c56074631499f4829a.webp" border='0' alt='在 ko-fi.com 上请我喝杯咖啡' /></a>
</br>
下载工具
≥ 70嘈杂规则可能需要调整或禁用
≥ 50关注规则出现早期嘈杂迹象
< 50健康规则处于正常范围内
不适用—规则没有关联事件(无法评分)
字段含义
tableNameLog Analytics表名(SecurityEvent、SigninLogs等)
connector产生此表的数据连接器
classificationprimary(安全价值)或 secondary(辅助遥测)
category安全类别:身份与访问、网络安全等
description表格内容的简明英文摘要
keywords用于关键词差距分析匹配的术语
mitreSourcesMITRE ATT&CK数据源映射
recommendedTieranalytics(热层)或 datalake(辅助候选)
recommendedRetentionDays建议的最低总保留天数(监管指导)
isFree微软是否免费引入此表
类别数量示例
身份与访问33SigninLogs、OktaSSO、CyberArk_AuditEvents_CL
网络安全29AZFWNetworkRule、Cloudflare_CL、darktrace_model_alerts_CL
安全警报26SecurityAlert、SecurityIncident、SentinelOneAlerts_CL
端点检测22DeviceProcessEvents、DeviceFileEvents、SentinelOne_CL
云控制平面22AzureActivity、OfficeActivity、GoogleWorkspaceReports
网络流量23AzureNetworkAnalytics_CL、CommonSecurityLog、AZFWFatFlow
云安全13McasShadowItReporting、PaloAltoPrismaCloudAlertV2_CL
电子邮件安全20EmailEvents、ProofPointTAPMessagesBlockedV2_CL、MimecastSIEM_CL
端点遥测14DeviceInfo、SentinelOneAgents_CL、jamfprotecttelemetryv2_CL
漏洞管理11DeviceTvmSoftwareVulnerabilities、QualysHostDetectionV3_CL
数据安全12PurviewDataSensitivityLogs、VaronisAlerts_CL、MimecastDLP_CL
应用程序日志22AppServiceHTTPLogs、FunctionAppLogs、DynatraceAttacks_CL
威胁情报8ThreatIntelligenceIndicator、CybleVisionAlerts_CL
SAP安全7ABAPAuditLog、SAPBTPAuditLog_CL、Onapsis_Defend_CL
物联网/OT安全4RadiflowEvent、DragosAlerts_CL、Phosphorus_CL
数据平台13AzureDiagnostics、SnowflakeLogin_CL、MongoDBAudit_CL
容器与K8s7ContainerLog、KubeEvents、GKEAudit、AWSEKSLogs_CL
平台运行状况6SentinelHealth、Watchlist、SOCPrimeAuditLogs_CL
基础设施诊断7AzureMetrics、GCPComputeEngine、GCPMonitoring
态势管理7DeviceTvmSecureConfigurationAssessment、CortexXpanseAlerts_CL
配置管理6ConfigurationData、ESIExchangeOnlineConfig_CL
存储访问5StorageBlobLogs、StorageFileLogs、AWSS3ServerAccess
版本日期变更说明
0.8.02026-05-26新增交互式表保留管理功能,包含新的批量TUI流程和单表更新入口,以及公开的 Set-LogHorizonTableRetention 命令。新增 Tables API PATCH 应用引擎,支持验证、Azure 异步操作轮询和两步回退(组合 PATCH,再单独应用计划与保留)以实现稳健的保留更新。新增针对验证、载荷结构、回退和公共命令映射的 Pester 测试覆盖。同时修复了一个边界问题/缺陷:当用户在 Sentinel 中仍有分析数据时,系统会错误建议将数据湖表更改为数据湖层级。
0.7.12026-05-15新增来自 Usage.Plan 的计划感知功能,而不替换已配置的表计划:分析现可跟踪观察到的计划历史,标记多计划使用及配置与实际不符的情况,并在仪表板、表下钻、查看所有表、保留评估及导出中展示计划数据。修复了检测分析器自动关闭归因功能,确保仅当不存在启用的自动化规则时,时间启发式逻辑才生效。203 项测试通过。
0.7.02026-04-16检测评估更新:新增成本-价值矩阵汇总表(主要/次要 ×7 个评估类别,带颜色编码),主/次要表下钻子菜单含成本/检测层级列。检测分析器更新:新增 GB 加权容量覆盖柱状图(检测/狩猎/合计 GB 占总摄入量百分比,与现有表计数柱状图并列)。检测分析器自适应显示改进(动态柱状宽度、规则名称截断、根据控制台宽度有条件隐藏列)。193 项测试通过。
0.6.32026-04-11PSGallery 小版本更新。
0.6.22026-04-11日志调整/转换菜单:实时数据调整分析(基于已部署规则/狩猎查询的逐表字段使用情况、过滤/投影/合并 KQL 生成、节省估算)、从 Tables API 提取模式列、Get-SplitKql 回退层次结构(社区统计数据→类别默认值→通用字段)、包含字段使用矩阵的综合表评估器、统一的 KB + 实时调整导出部分、用于 Azure-Sentinel GitHub 规则语料库的 Build-FieldKnowledgeBase.ps1 挖掘脚本。检测分析器:基于 SentinelHealth 的自动关闭归因(主要)及操作符感知规则匹配回退、布尔条件包装解析、已解决状态检测、ARM 资源 ID 的 GUID 尾部匹配。覆盖率现在基于所有表(包括免费层级)的表计数。TUI 和导出中添加评分免责声明。174 项测试。
0.6.12026-04-10缺陷修复:$kqlKeywords 过滤现共享在文件作用域(原在 Get-TablesFromKql 中未定义),为所有辅助函数添加 [CmdletBinding()],简化 Defender 统一检查,移除多余的 -RuleCount 测试参数。健壮性增强:Get-HuntingQueries 分页、Invoke-AzRestWithRetry 重试包装器(针对 429/5xx 的指数退避)、PricePerGB 验证、关键函数中的 Write-Verbose。文档:版本徽章、数据库计数、与清单对齐的前提条件。
0.6.02026-04-10动态 XDR 流式检测,包含 21 个 KnownXDRTables(原为硬编码 18 个)、逐表 XDRState(NotStreaming/Analytics/Basic/Auxiliary)、将 Auxiliary 识别为数据湖层级、未流式 XDR 表以信息/低建议形式呈现(含 NotStreamedCount)、保留分析器将未流式 XDR 表显示为“仅 XDR (30 天)”、概览层级细分(分析/基础/数据湖 + 未流式)、导出报告将 Auxiliary→“数据湖”标签、分类数据库更新至 345 条(新增 DeviceNetworkInfo、DeviceInfo→次要/数据湖、DeviceImageLoadEvents 和 IdentityQueryEvents→数据湖层级),新增 15 项 Pester 测试(共 121 项)。
0.5.02026-04-03静态 HTML 导出,使用纯 CSS 标签页(零 JS、无 CDN、完全自包含)、统一的 MD/HTML 部分渲染器、完整的 JSON 数据捕获(dataTransforms、correlationExcluded/Included、streamingTables)、适用于 CI/流水线的 -NonInteractive 开关、md 格式别名、带时间戳的自动文件名、DCR 转换中 KQL 完整显示(无截断)、Markdown 表格中的多行 KQL 处理、修复 HTML 令牌替换中正则 $ 反向引用损坏、重命名内部辅助函数以避免 PowerShell 别名冲突(h→hEnc、md→mdEsc),新增 33 项 Pester 测试(共 106 项)。
0.4.12026-04-03安全性与稳定性修复:新增令牌内存清理、输出路径验证及 XSS 保护、REST API 分页限制、修复模块加载器错误掩盖、解决 PSScriptAnalyzer 警告。
0.4.02026-04-02转换发现(DCR 列表 + 转换类型分类)、拆分表检测(_SPLT_CL)、拆分 KQL 辅助函数(含 15 张表的知识库 high-value-fields.json + 规则分析回退)、门户就绪的条件仅 KQL 输出、可展开的建议列表、拆分 KQL 建议 TUI 菜单。
0.3.02026-04-02日志保留合规性分析(CISA M-21-31、NIST SP 800-92、NCSC-UK、ASD ACSC、NSA)、关联标签检测(#DONT_CORR#/#INC_CORR#)、保留评估菜单视图、所有表中的保留列、分类模式中的 recommendedRetentionDays。
0.2.22026-04-02SOC 优化表在窄控制台上隐藏详细信息列。
0.2.12026-04-02自定义分类支持(-CustomClassificationPath)、丰富 SOC 优化建议(含 API 建议/下钻)、默认仅显示活动视图、抑制 UTF-8 编码警告。
0.2.0-初始公开发布,包含分类引擎、成本-价值评分、Spectre.Console TUI、导出为 JSON/Markdown。
0.1.0-用于开发的内部版本。