Rules Loaded
Transition rules active
Corridors
Attack sequence corridors
Events Processed
Cumulative — persisted across restarts
Alerts Generated
Impossible transitions detected
Engine Identity
Lineage Version
Loading...
Architecture
Sealed, closed-world deterministic state machine. No ML, no probabilistic scoring. Every alert is a mathematically impossible state transition.
No attack can complete its objective without being detected.
Evaluation Complexity
O(1)
Per-event evaluation cost — constant time regardless of dataset size, actor count, or rule count.
Determinism
✓ Fully deterministic — same inputs + same lineage = same outputs, always.
Real-World Calibration Summary
Dataset
278
EVTX attack files
Total Events
34,259
Windows + Sysmon events
Processed
3,031
After SYSTEM/machine filter
Alerts
9
Genuine detections
Alert Rate
0.026%
Of total events
False Positive Rate
0.00%
By construction
Source: EVTX-ATTACK-SAMPLES public dataset (jymcheong/EVTX-ATTACK-SAMPLES). All 9 alerts are genuine behavioral anomalies — Shadow Privilege patterns, privilege cycling, and a zombie process access event.
Behavioral Domains
User Behavior
Tracks authentication, privilege escalation, session lifecycle, and anomalous user patterns.
States: initial → authenticated → active → privileged → anomalous → blocked
Process Behavior
Tracks process lifecycle from spawn to termination, including resource access and privilege escalation.
States: initial → created → running → accessing_resource → communicating → escalating → terminated
Network Behavior
Tracks network connection lifecycle, data transmission, scanning, and exfiltration patterns.
States: initial → idle → connecting → transmitting → receiving → scanning → exfiltrating
System Behavior
Tracks system health from normal operation through degradation, compromise, and recovery.
States: initial → normal → degraded → under_stress → compromised → recovering
Dataset Statistics
EVTX Files
278
Attack scenario files
Total Events
34,259
Windows + Sysmon events
Filtered Out
31,228
SYSTEM / machine / no-actor
Processed
3,031
Attributed to real actors
Event Source Breakdown
Event SourceEvent IDsCountDescription
Sysmon Process Create1~2,400Process spawn events with Image path and ProcessGuid
Sysmon Network Connect3~400Network connection events with source/dest IP and port
Sysmon Process Terminate514,638Process termination events (filtered — most are SYSTEM)
Sysmon Driver Load614,973Driver load events with ImageLoaded path (filtered)
Sysmon Registry Events12,13,14~800Registry key/value create, modify, delete
Windows Security4624,4625,4648,4672,4688,7045~1,000Logon, privilege, process, service events
9 Genuine Detections
# Actor Violation Severity Timestamp
1 admin01@EXAMPLE user:initialuser:privileged Critical 2019-02-13 18:04 UTC
PatternShadow Privilege — first observed event is a privileged action with no prior authentication MITRE ATT&CKT1078 Valid Accounts / T1134 Access Token Manipulation Lineagezero.v1.0.states.v1.transitions.v6.corridors.v1
2 samir@3B user:initialuser:privileged Critical 2022-02-16 10:37 UTC
PatternShadow Privilege — user samir@3B first appears in a privileged state with no authentication event MITRE ATT&CKT1078 Valid Accounts Lineagezero.v1.0.states.v1.transitions.v6.corridors.v1
3 {747f3d96-141c-5e41...}@MSEDGEWIN10 process:terminatedprocess:accessing_resource Critical 2020-02-10 08:28 UTC
PatternZombie Process — process recorded as terminated then performed a file/registry access. Possible pending I/O or process injection. MITRE ATT&CKT1055 Process Injection / T1134 Access Token Manipulation NoteCould be a timing artefact in EVTX log ordering, or a genuine detection of post-termination activity Lineagezero.v1.0.states.v1.transitions.v6.corridors.v1
4 Administrator@EXAMPLE user:initialuser:privileged Critical 2019-03-19 00:02 UTC
PatternShadow Privilege — Administrator account first appears in privileged state at midnight (00:02 UTC) MITRE ATT&CKT1078.002 Domain Accounts Lineagezero.v1.0.states.v1.transitions.v6.corridors.v1
5 user01@EXAMPLE user:authenticateduser:privileged Critical 2019-03-18 11:06 UTC
PatternDirect Privilege Escalation — user01 authenticated then immediately escalated to privileged without an active session MITRE ATT&CKT1078 Valid Accounts / T1548 Abuse Elevation Control Mechanism Lineagezero.v1.0.states.v1.transitions.v6.corridors.v1
6 user01@EXAMPLE user:privilegeduser:authenticated Critical 2019-03-18 11:27 UTC
PatternPrivilege Cycling — user01 drops from privileged to authenticated (21 minutes after Alert 5). Privilege cycling is a known lateral movement indicator. MITRE ATT&CKT1078 Valid Accounts Lineagezero.v1.0.states.v1.transitions.v6.corridors.v1
7 IEUser@MSEDGEWIN10 user:authenticateduser:privileged Critical 2019-09-22 11:22 UTC
PatternDirect Privilege Escalation — IEUser authenticated then immediately escalated to privileged MITRE ATT&CKT1548 Abuse Elevation Control Mechanism Lineagezero.v1.0.states.v1.transitions.v6.corridors.v1
8 IEUser@MSEDGEWIN10 user:privilegeduser:authenticated Critical 2019-08-05 09:39 UTC
PatternPrivilege Cycling — IEUser drops from privileged to authenticated. Part of the same privilege cycling pattern as Alert 7. MITRE ATT&CKT1078 Valid Accounts Lineagezero.v1.0.states.v1.transitions.v6.corridors.v1
9 [email protected] user:initialuser:privileged Critical 2022-05-01 04:41 UTC
PatternShadow Privilege — [email protected] first appears in privileged state at 04:41 UTC (off-hours) MITRE ATT&CKT1078.002 Domain Accounts Lineagezero.v1.0.states.v1.transitions.v6.corridors.v1
Click any row to expand detection details. All alerts are deterministic — no probabilistic scoring.
Calibration Methodology
Approach
Filtering Logic
False Positive Analysis

The engine was run against the full EVTX-ATTACK-SAMPLES dataset using the winevent adapter. Events were parsed from 278 EVTX files covering Windows Security logs (EventIDs 4624, 4625, 4648, 4672, 4688, 7045) and Sysmon logs (EventIDs 1, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25). Each event was mapped to a structured behavioral event and fed to the state machine in chronological order.

31,228 events (91.2%) were filtered before reaching the state machine. Filtering criteria:

  • SYSTEM account events — noise, not actors
  • NT AUTHORITY accounts (LOCAL SERVICE, NETWORK SERVICE) — service accounts
  • Machine accounts (ending in $) — computer accounts
  • ANONYMOUS LOGON — unauthenticated noise
  • Events with no identifiable actor (no Image, no User, no ProcessGuid)
  • Sysmon EventID 6 (Driver Load) — uses ImageLoaded field, now correctly mapped

Three rounds of false positive reduction were performed:

  1. Round 1 (32,108 → 774 alerts): Fixed phantom actor — EventID 6 (Driver Load) used ImageLoaded not Image. Added ProcessGuid-based actor_id for Sysmon process events to prevent all instances of the same executable being merged into one actor.
  2. Round 2 (774 → 14 alerts): Added missing self-transition rules (network:connecting, process:created, process:terminated, process:escalating) and mapped action/connect event types to existing states (running, communicating).
  3. Round 3 (14 → 9 alerts): Added missing transition rules (communicating→terminated, running→created, cross-domain process↔network), fixed LOCAL SERVICE@NT AUTHORITY filter, added legitimate path transitions (created→accessing_resource, initial→communicating, etc.).
Event Type → State Mappings
User Behavior Domain
Event TypeTarget State
loginauthenticated
logoutidle
actionactive
escalateprivileged
privilege_requestprivileged
anomalyanomalous
blockblocked
Process Behavior Domain
Event TypeTarget State
spawn / createcreated
startrunning
accessaccessing_resource
ipc / communicatecommunicating
escalateescalating
exit / terminateterminated
actionrunning (Sysmon registry/file)
connectcommunicating (Sysmon pipe)
Network Behavior Domain
Event TypeTarget State
readyidle
connectconnecting
transmit / responsetransmitting
receivereceiving
closeidle
scanscanning
exfiltrateexfiltrating
System Behavior Domain
Event TypeTarget State
startup / normalnormal
degradedegraded
stressunder_stress
compromisecompromised
recoverrecovering
Actor Identity Rules

The engine uses the following priority order to determine actor_id for each event:

  1. Sysmon process events (EventID 1,5,7,8,10+): ProcessGuid@Machine — each process instance is a distinct actor
  2. Sysmon EventID 6 (Driver Load): ImageLoaded@Machine — driver path as actor
  3. Sysmon network events (EventID 3): SourceIp@Machine — source IP as actor
  4. Windows Security process events (4688): NewProcessName@Machine
  5. Windows Security service events (7045): ServiceName@Machine
  6. Windows Security user events (4624, 4625, 4648, 4672): SubjectUserName@LogonDomain

Events with no identifiable actor are skipped. SYSTEM, NT AUTHORITY, LOCAL SERVICE, NETWORK SERVICE, ANONYMOUS LOGON, and machine accounts ($) are filtered.

Loading corridors from engine...
Rule Count
Total Rules
User Behavior
Process Behavior
Network Behavior
Loading transitions from engine...
Event JSON
Evaluation Result
Submit an event to see the evaluation result.
Detection Layer Status
State Machine
Deterministic impossible transition detection. Fires when an actor attempts a structurally forbidden state change.
Active
Behavioral Baseline
Per-actor rolling statistics (Welford algorithm). Fires when an actor deviates significantly from their established baseline.
Active
Intent Detector
Rate-of-action tracking. Fires on exfiltration (100 reads/min), brute force (20 failures/min), persistence, recon, credential dumping.
Active
Predictive Detector
4 MITRE-mapped attack chains (ransomware, APT exfil, credential theft, wiper). Fires before chain completes at 66–75% threshold.
Active
Asset Criticality
Corridor criticality tags escalate alert severity. Same alert on a domain controller fires critical; on a test VM fires medium.
Active
Campaign Clustering
Detects coordinated attacks. 3+ actors hit with same technique in same time window triggers a campaign-level alert.
Active
Alert Feed connecting…
Loading...
No alerts yet. Submit events on the Submit Event page to see them here.
Core Endpoints
EndpointTypeDescription
/healthGETEngine health check and version
/api/docsGETAPI documentation
/api/trpc/zero.evaluatetRPCEvaluate a single behavioral event
/api/trpc/zero.getStatstRPCEngine statistics and rule counts
/api/trpc/zero.getCorridorstRPCList all attack corridors
/api/trpc/zero.getTransitionstRPCList all transition rules
Standalone CLI
# Process a JSONL file of structured behavioral events
node dist/cybercore_zero_standalone.cjs \
  --input=events.jsonl \
  --format=zero \
  --output=alerts.jsonl \
  --state=state.db

# Process Windows Event Log (EVTX) events
node dist/cybercore_zero_standalone.cjs \
  --input=windows_events.jsonl \
  --format=winevent \
  --output=alerts.jsonl \
  --state=state.db

# Formats: zero (native), winevent (Windows Security + Sysmon)
# State DB persists actor state across runs (SQLite via sql.js)
Event Schema
// Structured Behavioral Event (native format)
{
  "actor_id": "[email protected]",      // Unique actor identifier
  "actor_type": "user",                   // user | process | system | network
  "event_type": "login",                  // Domain-specific event type
  "timestamp": 1700000000000,             // Unix milliseconds (UTC)
  "domain_hint": "user_behavior",         // Optional: override domain classification
  "context": {
    "environment_class": "production",    // Optional: production | staging | dev
    "source_ip": "10.0.0.1",
    "target_resource": "/api/admin"
  }
}
Run Evaluation
Ready. Evaluation runs offline — takes ~30s for all 15 scenarios.
10-Year Meridian Simulation

Full synthetic simulation: 352,582 events across 2015–2025, 1,100 actors, 8 named threat actor campaigns, 4 insider cases. Deterministic (seed 42) — same inputs produce the same alerts and the same SHA-256 hash every time. No network. No real data. Results are reproducible by anyone.

Honest disclosure: This is a synthetic dataset. The normal population follows valid state sequences and produces zero alerts. All alerts come exclusively from the 8 named campaigns and 4 insider cases. This tests structural detection logic, not real-world traffic. The engine has documented boundaries — see the Evaluation Suite above for details.
Ready. Takes ~30–60 seconds. Rate limited: 60s cooldown between runs.
Custom Rules
Rule IDDomainFrom StateTo StateStatus
Loading...
Add Custom Rule

Use this to permit a transition that the built-in rule table does not cover. Example: in your environment, cmd.exe legitimately connects to the network — add process_behavior:running → process_behavior:communicating for that actor class.

How Custom Rules Work

The engine's 74 built-in transition rules cover the most common legitimate behavioural sequences. In your specific environment, some additional sequences may be legitimate. Adding a custom rule tells the engine to permit that transition for all actors in the specified domain.

Custom rules are stored in the database and loaded on engine restart. They are auditable — every rule has a creation timestamp and can be toggled or deleted. They do not modify the built-in rule table.

⚠ Adding a rule reduces sensitivity. Only add rules for transitions you have confirmed are legitimate in your environment.

Current Status
Status
Loading...
Mode
Enrolment mode
Actors Enrolled
First-seen actors enrolled silently
Alerts Suppressed
First-event suppressions (lifetime)
Window Progress
Override Enrolment Mode

By default, perpetual enrolment is active — new actors are always silently enrolled. You can override this with a fixed time window (e.g. for a controlled evaluation environment), or disable enrolment entirely. Set to 0 to disable immediately. Disabling on a live network will produce false positives for every new actor.

How First-Event Enrolment Works

When the engine encounters an actor it has never seen before, it silently records their starting state without generating an alert. This is called first-event enrolment. All subsequent events from that actor are evaluated normally against the transition rules.

In perpetual mode (the default), enrolment applies permanently — not just during a startup window. This is required for production deployments because new actors (new employees, new service accounts, new servers, new containers) appear continuously and indefinitely.

Enrolment does not suppress alerts for known actors. If an actor the engine has already seen performs an impossible transition, it alerts immediately.

Enrolment does not suppress alerts for attack-path first events. If a brand-new actor's very first event is an impossible transition (e.g. a process that appears already dumping credentials), the engine alerts — that transition has no permitted rule regardless of actor history.

⚠ Disabling enrolment on a live network will produce false positives for every new actor until all legitimate actors have been seen at least once.

Saved Reports
#Report IDEngine VersionScenariosRed TeamDateHashActions
Loading...
Create New Client Token
Active Tokens
LabelPrefixCreatedExpiresCountdownLast UsedStatusActions
Loading...
Login Audit Log Last 100 events
TimeEventIP AddressDetail
Loading...
Enter an Actor ID and click Query.
TimeActorFrom StateTo StateTransitionCorridorResultAlert
AI Incident Report Generator

Enter an Alert ID to generate a plain-English incident report using AI. Reports are cached and persist across sessions.

Status
Uptime
Events Processed
Alerts in Store
Validation Rejections
Events failing schema validation
Rate Limit Rejections
Events dropped by rate limiter
Diode Queue
Queued / Sent / Dropped
Engine
Loading...
Rate Limiter
Loading...
Last Test Result
No test run yet.
Enter an Actor ID and click Load.
What's included
• All ledger records for the actor (up to 500)
• All alerts matching the actor ID and severity filter
• Engine metadata: version, lineage, corridors loaded, timestamp
• Pack generated timestamp and SHA-256 integrity hash
1. Input
2. Discover
3. Shadow Privileges
4. Corridors
5. Report
Environment Data Input

Paste your environment data as JSON. Each field accepts either a flat array or a structured object. A sample format is shown in each field.