name: "VMware Carbon Black Cloud Alerts → OCSF" description: "Exhaustive map of a Carbon Black Cloud Alert Search v7 alert (POST /api/alerts/v7/orgs/{org_key}/alerts/_search, results_path = results) to OCSF. Field paths validated against the CBC Platform Alerts v7 API. The alerting process = actor (actor.*); the child/target process spawned as a result = process.*; parent lineage under actor.process.parent_process.*." field_mappings: title: "reason" severity: "severity >= 9 ? 5 : (severity >= 7 ? 4 : (severity >= 5 ? 3 : (severity >= 3 ? 2 : 1)))" description: "type" # results_path = results; source_path is JSONata over ONE alert object. # Paths absent from a given alert (e.g. no childproc.* on a non-process alert type) are # skipped at ingestion, so extra entries are safe. ocsf: # ── Finding / alert identity ─────────────────────────────────────── - { source_path: "id", ocsf_field: "finding_info.uid" } - { source_path: "reason", ocsf_field: "finding_info.title" } - { source_path: "type", ocsf_field: "finding_info.desc" } - { source_path: "first_event_timestamp", ocsf_field: "finding_info.created_time" } - { source_path: "backend_update_timestamp", ocsf_field: "finding_info.modified_time" } - { source_path: "alert_url", ocsf_field: "finding_info.src_url" } - { source_path: "workflow.status", ocsf_field: "status" } - { source_path: "determination.value", ocsf_field: "status_detail" } # ── Endpoint / device ────────────────────────────────────────────── - { source_path: "device_id", ocsf_field: "device.uid" } - { source_path: "device_os_version", ocsf_field: "device.os.build" } - { source_path: "device_name", ocsf_field: "src_endpoint.hostname" } - { source_path: "device_os", ocsf_field: "src_endpoint.os.name" } - { source_path: "device_internal_ip", ocsf_field: "src_endpoint.ip" } - { source_path: "device_username", ocsf_field: "user.name" } - { source_path: "org_key", ocsf_field: "cloud.account.uid" } # ── Triggering process — the actor ───────────────────────────────── - { source_path: "process_name", ocsf_field: "actor.process.name" } - { source_path: "process_pid", ocsf_field: "actor.process.pid" } - { source_path: "process_cmdline", ocsf_field: "actor.process.cmd_line" } - { source_path: "process_sha256", ocsf_field: "actor.process.file.hashes.sha256" } - { source_path: "process_md5", ocsf_field: "actor.process.file.hashes.md5" } - { source_path: "process_guid", ocsf_field: "metadata.original_event_uid" } - { source_path: "process_username", ocsf_field: "actor.user.name" } # ── Parent process ────────────────────────────────────────────────── - { source_path: "parent_name", ocsf_field: "actor.process.parent_process.name" } - { source_path: "parent_pid", ocsf_field: "actor.process.parent_process.pid" } - { source_path: "parent_cmdline", ocsf_field: "actor.process.parent_process.cmd_line" } - { source_path: "parent_sha256", ocsf_field: "actor.process.parent_process.file.hashes.sha256" } # ── Child / target process ────────────────────────────────────────── - { source_path: "childproc_name", ocsf_field: "process.name" } - { source_path: "childproc_pid", ocsf_field: "process.pid" } - { source_path: "childproc_cmdline", ocsf_field: "process.cmd_line" } - { source_path: "childproc_guid", ocsf_field: "process.uid" } # ── Detection rule / watchlist / report ───────────────────────────── - { source_path: "watchlists[0].name", ocsf_field: "rule.name" } - { source_path: "watchlists[0].id", ocsf_field: "rule.uid" } - { source_path: "report_name", ocsf_field: "rule.desc" } # ── IOC / observable ────────────────────────────────────────────── - { source_path: "ioc_hit", ocsf_field: "observables.value" } - { source_path: "ioc_field", ocsf_field: "observables.type" }