name: "Splunk Notable / CIM → OCSF" description: "Maps a Splunk notable / CIM finding row (search results_path = results) to OCSF Finding fields. Built for ES notable events surfaced by the `notable` macro (rule_title/rule_name/urgency/security_domain) enriched with CIM Network/Authentication fields (src/dest/user/dvc). Severity is normalised to the OCSF 1-5 scale from the notable `urgency`." field_mappings: title: "rule_title ? rule_title : (source ? source : event_id)" # urgency: informational/low -> low, up to critical=5 (OCSF 1-5 scale). severity: "urgency = 'critical' ? 5 : (urgency = 'high' ? 4 : (urgency = 'medium' ? 3 : (urgency = 'low' ? 2 : 1)))" description: "rule_description" # results_path = results; source_path is JSONata over ONE result row. # Fields absent from a given row are skipped at ingestion, so extra entries are safe. ocsf: # ── Finding ─────────────────────────────────────────────────────── - { source_path: "event_id", ocsf_field: "finding_info.uid" } - { source_path: "rule_title", ocsf_field: "finding_info.title" } - { source_path: "rule_description", ocsf_field: "finding_info.desc" } - { source_path: "`_time`", ocsf_field: "finding_info.created_time" } - { source_path: "security_domain", ocsf_field: "finding_info.analytic.category" } - { source_path: "status_label", ocsf_field: "status" } # ── Rule (correlation search) / provenance ──────────────────────── - { source_path: "rule_name", ocsf_field: "rule.name" } - { source_path: "rule_description", ocsf_field: "rule.desc" } - { source_path: "signature", ocsf_field: "metadata.event_code" } - { source_path: "source", ocsf_field: "metadata.log_name" } - { source_path: "sourcetype", ocsf_field: "metadata.log_source" } # ── Source endpoint (CIM Network) ───────────────────────────────── - { source_path: "src", ocsf_field: "src_endpoint.hostname" } - { source_path: "src_ip", ocsf_field: "src_endpoint.ip" } - { source_path: "src_port", ocsf_field: "src_endpoint.port" } # ── Destination endpoint (CIM Network) ──────────────────────────── - { source_path: "dest", ocsf_field: "dst_endpoint.hostname" } - { source_path: "dest_ip", ocsf_field: "dst_endpoint.ip" } - { source_path: "dest_port", ocsf_field: "dst_endpoint.port" } # ── Affected device / users (CIM) ───────────────────────────────── - { source_path: "dvc", ocsf_field: "device.hostname" } - { source_path: "user", ocsf_field: "user.name" } - { source_path: "src_user", ocsf_field: "actor.user.name" }