Skip to content

Event Pipeline

amandykovxd edited this page Jul 28, 2026 · 1 revision

Event Pipeline

Sources

Kernel-originated records:

  • target registration changes;
  • target and direct-child process lifecycle;
  • image loads for the active target;
  • queue drop and callback health counters.

User-mode records:

  • process identity;
  • module inventory;
  • executable regions outside loader-visible module ranges;
  • module path and hash classification;
  • scan budgets and completion cadence;
  • driver connection and protocol failures.

Serialization

The collector writes UTF-8 JSON Lines. Every record contains a collector sequence, UTC timestamp, severity, stable event identifier, target PID, event-specific details, and a SHA-256 chain value.

chain[i] = SHA256(chain[i-1] || exact_record_body[i])

Forward complete lines without parsing and regenerating the JSON. Verify segments from oldest to newest:

python tools\verify_log.py `
  anticheat-events.jsonl.2 `
  anticheat-events.jsonl.1 `
  anticheat-events.jsonl

Server processing

The receiver should:

  • assign a server-side session identifier;
  • reject incompatible schema versions;
  • index by session and collector sequence;
  • retain kernel sequence independently;
  • detect missing or reordered records;
  • anchor chain heads in append-only remote storage;
  • alert on queue drops and missing scan cadence;
  • keep client signals separate from enforcement decisions.

See the canonical event schema.

Clone this wiki locally