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

5 July 2026
Layout trade-offs in Design Engineering Magazine

Design Engineering Magazine only works if the structure holds under real reading, not just in a tidy mock-up. I care less about pretty grids than about whether the archive, type and page weight stay...

5 July 2026
Keeping smart bulbs powered with Zigbee wall switch

Zigbee wall switch controllers fix the bit people keep getting wrong, the wall still feels normal, but it stops murdering smart bulbs. I prefer that to rewiring a room just to keep the lights alive;...

4 July 2026
Home Assistant Matter alarms for local CO alerts

Home Assistant Matter alarms are only worth bothering with if they still behave properly when the mesh sulks or the border router falls over. I prefer that sort of boring reliability, because a CO...

4 July 2026
Chunked range reads with etcd RangeStream

etcd RangeStream is one of those changes that sounds minor until you watch a large read stop clogging memory on both ends of the RPC. I like it because it replaces one ugly pause with a series of...

3 July 2026
Why Kubernetes CVE records still flag unfixed issues

Kubernetes CVE records can say “fixed” when nothing was actually fixed, and scanners will believe them. I have seen that sort of paperwork mistake turn into quiet false negatives, then loud surprises...

3 July 2026
Spotting API access in DDoS-as-a-Service panels

DDoS-as-a-Service platforms rarely hide what they are doing; the panel, the payment flow, and the API tend to sit out in the open. I pay more attention to the selling machinery than the noise, because...

2 July 2026
23andMe breach notification gaps and account risk

23andMe breach notification gaps are the part that still bothers me, because people were left guessing whether they had a password problem or something much wider. If you reused a login anywhere,...

2 July 2026
Malware delivery through chatgpt.com/s links

ChatGPT share links can look boringly legitimate, which is exactly the problem. Once a trusted domain starts rendering attacker-controlled HTML, I stop trusting the address bar and start checking...

1 July 2026
cifs.upcall root trust and NSS lookup risk

A forged `cifs.spnego` request should die in the kernel, but on affected builds it reaches root-owned helper code instead. The ugly bit is `cifs.upcall`, where CIFS authentication key descriptions can...

1 July 2026
Harden PAN-OS by disabling auth override cookies

PAN-OS GlobalProtect authentication bypass is not a clever trick, it is a trust error with a neat finish. I prefer the boring fix, disable auth override cookies, then check the portal and gateway...