Files
riposte-marketplace/integrations/sentinelone/mappers/get_threats.yaml
T

53 lines
4.7 KiB
YAML

name: "SentinelOne Threats → OCSF"
description: "Exhaustive map of a SentinelOne v2.1 threat object (data[]) to OCSF. Malicious file = subject (file.*/malware.*); originating process = actor (actor.*); host's logged-in user = affected user (user.*)."
field_mappings:
title: "threatInfo.threatName"
severity: "threatInfo.confidenceLevel = 'malicious' ? 4 : 3"
description: "threatInfo.classification"
# source_path is JSONata over ONE threat object (alert rule results_path = data).
# Paths absent from a given threat are skipped at ingestion, so extra entries are safe.
ocsf:
# ── Endpoint / device ─────────────────────────────────────────────
- { source_path: "agentRealtimeInfo.agentComputerName", ocsf_field: "src_endpoint.hostname" }
- { source_path: "agentRealtimeInfo.agentDomain", ocsf_field: "src_endpoint.domain" }
- { source_path: "agentRealtimeInfo.agentOsType", ocsf_field: "src_endpoint.os.type" }
- { source_path: "agentRealtimeInfo.agentMachineType", ocsf_field: "device.type" }
- { source_path: "agentRealtimeInfo.agentUuid", ocsf_field: "device.uid" }
- { source_path: "agentRealtimeInfo.agentId", ocsf_field: "device.uid_alt" }
- { source_path: "agentDetectionInfo.externalIp", ocsf_field: "src_endpoint.ip" }
- { source_path: "agentDetectionInfo.agentIpV4", ocsf_field: "device.ip" }
- { source_path: "agentDetectionInfo.agentOsName", ocsf_field: "src_endpoint.os.name" }
- { source_path: "agentDetectionInfo.agentOsRevision", ocsf_field: "device.os.build" }
- { source_path: "agentDetectionInfo.agentVersion", ocsf_field: "metadata.product.version" }
- { source_path: "agentDetectionInfo.agentRegisteredAt", ocsf_field: "device.first_seen_time" }
- { source_path: "agentDetectionInfo.accountName", ocsf_field: "cloud.account.name" }
- { source_path: "agentDetectionInfo.accountId", ocsf_field: "cloud.account.uid" }
# ── Affected user (logged in on the host) ─────────────────────────
- { source_path: "agentDetectionInfo.agentLastLoggedInUserName", ocsf_field: "user.name" }
# ── Finding / malware ─────────────────────────────────────────────
- { source_path: "threatInfo.threatName", ocsf_field: "malware.name" }
- { source_path: "threatInfo.classification", ocsf_field: "malware.classifications" }
- { source_path: "threatInfo.threatId", ocsf_field: "finding_info.uid" }
- { source_path: "threatInfo.createdAt", ocsf_field: "finding_info.created_time" }
- { source_path: "threatInfo.identifiedAt", ocsf_field: "finding_info.first_seen_time" }
- { source_path: "threatInfo.updatedAt", ocsf_field: "finding_info.modified_time" }
- { source_path: "threatInfo.detectionType", ocsf_field: "finding_info.analytic.type" }
- { source_path: "threatInfo.confidenceLevel", ocsf_field: "confidence" }
- { source_path: "threatInfo.incidentStatus", ocsf_field: "status" }
- { source_path: "threatInfo.analystVerdict", ocsf_field: "status_detail" }
- { source_path: "threatInfo.mitigationStatus", ocsf_field: "status_code" }
- { source_path: "threatInfo.storyline", ocsf_field: "metadata.correlation_uid" }
# ── Acting (malicious) process — the actor ────────────────────────
- { source_path: "threatInfo.originatorProcess", ocsf_field: "actor.process.name" }
- { source_path: "threatInfo.maliciousProcessArguments", ocsf_field: "actor.process.cmd_line" }
- { source_path: "threatInfo.processUser", ocsf_field: "actor.user.name" }
# ── Malicious file — the subject ──────────────────────────────────
- { source_path: "threatInfo.filePath", ocsf_field: "file.path" }
- { source_path: "threatInfo.fileExtension", ocsf_field: "file.ext" }
- { source_path: "threatInfo.fileExtensionType", ocsf_field: "file.type" }
- { source_path: "threatInfo.fileSize", ocsf_field: "file.size" }
- { source_path: "threatInfo.publisherName", ocsf_field: "file.company_name" }
- { source_path: "threatInfo.sha256", ocsf_field: "file.hashes.sha256" }
- { source_path: "threatInfo.sha1", ocsf_field: "file.hashes.sha1" }
- { source_path: "threatInfo.md5", ocsf_field: "file.hashes.md5" }