Problem
Ihr habt einen Custom-Decoder für Trellix/McAfee Web Gateway gebaut und extrahiert usrName erfolgreich:
<decoder name="McAfee_Web_Gateway">
<parent>McAfee_Web_Gateway</parent>
<regex>\.+\pusrName=(\.+)\|</regex>
<order>username</order>
</decoder>
Sobald ihr aber versucht, das Feld auf einen „statischen“ Namen zu ändern …
<order>user</order>
… taucht das Ergebnis nicht als user, sondern als dstuser auf.
Ursache
Das ist kein Bug in eurem Regex, sondern erwartetes Verhalten:
- In Wazuh-Decodern ist
userein reservierter Alias - Dieser Alias wird automatisch auf das kanonische Feld
dstusergemappt
Darum wird aus <order>user</order> immer dstuser, selbst wenn ihr „user“ erzwingen wollt.
Lösungsmöglichkeiten
Option A (einfach & korrekt): Bleibt bei einem nicht-reservierten Feldnamen, z. B.
username(wie bei euch bereits erfolgreich)srcuser/dstuser(falls semantisch passend)
Option B (wenn ihr unbedingt user braucht): Umbenennung nachgelagert durchführen, z. B. in:
- OpenSearch / Wazuh Indexer Ingest Pipeline (Painless Script / Rename Processor)
- Logstash/Elastic Ingest (falls im Einsatz)
➡️ Wichtig: Im Decoder selbst könnt ihr kein internes Feld „user“ erzwingen, wenn es mit einem Wazuh-Alias kollidiert.
Takeaway
Wenn ein <order>-Feld „komisch“ umbenannt wird, lohnt sich immer der Blick auf reservierte Decoder-Feldnamen/Aliase. In diesem Fall ist user fest an dstuser gebunden.
https://wazuh.slack.com/archives/C0A933R8E/p1765804058202159