Notes

Essays from the seams between security, systems, and operations.

I use this section to work through the engineering constraints, failed assumptions, and operating tradeoffs that short answers tend to hide.

RSS feed How to subscribe Published when there is something worth sharing.

Featured

Representative posts

Notes on vulnerability research, technical leadership, and AI security.

Jul 17, 2026 Essay

Copy Fail and Dirty Frag: A Shared-Fragment Invariant

Copy Fail and Dirty Frag, three Linux CVEs in ten days, share one root cause: in-place crypto fast paths that write over paged fragments they do not own.

Apr 27, 2026 Essay

Defaults are the only security control that scales

Every checkbox on the paved road taxes traffic off it. The real product of a platform team is the default every team inherits by doing nothing.

Apr 20, 2026 Essay

The unit economics of deception

Deception is a rare defense where each detection burns attacker resources at near-zero defender cost. A week of data from my site, and why few programs use it.

Apr 9, 2026 Essay

Why prompt injection is architecturally hard to solve

Prompt injection is structural in any system that mixes instructions and untrusted data in one context, not a patchable prompting bug.

Apr 6, 2026 Deep Dive

FHE and LLM inference: the hardest open problem in private AI

Running LLMs on fully encrypted data is theoretically sound and practically brutal. Here is where the research stands and what actually works today.

Feb 2, 2026 Essay

Leading small teams that punch above their weight

What leading eight missionaries through cyclone season taught me about building small engineering teams that outperform their headcount.

Archive

All notes

Aug 19, 2026

Sound Obligations, Faltering Machinery: What Joseph II Teaches Us About the CMMC Pause

Joseph II learned that good reforms stall when their machinery outruns their constituency. CMMC now faces the same test.

Read the note

Aug 5, 2026

The base-rate analyst: why SOC intuition decays without feedback

Good analysts run on calibrated priors. Those priors only stay calibrated when the triage queue talks back to them.

Read the note

Jun 13, 2026

Compliance is kind. Threats are wicked. That's the CMMC problem.

CMMC L2 is a kind sub-environment bolted onto a wicked one. The job is bridging the two without letting kind absorb wicked. The failure mode is theater.

Read the note

Mar 26, 2026

What the LiteLLM Compromise Taught Me About Butler

The LiteLLM compromise is a useful threat-model test for Butler, a smaller proxy I maintain for local Ollama deployments.

Read the note

Mar 24, 2026

Why Memory Safety Is a Language Property, Not a Compiler Feature

Why Rust and Go are memory safe and type safe while C is not, and why you cannot simply fix this with a better C compiler.

Read the note

Mar 20, 2026

What the xz Backdoor Says About Open Source

The xz incident shows why inspectability, release provenance, and independent verification matter, not that open source is inherently safer.

Read the note

Mar 17, 2026

Why Rust Is the Right Language for eBPF

eBPF has meant writing C and fighting the verifier. Rust and the aya framework change that: type safety, no libbpf, one cargo build for kernel and userspace.

Build Log eBPF Linux
Read the note

Feb 13, 2026

CVE-2014-6271: Shellshock

How a 25-year-old Bash parsing bug allowed remote code execution through environment variables, and why it took multiple patches to fix.

Read the note

Feb 6, 2026

CVE-2024-3094: How the xz Backdoor Crossed the Build Boundary

A sourced teardown of the xz 5.6.0 and 5.6.1 backdoor, from release-tarball tampering to liblzma loading inside selected OpenSSH builds.

Read the note

Jan 23, 2026

CVE-2021-44228: Log4Shell

How a message interpolation feature in Log4j turned every Java app into an unauthenticated RCE target, and what the response revealed about supply chains.

Read the note

Oct 3, 2025

The hidden cost of 'just one more exception'

Exceptions feel harmless in the moment. Over time they become the slow leak that drains security programs.

Read the note

Sep 19, 2025

Productizing Infrastructure: what surprised me most

What cutting enclave deployment from two weeks to two hours taught me about one codebase, fleet operations, and saying no to forks.

Read the note

Mar 10, 2025

Multi-Tenant WireGuard: One VPN Server per Client, Orchestrated with iptables

How Mistborn gave every WireGuard client its own server instance, generated firewall rules per device, and kept Docker from punching holes in the host.

Read the note

2024

Automation Is How Zero Trust Survives Contact with Operations

Zero Trust needs sound identity, policy, and enforcement. Automation keeps those controls current as systems and people change.

Read the note