docs(mappers): time no longer dates detection

Eight mappers (Cortex XDR, CrowdStrike, Rapid7) still called the OCSF
`time` field "the MTTD anchor" that Riposte reads to stamp detected_at.
Riposte retired MTTD in migration 0256 and stamps detection at
ingestion for every alert; the mappings stay, as the alert's own record
of when the source saw the event. Comments only: no mapping changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-07 09:56:50 +00:00
parent ea04ea586c
commit ece2c41340
8 changed files with 30 additions and 21 deletions
@@ -67,7 +67,9 @@ ocsf:
- { source_path: "organization_id", ocsf_field: "cloud.org.uid" }
- { source_path: "assignee.name", ocsf_field: "assignee.name" }
- { source_path: "assignee.email", ocsf_field: "assignee.email_addr" }
# ── Detection time: the MTTD anchor ───────────────────────────────
# ── Event time (OCSF `time`) ───────────────────────────────────────
# Riposte no longer reads it to date detection (MTTD retired, migration 0256):
# it is the alert's own record of when the source saw the event.
# Weakest first, strongest last. The investigation is created after the alert that
# opened it; the alert's own alerted_at is when the event happened in the source system.
- { source_path: "created_time", ocsf_field: "time" }
@@ -41,9 +41,10 @@ ocsf:
- { source_path: "detection_name", ocsf_field: "finding_info.title" }
- { source_path: "detection_name", ocsf_field: "finding_info.analytic.name" }
- { source_path: "$fromMillis(timestamp)", ocsf_field: "finding_info.created_time" }
# ── Detection time: the MTTD anchor ───────────────────────────────
# The log's own timestamp, not the poll's. A feed that ran late must not make the
# detection look late with it.
# ── Event time (OCSF `time`) ───────────────────────────────────────
# Riposte no longer reads it to date detection (MTTD retired, migration 0256):
# it is the alert's own record of when the source saw the event.
# The log's own timestamp, not the poll's.
- { source_path: "$fromMillis(timestamp)", ocsf_field: "time" }
# ── Product identity ──────────────────────────────────────────────
- { source_path: "'Rapid7 InsightIDR'", ocsf_field: "metadata.product.name" }
@@ -40,9 +40,10 @@ ocsf:
- { source_path: "detection_name", ocsf_field: "finding_info.title" }
- { source_path: "detection_name", ocsf_field: "finding_info.analytic.name" }
- { source_path: "$fromMillis(timestamp)", ocsf_field: "finding_info.created_time" }
# ── Detection time: the MTTD anchor ───────────────────────────────
# The log's own timestamp, not the poll's. A feed that ran late must not make the
# detection look late with it.
# ── Event time (OCSF `time`) ───────────────────────────────────────
# Riposte no longer reads it to date detection (MTTD retired, migration 0256):
# it is the alert's own record of when the source saw the event.
# The log's own timestamp, not the poll's.
- { source_path: "$fromMillis(timestamp)", ocsf_field: "time" }
# ── Product identity ──────────────────────────────────────────────
- { source_path: "'Rapid7 InsightIDR'", ocsf_field: "metadata.product.name" }
@@ -50,7 +50,9 @@ ocsf:
- { source_path: "type", ocsf_field: "finding_info.analytic.name" }
- { source_path: "rule.rrn", ocsf_field: "finding_info.analytic.uid" }
- { source_path: "rule.version_rrn", ocsf_field: "finding_info.analytic.version" }
# ── Detection time: the MTTD anchor ───────────────────────────────
# ── Event time (OCSF `time`) ───────────────────────────────────────
# Riposte no longer reads it to date detection (MTTD retired, migration 0256):
# it is the alert's own record of when the source saw the event.
# alerted_at is when the underlying event happened in the source system; created_at is
# when Rapid7 finished building the alert. Weakest first, strongest last.
- { source_path: "created_at", ocsf_field: "time" }