Things I build, break, fix, and write about

29 July 2026
Headlamp in-cluster deployment and RBAC boundaries

Headlamp in-cluster deployment only makes sense when the UI belongs inside the cluster, and even then the service account should be painfully narrow. I trust the boundary, not the person using it on a quiet afternoon.

28 July 2026
Marketplace takedown pressure on vendor operations

Marketplace takedowns do more than pull a site offline, they cut through the vendor routines that keep sales moving. In dark web marketplaces, that...

28 July 2026
Brickstorm persistence in Microsoft 365

Brickstorm showed how Microsoft 365 persistence can survive a tidy password reset and a few blocked logins. I keep coming back to the same point, if...

27 July 2026
Restricting Serv-U access before patching

The SolarWinds Serv-U flaw is the sort of bug that turns a routine patch into an ugly afternoon, so I would block the obvious request pattern first...

Latest blog posts you might like

21 June 2026
pipe_buffer tmp_page reuse in Linux kernel

tmp_page reuse sounds neat until you try to make it behave, and then the pipe accounting starts getting in the way. I have found the useful part is usually not the obvious corruption, but the ugly...

21 June 2026
GitHub exposure of AWS GovCloud credentials

Public repos are brilliant at preserving bad decisions, and AWS GovCloud credentials are exactly the sort of thing that should never survive a commit. Once they are out, the clean-up is only half the...

20 June 2026
Hardening consumer routers against botnet abuse

Consumer routers are still being dragged into IoT botnets because the easy mistakes never went away, default logins, exposed admin pages, and forgotten services. I would rather spend ten minutes...

20 June 2026
Rotating AWS GovCloud secrets after repo disclosure

AWS GovCloud credential leakage is not a tidy mistake, it is a time problem. Once a secret hits public GitHub, I treat revocation, search, and handoff as one job, because leaving even one copy alive...

19 June 2026
Checking Proxmox VE 9.2 cluster networking before upgrade

Before I touch Proxmox VE 9.2, I make the cluster prove itself under strain, because corosync, migration, and storage paths always fail in the places you skipped. A node that looks fine at idle can...

19 June 2026
Tracking false positives after managed rule merges

Cloudflare WAF rule merge changes more than a label, and I have seen neat alerting fall apart because the detection moved, not because the noise went away. If you are counting rule IDs, you may be...

18 June 2026
Adjust rule actions when Java deserialisation detection

Cloudflare Managed Ruleset changes are rarely neat, and this one is no exception. The old Java deserialisation beta rule went quiet while the real detection moved elsewhere, which is exactly how a...

18 June 2026
Assessing bot access control with URL Scanner API

Cloudflare URL Scanner Agent Readiness is useful because it shows where access breaks for machines, not where the dashboard looks neat. I trust it more when the score is awkward, because that is...

17 June 2026
nginx rewrite module heap corruption from escaped captures

nginx rewrite module heap corruption is one of those bugs I distrust on sight, because the failure sits in ordinary rewrite handling, not some odd corner. Once the length pass and copy pass disagree,...

17 June 2026
Tracking attack pattern detection in the Security Events

Cloudflare Managed Ruleset changes rarely arrive with much drama, which is exactly why I keep an eye on Security Events. A rule moving from beta to Block can alter the shape of the traffic overnight,...