Interactive simulation. Mock data, no functional backend, no deployable code. Built to study detection, not to operate.

Novich0k: zero-trust, inverted

Zero-trust is normally a defensive posture: trust no node, verify everything. Novich0k models what happens when an attacker adopts it: relays that are cryptographically blind, threshold-split, and disposable. It is not a paper exercise, the v3 stack is a working Rust/WASM build, verified end-to-end against live edge infrastructure.

A built system, not a slide deck

Novich0k v3 is a pure-Rust workspace of five crates. Every claim on this page traces to running code, and the full pipeline was verified live in April 2026: beacon registration, command delivery, result return, signature rejection, replay rejection, and multi-worker failover.

CrateTargetRole
n0k-wireno_std + allocShared protocol types, Umbral serialization, HMAC helpers, the Segment-shaped traffic profile. Compiles for native and WASM alike.
phantom-tsx86_64 nativeTeam server (Axum + SQLite). Queues commands, generates and distributes key fragments, verifies and decrypts results. The only component that ever holds decryption capability.
n0k-workerwasm32-unknown-unknownEdge relay on Cloudflare Workers. Stores fragments and ciphertext in KV (10-minute TTL), re-encrypts on demand. Deployed and exercised live.
n0k-beaconx86_64-pc-windowsWindows implant. Keys derived at runtime from an embedded seed; stripped release binary; polls the worker on a jittered interval. Knows the worker's address and nothing else.
n0k-guix86_64 nativeOperator interface (egui). Talks to the team server over a local, token-authenticated HTTP API.
PrimitiveCratePurpose
Threshold PREumbral-pre 0.11Re-encryption on secp256k1; the relay-blindness guarantee
AEADchacha20poly1305Payload encryption inside the Umbral construction
KDF / hashhkdf, sha2Key derivation from ECDH shared secrets; digests for signatures
Request authhmac (SHA-256)Authenticating beacon polls and pushes at the worker
SignaturesECDSA (secp256k1)Every envelope signed; beacons reject unsigned or mis-signed commands

CONFIRMED: live end-to-end testing, April 2026: registration, command delivery, result return, auth and replay rejection, failover. Internal crate names appear here for provenance; nothing deployable is published.

The relay trust problem

Every major C2 framework concentrates trust in its relay. The table is the whole argument: what the server can read is what a seizure yields.

FrameworkRelay can read traffic?Team server reachable from relay?Forward secrecy
Cobalt StrikeYes, redirector terminates HTTP/SYes, exposed by proxy config and memoryPer session
HavocYes, reverse proxy has bidirectional visibilityYes, discoverable from the proxy hostPer session
SliverYes, mTLS terminates at the relayYes, embedded in implant configurationPer session
MythicYes, the C2 profile container is the outer boundaryYes, container re-initiates internal sessionsProfile-dependent
Novich0k v3No; key fragments only, mathematically incapable of decryptionNo; the beacon never learns it; the worker reaches it only through an ephemeral tunnelPer message: a fresh ephemeral key in every capsule

Framework rows describe public, documented behavior only, see About for sourcing discipline. ASSESSED: to our knowledge, Novich0k is the first published C2 architecture applying PRE as first-class relay isolation.

Detection note

Blind content does not mean invisible infrastructure. Relay hosts still resolve, still fingerprint, still churn; residual signals are catalogued on the Vileblood Vileblood page.

The blind relay

The worker is the unusual component: a relay that performs cryptographic work on traffic it cannot read.

In a traditional framework the relay is trusted: it holds session keys, decrypts commands, and often logs plaintext. A Novich0k worker is cryptographically blind. It holds one fragment of a threshold re-encryption key, useless for decryption alone, and useless below threshold even in collusion. Its key-value store holds only ciphertext blobs indistinguishable from random data to anyone without the operator's or beacon's secret keys.

The mechanism, proxy re-encryption with threshold splitting, is built diagram by diagram in the PRE Primer, including Fig. D4, the threshold-seizure walkthrough this page's claims rest on.

Key insight

Seizing a Novich0k relay recovers three things: one useless key fragment, a pile of ciphertext, and metadata about when blobs arrived. The first two are cryptographically empty. The third, timing, is where detection lives.

Fig. A1 · the trust boundary is cryptographic, not network-topological
Novich0k trust boundary The operator and team server sit inside the trust boundary holding secret keys and plaintext. The edge worker sits outside it, holding only key fragments. The beacon holds its own secret key and never learns the team server's address. TIER 1 · TRUSTED · the only place plaintext exists OPERATOR n0k-gui PHANTOM-TS holds op_sk, plaintext TIER 2 · UNTRUSTED N0K-WORKER edge relay (WASM) holds kfrags only seizure yields: kfrags + ciphertext nothing readable, nothing forgeable N0K-BEACON holds beacon_sk never sees the TS commands: ciphertext re-encrypted encrypted result results via ephemeral tunnel Relay compromise is an availability event, not a confidentiality event.
Text equivalent
  • The operator's workstation and the team server form the only trusted zone; they hold the operator secret key and all plaintext.
  • The edge worker sits outside that zone. It stores key fragments and ciphertext and performs re-encryption, but holds no key capable of decryption.
  • The beacon holds its own secret key, verifies operator signatures, and communicates only with the worker; the team server's address never reaches it.
  • Results return to the team server through an ephemeral tunnel, so the worker's view of the team server is transient.
A fully compromised worker…Specifics
YieldsKey fragments (both directions), public and verifying keys, auth secrets, every capsule and ciphertext it relayed, and traffic metadata: source IPs, timing, sizes.
Still cannotDecrypt any command or result (no secret keys exist at the relay). Forge commands or results (envelopes are ECDSA-signed; verification fails). Recover secret keys from fragments below threshold (unconditional, not computational).
Honestly, still canDelay or drop traffic, and abuse its fragments to re-encrypt toward attacker-chosen keys. PRE removes the relay's read access, not its position; that residual trust is why fragments are threshold-split across independent providers.

Detection note

Blob arrival times, sizes, and fan-out patterns are visible at the relay host and the CDN edge even when contents never are. See Detection Surfaces → timing and byte-count rows.

Zero-trust as an attacker property

Three properties define the model. Each one trades away something defenders rely on, and each one leaves something behind.

PropertyAttacker gainWhat defenders loseWhat defenders keep
Relay blindness Seized relays expose no content, keys, or history Content inspection at the relay; seizure as intelligence Timing, sizes, cadence, TLS fingerprints, edge logs
Threshold redundancy No single seizure degrades the network Takedown as a decisive action Threshold-rebalancing events are themselves observable
Disposable infrastructure Replacement relays in minutes, at near-zero cost The cost asymmetry that made takedown worthwhile Churn rate as a signal; new-hostname DNS telemetry

Detection note

Read the right-hand column as the research agenda. Each "what defenders keep" cell is expanded into a testable hunting hypothesis on the Detection Surfaces page.

Proof surfaces, and their limits

Each security property names its mechanism, its guarantee, and its verification status. The limits are stated with the same confidence as the guarantees.

PropertyMechanismGuaranteeStatus
Relay blindnessUmbral threshold PRE (2-of-3 default)Relay holds fragments that cannot decrypt; sub-threshold compromise reveals nothingCONFIRMED: live
Envelope authenticityECDSA signatures over the full envelope, both directionsForged commands fail at the beacon; forged results fail at the team serverCONFIRMED: live
Replay protectionMonotonic sequence per beaconStale or re-sent envelopes are rejectedCONFIRMED: live; counter is currently timestamp-derived, a known production gap
Per-message forward secrecyFresh ephemeral key in every capsuleLater compromise of long-term keys does not open captured traffic, a stronger unit than TLS's per-session guaranteeASSESSED: construction-level
Fragment integrityUmbral correctness proofs, verified before useTampered fragments in the KV store fail verification and never produce outputCONFIRMED: live
Residual relay trustNone; inherent to PREThe worker remains a trusted re-encryption oracle: it can misuse its transform, never its contentsOPEN: mitigated by threshold distribution, not eliminated

Honest limits

Team server compromise is total; it holds every secret that matters and must be defended accordingly. Beacon compromise is session compromise, as with any implant. PRE changes what the middle of the path is worth to an adversary, it does not harden the ends.

Traffic mimicry, at detection-relevant depth

The model's V2 profile shapes its traffic to resemble product-analytics batching, batched JSON events to a Segment-shaped endpoint, plausible event names, dynamically generated timestamps. The full anatomy, including what each field does and exactly where the imitation breaks, is on the Traffic Analysis page.

What it imitates. The request shape of mainstream analytics pipelines: batched JSON events, plausible event names and timestamps, payload sizes drawn from realistic distributions. To a flow log, a session is meant to read as ordinary product telemetry.

What distinguishes the imitation. The imitator's problems are behavioral, not cryptographic: analytics-shaped traffic originating from processes that are not browsers; cadence that holds machine-regularity a human product never does; size distributions that match a corpus too well; and TLS fingerprints that belong to a cloud worker runtime rather than a browser fleet.

Scope discipline. Published detail is chosen for detection value: field semantics, fingerprints, and behavioral signatures a defender can hunt on. Operational parameters and deployment recipes stay unpublished.

Detection note

Each distinguishing behavior above maps to a hunting hypothesis (H1–H5) with confidence ratings in Detection Surfaces, including honest notes on where mimicry may hold.

Attack it or defend against it Analyze the traffic Go to detection

FURTHER READING · There Is No Handshake · How Do C2s Get Away with Murder?