Home/Notebook
Observations / methods / experiments
Notebook.
Field notes on model systems, security, and the experiments behind them.
11 notes
2026
Aug 22
The Tunnels Under the Surface
A scanner finds the services. The real shape of an AI estate lives in the hidden connections carrying credentials, trust, and data between them.
Aug 21
A Field Guide to AI Infrastructure
The model is one process. Around it sits the infrastructure that serves it, tracks it, stores its data, and wires it into everything else. This is a map of the services and seams that make up a modern model estate.
Aug 19
Treat a Model Download Like a Software Supply-Chain Decision
A from_pretrained() call is a download, a parse, and an execution decision wrapped in one convenient API. A reviewable workflow: pin the revision, approve the whole snapshot, read scan results literally, make the first load disposable, and promote the exact object you tested.
Aug 19
A Model File Is Not a Script
A model file can influence a great deal of computation without being executable code. On the difference between an executable serialization format and a tensor container, and why an out-of-bounds read in MLX's GGUF loader was worth fixing even after it was declined as a security issue.
Jul 29
Structure-Aware Fuzzing for ML Model Parsers
Loading a model from a hub means running a binary parser on a file a stranger gave you. This is the map for Crucible: what the attack surface is, why a format-aware fuzzer beats a dumb one on it, and how a seed file becomes a filed advisory.
Jun 13
Found by AI, Fixed by AI
A structure-aware fuzzer found a small ONNX memory-safety bug, GitHub Copilot helped patch it upstream, and the public issue-to-merge loop closed the same afternoon.
May 15
The Format That Got It Right
SafeTensors did not survive fuzzing by luck. It survived because the format puts validation before allocation, keeps code out of the file, and treats model loading as an input-parsing problem.
May 11
Signing Is Not Sealing
Post-quantum signatures are entering supply-chain infrastructure. Any ML artifact signing profile that adopts ML-DSA should get one deployment detail right before it ships: randomized mode opens a 256-bit hidden command channel that no deployed verifier can inspect.
May 08
Two RAG systems, same injection rate, different problems
Two RAG systems with the same headline injection rate can need opposite defenses. Why a single number isn't enough, and what to report instead.
May 01
Channel, Decoder, Substrate: A Vocabulary for ML Attacks
An ML attack is the composition of three things: a channel that carries information, a decoder that reads the channel, and a substrate that runs the decoder. Naming the shape changes how you think about both offense and defense.
2024
Jun 22
Creating an EMUX Environment With Ludus
Let's spin up a virtual environment with all the EMUX emulated environments.