用途
本技能(Security Contextualization Skill)用于把安全信号和实体属性集解析到运行时 Dynatrace Smartscape 实体,跨实体层级汇总发现,并通过共享的运行时实体把落在不同层级上的信号连接起来(例如 K8S_POD 上的检测与 KUBERNETES_NODE 上的 CVE)。
主要能力
- 身份 → Smartscape 映射:给定包含 dt.smartscape_source.id、container_image.digest、container_image.id、host.ip、dt.entity.* 或 k8s.* 字段的行,将其解析为任意请求层级(CONTAINER / K8S_POD / workload / K8S_NODE / HOST / cloud / GENAI_SERVICE —— AI/GenAI 工作负载)的 Smartscape 实体。
- 制品 → 运行时桥接:container_image.digest → smartscapeNodes CONTAINER → is_part_of.* → 父工作负载,或 runs_on.host → HOST。无需预先富化的 dt.smartscape_source.id 也可工作。
- 跨层级关联:分层实体匹配,判断两个发现(例如来自不同分支的检测与 CVE)是否通过共享运行时实体相关。第 1 层:精确实体 ID 匹配;第 2 层:按名称匹配同一工作负载/Pod/主机;第 3 层:同一命名空间/集群(仅上下文 —— 不计入评分)。
- Pod → 节点拓扑:通过 k8s.node.name(联合投影字段)或 Smartscape 边遍历将 K8S_POD 解析到其 K8S_NODE。可支持"检测命中了 Pod X —— 该 Pod 是否运行在有漏洞的节点上?"这类问题。
- 覆盖率匹配配方:2 路和 3 路容器→工作负载匹配模式,与 dt-sec-insights 的覆盖率统计查询共享。
- 实体富化:给定发现、IoC 匹配或原始 Smartscape 节点,产出按实体划分的风险级别细分和实体键捆绑,供下游评分使用。
- IoC 富化:通过反向查找已摄入的 THREAT_REPORT 事件(其 observable 数组中包含该 IoC),为已匹配的 IoC(IP / 域名 / URL / 邮箱 / CVE / 哈希 / MITRE TTP)补充对手上下文(行为者、恶意软件家族、MITRE 技术、目标、提供者)。
使用方式
- 始终先加载 dt-dql-essentials —— DQL 语法和函数名与 SQL 不同,生成查询前须确认所有函数。
- 每个查询都基于具名模板 —— 不要自行发挥 Smartscape 连接。3 路匹配、digest→CONTAINER→工作负载、Pod→节点遍历模式是精确的,偏离会产生静默的零行结果。
- 在完整的 3 路富化之前运行预检 —— 外部提供者差异很大。在运行昂贵的追加链之前,确认至少有一条标识符路径已填充。
- 信任 Path 1 前检查 dt.smartscape_source.type —— 非空的 dt.smartscape_source.id 并不证明已解析到工作负载层级;该字段可能指向命名空间、集群或云资源。只有 K8s 工作负载类型(K8S_DEPLOYMENT、K8S_DAEMONSET、K8S_STATEFULSET、K8S_CRONJOB、K8S_JOB、K8S_REPLICASET)才有资格通过 Path 1 进行工作负载富化。
- 尽早去重并在追加后去重 —— 在连接前去重以合并重复摄入的记录;追加后再次去重,因为同一发现可能匹配多条路径。
- 第 3 层关联仅作上下文 —— 两个发现共享同一命名空间/集群不会提升暴露评分。绝不要将集群级共享属性视为实体级相关性的证明。
- 将拓扑查询路由到 dt-obs-kubernetes —— Pod→节点放置和 Smartscape 边遍历模式位于 dt-obs-kubernetes/references/pod-node-placement.md。不要在此处重新编写;引用它们并在 correlation-and-coverage.md 中应用输出。
- 不使用 dt.system.bucket 过滤 —— 安全事件数据可能位于任何桶中;按桶过滤有隐藏发现的风险。
- THREAT_REPORT 是此处唯一允许的 security.events 查询 —— 仅用于反向查找。ioc-enrichment.md 将已匹配的 IoC 归属到报告(IoC → 报告)。宽泛的 THREAT_REPORT 概览、IOC 汇总以及正向的报告 → 环境关联保留在 dt-sec-insights(threat-intelligence.md)。绝不在此处编写发现/态势查询。
适用场景
根据技能内的触发表,以下意图会触发本技能:
- 将发现 / IoC 匹配映射到工作负载、主机或云实体 → identity-mapping.md → entity-enrichment.md
- 这个容器镜像 / digest 作为哪个 Smartscape 实体运行? → identity-mapping.md § Mapping Primitive(Path 2 - 容器 digest)
- 这个检测和这个 CVE 是否通过共享实体相关? → correlation-and-coverage.md § Correlation
- Pod X 触发了 —— 它是否运行在有漏洞的节点上? → correlation-and-coverage.md § Correlation(Pod→Node 拓扑)
- 按实体划分的风险摘要(Critical/High/Medium/Low) → entity-enrichment.md
- 覆盖率匹配配方 —— 哪些工作负载被产品 Y 覆盖? → correlation-and-coverage.md § Coverage
- 哪些实体身份字段与某发现类型相关? → identity-mapping.md § Data Model
- 为已匹配的 IoC(IP/域名/哈希/CVE/...)补充威胁报告中的对手上下文 → ioc-enrichment.md
- 将发现范围限定到 AI/GenAI 工作负载;哪些进程属于某 AI 服务;将进程解析到其 AI 服务 → identity-mapping.md § Mapping Primitive(Path 4 - GENAI_SERVICE -> SERVICE -> PROCESS)
组织方式
- SKILL.md(本文件)—— 入口点和路由。
- references/ 目录:
- identity-mapping.md —— 通用身份 → Smartscape 解析器(映射原语 Paths 1/2/3/4)、预检标识符检查、层级选择和实体身份字段指导。
- entity-enrichment.md —— 映射原语的消费者:云(Path 1)、K8s 工作负载(3 路)、按 IP 的主机、按实体的主机、自然语言回退、问题→实体→发现链。按实体划分的风险级别细分(Critical/High/Medium/Low)。
- correlation-and-coverage.md —— 跨层级实体收敛、Pod→节点拓扑解析、评分契约,以及与 dt-sec-insights 共享的 2 路/3 路覆盖率匹配配方。
- ioc-enrichment.md —— 反向查找 IoC 富化:将已匹配 IoC 归属到已摄入的 THREAT_REPORT 事件,并呈现对手上下文(行为者 / 恶意软件 / MITRE / 目标)。单个和批量(按 IoC)模板;支持的 IoC 分类法。
相关技能
- dt-dql-essentials —— 先加载。核心 DQL 语法、函数、Smartscape 模式。
- dt-sec-insights —— 映射原语的消费者;拥有发现模式查询和覆盖率统计逻辑。在 threat-intelligence.md 中拥有正向威胁情报(报告 → 环境关联、概览、IOC 汇总);本技能只拥有反向 IoC → 报告富化(ioc-enrichment.md)。
- dt-sec-ioc-hunting —— 将跨证据关联和实体富化路由到本技能。
- dt-obs-kubernetes —— Pod→节点拓扑;K8s 实体放置模式。
- dt-obs-hosts —— 主机清单;HOST/PROCESS_GROUP 发现的进程级上下文。
- dt-obs-aws / dt-obs-azure / dt-obs-gcp —— 用于云实体富化的云 Smartscape 拓扑。