The UnboundCompute blog
Writing on web security
-

How TLS Fingerprinting Works: JA3, JA4, and the ClientHello
How tls fingerprinting reads the TLS ClientHello to identify a client before any HTTP, how JA3 is computed, why it broke, and…
-

The AI Agent Attack Surface, Mapped Component by Component
A systematic map of the ai agent attack surface: model, prompt, tools, memory, retrieval, and the loop, and how one injected instruction…
-

What Is Indirect Prompt Injection and Why It Is So Hard to Stop
Indirect prompt injection hides commands in pages, emails, and documents an AI reads as data but obeys as instructions. See how it…
-

MCP Tool Poisoning: When the Tool Description Is the Attack
MCP tool poisoning hides instructions in a tool description or schema that the model reads but the user never sees. Learn how…
-

How Browser Fingerprinting Identifies You Without a Cookie
Browser fingerprinting reads your screen, fonts, GPU, and audio stack to build a stable identifier that survives clearing cookies and incognito mode.
-

How a Device Decides to Trust Its Own Firmware
How secure boot builds a chain of trust from immutable boot ROM and eFuses upward, and the real ways attackers break the…
-

What Actually Happens In A Kernel Use After Free
A deep technical look at a kernel use after free: how SLUB lays out heap memory, the exact moment a freed slot…
-

How the eBPF verifier works, and where its proof has broken
How the eBPF verifier tries to prove untrusted code is safe in ring 0, and the bounds tracking bugs that turned that…
-

Instance metadata service: the 169.254.169.254 credential leak
The instance metadata service at 169.254.169.254 hands a cloud VM its role credentials. How it works, how SSRF steals them, and how…
-

What is DOM based XSS?
Learn how dom based xss runs attacker code in the browser through unsafe JavaScript sinks, why server filters miss it, and how…