Blog

8 posts shown

When Path Filters Meet Hard Links to Symlinks in CPython

A semantic mismatch between tarfile extraction filters and filesystem link resolution allowed external file modification and content disclosure.

12 min readRead note

Same Model, Different Brain: Why GPT-6 Astra Stalls in Codex and Thrives in Claude Code

I ran the same GPT-6 Astra model through two coding-agent harnesses. One looped and burned context; the other converged. The harness was the difference.

13 min readRead note

I Tested Every Claude Code Output Style. None Made Claude Easier to Understand.

Ten isolated runs, two coding tasks, five built-in styles. Concise cut the visible text by 63%. The comprehension problem survived.

12 min readRead note

How I Keep GPT-5.6 Sol From Solving the Wrong Problem

Sol can keep digging long after other models stop. That same persistence can lock onto the wrong interpretation and perfect it.

10 min readRead note

CVE-2026-15014: Unbound OTP Verification State in SMS Alert

A valid OTP verified one phone number. A later request chose the account. The session never proved they were the same.

8 min readRead note

Daybreak Blue's Instructions Changed. So Did My Security Workflow.

Same model alias. Same CLI. Same machine. Sixty-two seconds apart, Codex loaded two different instruction sets.

11 min readRead note

If You Used AI to Build It, You Built It

People keep asking whether you're still a programmer if AI wrote the code. I think the question is backwards.

8 min readRead note

Be Careful: Your LLM Can Be Talked Into Almost Anything

Modern LLMs have strong defences. But what if the injection does not look like an attack? What if it looks like the job?

10 min readRead note