82f22fdbb3
image_name was left unmapped because HarfangLab prefixes it with the matched threat name — "[PUADlManager:Win32/OfferCore] C:\Windows\ explorer.exe" — and the clean path was available from the event data. That reasoning only held for event-log alerts. On the yara, binary and ioc subtypes there is neither a `process` object nor an `eventlog` block, so those alerts reached the incident with no process at all. Both halves are now pulled out, each guarded on the bracket actually being there: $substringBefore and $substringAfter return the whole string when the pattern is absent, so without the guard an unprefixed path would land verbatim in malware.name. The three entries lead the process block so the more specific sources below — the matched process object, then the event log's own fields — still overwrite them when present. malware.name consequently surfaces on every subtype instead of only where Defender is the source. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>