rearc/detection-engineering-skill

GitHub: rearc/detection-engineering-skill

一个 Databricks Genie Code 技能插件,通过自然语言交互引导 Agent 完成安全遥测数据的基线评估、细分分析和检测规则回测,最终自动打包生成有据可查的检测规则。

Stars: 0 | Forks: 0

# Databricks Genie Code 的检测工程技能 一个 [Genie Code 技能](https://docs.databricks.com/aws/en/genie-code/skills),它可以将 Databricks Genie Code 的 Agent 模式变成一个实用的检测工程助手。用自然语言向 Genie 询问有关您安全遥测数据的问题——它会运行受限的 SQL,呈现分布证据,在遇到歧义时主动请求输入,并帮助您打包具有充分依据的检测规则。 ## 什么是 Genie Code? [Genie Code](https://docs.databricks.com/aws/en/genie-code) 是内置于 Databricks 工作区中的 AI 编程助手。它可以直接在 Notebook、SQL 编辑器和其他开发界面中生成并运行代码、查询和 pipeline。 ## 此技能的功能 该技能通过结构化的工作流程帮助 Genie 协助检测工程师: 1. **认知** — 描述表结构 (schema) 和样本数据行 2. **基线评估** — 衡量频率、时间和行为分布 3. **细分** — 按实体、角色或时间维度进行拆分,以从干扰中剥离出有效信号 4. **评估** — 针对历史数据对候选检测逻辑进行回测 5. **打包** — 生成包含候选逻辑、证据和注意事项的检测规范 此技能附带了包含 SQL 查询示例的参考文件,可帮助 Genie 分析您的安全遥测数据。您可以根据需要对这些参考文件进行修改和扩展。 | 分析类型 | 参考文件 | | --- | --- | | 字段分析(null 率、基数、高频值) | `summarize-columns.md` | | 按小时/按天维度的行为基线 | `temporal-baseline.md` | | 每个实体或细分的百分位分布 | `grouped-percentiles.md` | | 实体级行为比率(非工作时间占比、失败率等) | `derived-rate-percentiles.md` | | 候选检测逻辑回测(事件级、聚合、时间分桶) | `evaluate-detection-rule.md` | | 事件间的间隔分析(Beaconing、暴力破解、自动化) | `inter-event-time.md` | ## 设置 ### 前置条件 - 启用了 Genie Code 的 Databricks 工作区 - 具备 Genie Code 中 Agent 模式(全页模式)的访问权限 - 对您想要建立基线的安全遥测表拥有 Unity Catalog 的 `SELECT` 权限 ### 安装技能 Genie Code 会从 Databricks 工作区文件系统中的固定目录路径发现技能。请选择以下其中一种: **工作区级技能**(对工作区中的所有用户可用 — 需要工作区管理员权限): ``` Workspace/.assistant/skills/detection-engineering/ ``` **个人技能**(仅对您自己可用): ``` /Users/{your-username}/.assistant/skills/detection-engineering/ ``` **步骤:** 1. 在 Databricks 工作区中,使用工作区文件浏览器导航到上述目标目录。 2. 创建一个名为 `detection-engineering` 的文件夹。 3. 将此代码库 `detection-engineering/` 文件夹中的所有文件上传到该目录中: - `SKILL.md` - `summarize-columns.md` - `temporal-baseline.md` - `grouped-percentiles.md` - `derived-rate-percentiles.md` - `evaluate-detection-rule.md` - `inter-event-time.md` 4. 打开一个新的 Genie Code 对话线程(Agent 模式)。技能会在下一次 Agent 模式会话中自动被发现 — 无需额外的注册步骤。 ### 使用技能 在 Agent 模式下,通过 `@mention` 显式调用该技能: ``` @detection-engineering I want to baseline off-hours logon activity in catalog.security.logon_events ``` Genie Code 将调用该技能的 `SKILL.md` 指令,并在分析过程中根据需要按需加载参考文件。 ## 示例演示 下面的截图展示了一个完整的会话流程:从提出关于非工作时间登录活动的开放式问题,到最终生成打包好的检测规则。 ### 步骤 1 — 提出自然语言问题 在 Agent 模式下,提出类似以下的问题: Genie Code 会调用检测工程技能。它会自动开始执行:先熟悉表结构 (schema),衡量总体的非工作时间事件量,并按用户进行细分以揭示活动集中的区域 — 在向您提出任何问题之前完成这些操作。 ![示例使用 — 基线评估对话](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/96b422a5d6092659.png) ### 步骤 2 — 提供专家上下文并进行迭代 回复 Genie 无法仅通过 SQL 推断出的上下文信息: ### 步骤 3 — 打包检测规则 当证据足够充分时,请 Genie 将其打包为 Lakewatch 中的新检测规则: Genie 会引导您进入 Lakewatch UI 的 Detection Rules 选项卡,根据你们的对话自动填写相关字段,并为您创建检测规则。 ![创建检测规则](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/9cc6b54192092713.png) ## 技能结构 ``` detection-engineering/ ├── SKILL.md # Main skill definition — loaded by Genie Code ├── summarize-columns.md # Column profiling templates ├── temporal-baseline.md # Hour-of-day and day-of-week baselines ├── grouped-percentiles.md # Percentile distributions per entity ├── derived-rate-percentiles.md # Per-entity behavioral rate calculations ├── evaluate-detection-rule.md # Detection rule backtesting (3 templates) └── inter-event-time.md # Gap analysis between consecutive events ``` `SKILL.md` 定义了 Agent 的行为,并通过相对链接引用了其他文件。Genie Code 仅在需要特定分析类型时才会加载相应的参考文件,从而保持响应的专注度。
标签:AI助手, Databricks, SQL, 代码示例, 多线程, 安全运营, 扫描框架, 数据分析, 系统审计, 防御加固