Writing

  1. PortSwigger lab: SQL injection UNION attack, retrieving data from other tables

    Working out the column count, finding a text column, and pulling the users table, with the parameterised fix.

  2. Adding security scanning to a Go pipeline

    govulncheck, gosec and an image scan in GitHub Actions, what each one caught on Catchment, and the false positive I suppressed.

  3. Threat modelling a home water system

    STRIDE on a system with a borehole pump, two tanks and a Go API, and why the pump relay is the asset that matters most.

  4. Catchment phase 1: replacing a handwritten rain log

    What I built in phase 1, why it’s plain Go and SQLite, and what the first month of real rain data showed.

  5. Anatomy of a compromised WordPress site

    Three discovery waves, 23 malicious files and one attacker toolkit, worked through with PICERL.