Skip to main content

v1.0.0 — Graph Intelligence Engine

Released April 14, 2026. P5 GNN Tier 2 complete — the intelligence loop is closed.

What’s New

Full Intelligence Loop

The platform now has a complete feedback loop from detection to fleet-wide protection:
An attack pattern detected at one proxy is automatically distilled into a structural signature and pushed to every proxy in the fleet.

Memgraph Graph Database

Agent actions are now materialized as a property graph in Memgraph, enabling structural pattern detection that the proxy’s FlowMatrix signatures cannot express. Node types:
  • Action — one MCP tool call with capability, risk score, deviation, confidence band
  • Session — groups actions into a single agent invocation
  • Agent — persistent identity across sessions
  • Resource — files, APIs, databases accessed by actions
Edge types:
  • NEXT — temporal ordering between consecutive actions (with capability transition labels)
  • BELONGS_TO — action → session membership
  • STARTED_BY — session → agent ownership
Performance: 6,577 events/sec ingestion, cross-batch NEXT edge continuity, tenant-scoped MERGE keys.

VGAE Autoencoder

Variational Graph Autoencoder for unsupervised anomaly detection. Learns to reconstruct normal session graphs — high reconstruction error = anomalous.
  • Encoder: GraphSAGE (input → 128 → 64, mean aggregation)
  • Decoder: Inner product (edge reconstruction) + MLP (feature reconstruction)
  • Loss: Edge reconstruction + feature reconstruction + beta * KL divergence
  • Anomaly score: tanh-normalized reconstruction error in [0, 1] with NaN guard
  • Negative sampling: Excludes positive edges to prevent training corruption

Signature Distillation

When the GNN flags a session as anomalous:
  1. Extracts the session’s capability transition matrix from Memgraph
  2. Normalizes to a [12x12] probability distribution
  3. Computes a JSD threshold (tighter for higher-confidence detections)
  4. Packages as a proxy-compatible ThreatSignature JSON
  5. Publishes to NATS quint.signatures.{org_id}
  6. Every proxy in the fleet receives and adds it to their ThreatSignatureRegistry
Signature format:

Feature Enrichment (Phase 2)

Node features extended from 15-dim (Phase 1) to 21-dim (Phase 2): Phase 3 (143-dim) will add 90 GraphReasoner rule bits and graph centrality features.

Deployment Architecture

Memgraph is core at team tier and above — not enterprise-only:

What Changed from v0.9.0

Bug Bounty Results

Two rounds of 4-agent bug bounty across the entire P5 codebase: Key fixes:
  • Import crash on startup (dead SessionSnapshotEvent import)
  • Sync torch blocking event loop → run_in_executor
  • Anomaly score range [0.5, 1.0] → [0.0, 1.0] via tanh
  • Negative sampling 9% collision rate → positive edge exclusion
  • Memory leaks: bounded _last_action_by_session, _scored_sessions, _distilled_sessions
  • Dedup race condition in signature distiller
  • Null guard on Memgraph capability fields
  • Session ID removed from signature description (info leak)

By the Numbers

What’s Next


v1.0.1 — Accuracy Hardening (April 15, 2026)

The AUROC / AUPRC / F1 figures in this section were measured on SYNTHETIC data and must not be read as deployment accuracy. Banner added 2026-08-01.They come from ~50K generated sessions across 8 archetypes and 10 attack types. 1.000 on any metric is the signature of a model that has memorised its generator, not evidence of a working detector — the failure mode documented in Sommer & Paxson, Outside the Closed World (IEEE S&P 2010). It was architecture validation, and it was never a deployable model.Two things have changed since:
  • The GNN this section describes will not be built as described, not merely unshipped. Under Intent-Scoped Security the enforcement decision is deterministic and no score layer blocks on its own. See the graph neural network and the Detection Ladder.
  • gnn_enabled is false in production and no trained artifact ships. The behavioural score contributes nothing to any live decision.
For accuracy numbers that describe the shipping product, use the reproducible AgentDojo result on the deterministic scope compiler — every scorable attack stopped with zero legitimate calls denied — not the table below.

Multi-Level Detection Stack

Replaced the single VGAE autoencoder with a 4-level ensemble detector: Weights are learned via logistic regression on validation data, not hand-tuned.

Accuracy Results (synthetic data only)

Synthetic data. 1.000 is memorisation of the generator, not deployment accuracy — see the banner at the top of v1.0.1. The GNN these numbers describe is on the not planned, and gnn_enabled is false in production.

Key Fix: GAT Classifier Collapse

The supervised classifier was outputting identical predictions for every input (P(attack)=0.63 constant). Root cause: training data was not shuffled — all normals processed before all attacks. Fixed with:
  • Epoch-level shuffling
  • Gradient accumulation over 8 samples
  • Gradient clipping at 1.0

Training Data at Scale

N-gram Features (+3 dims)

  • Bigram surprise: How rare is this capability transition? Novel transitions (read to upload) score high.
  • Window entropy: Shannon entropy of capabilities in last 10 actions. Attack kernels have high diversity.
  • Export density: Fraction of upload/send/download in last 20 actions. Catches slow-drip exfiltration.

Adversarial Robustness

7 evasion scenarios tested:

Score Calibration

  • Per-level percentile scoring against normal baseline distribution
  • Alert tiers: Hard (any level > 0.9), Soft (2+ levels > 0.5), Standard
  • Calibrator persisted alongside model for production deployment

GNN vs Baseline

Synthetic data. 1.000 across all three metrics is memorisation of the generator, not accuracy. See the banner at the top of v1.0.1. This comparison shows the graph structure was wired correctly; it says nothing about real-world performance, and the GNN it describes will not be built as described.
Showed the graph structure was wired correctly and added signal over flat features on synthetic data:

AWS Deployment Architecture

Team Tier (5-50 agents)

Shared ECS cluster. Each team gets a BI Service task with Memgraph sidecar (1-2GB). Data isolation via tenant_id on all graph queries. Shared NATS, Redis, and Postgres.

Enterprise Tier (100-10K agents)

Dedicated per-tenant infrastructure. Memgraph on memory-optimized EC2 (r6g.xlarge, 32GB). BI Service auto-scales horizontally. Can deploy in customer’s own AWS account for data residency.

Global Tier (Federated Intelligence)

Anonymized embeddings only cross tenant boundaries:
  • FlowMatrix [12x12] capability transitions (no tool names)
  • Latent embeddings [64-dim] (compressed, non-invertible)
  • Capability distributions [12] (percentages only)
Never shared: tool names, resource paths, agent IDs, arguments, customer identity. Attack detected at Tenant A becomes a universal threat signature pushed to all tenants within ~5 minutes.

v1.0.2 — Rule Engine + 143-dim Features (April 15, 2026)

GraphReasoner Rule Engine

90 inference rules across 7 categories, mapped to 11 compliance frameworks. Replaces the fallback scorer (deviation_score * 100) with domain-knowledge-based scoring. Rule Categories: Compliance Frameworks: SOC2, NIST 800-53, ISO 27001, OWASP LLM Top 10, MITRE ATT&CK, GDPR, EU AI Act, NIST AI RMF, PCI DSS, HIPAA, CCPA

Baseline-Aware Scoring

Rules are no longer blind to agent behavior. Each rule’s score is modulated by how surprising the action is for this specific agent:
  • DevOps agent runs exec (normal for them) → surprise = 0.0 → score = 0
  • Coding assistant runs exec (never does this) → surprise = 1.0 → score = full
  • Cold start agent (unknown) → surprise = 0.5 → score = half
This eliminates ~60% of false positives from baseline-blind rules.

Capability-Based Tool Detection

Tool risk rules use the 12-capability classification system instead of regex pattern matching on tool names. Renaming bash to custom_executor doesn’t evade detection — the capability is still exec.

143-dim GNN Features

Rule firing bits are now wired into the GNN feature pipeline as node features: The 90 binary rule bits encode domain knowledge directly as GNN features. The model learns which rules correlate with attacks and how they interact — something hand-tuned score deltas cannot express.

How to Enable

Performance