What we keepfinding out here.
Patterns we see across engagements, written for the engineers who have to fix them. No vendor news, no incident commentary.
An LLM with tool access is an execution path
Prompt injection is not a content-moderation problem. The moment a model can call a function, untrusted text reaching that model is untrusted input reaching your backend — and it should be threat-modelled the same way.
Read the post →
The authorisation bug you will ship next quarter
Broken object-level authorisation is the finding we report most often, and it is almost never a framework failure. It is a tenancy assumption made once, early, and then trusted everywhere downstream.
Severity is not a priority
Why we rank findings by reachability and blast radius instead of CVSS, and how that changes the order you fix things in. A report that sorts by score tells you what is bad. It does not tell you what to do on Monday.
Secure by default: designing systems where the safe path is the easy path
Security fails when it fights developers. The systems that stay secure are the ones where the default configuration is already the hardened one. This post looks at how we design defaults — deny-by-default networking, short-lived credentials, and guardrails that make the insecure option the harder one to reach.
Shipping without holding your breath: zero-downtime deployments in practice
Deploying should be boring. If your team schedules releases for 2am or braces for a maintenance window, the process is broken — not the code. This post walks through the mechanics of zero-downtime deploys: health checks, connection draining, backward-compatible migrations, and the discipline that makes rollback a non-event.
Stop hardcoding, start rotating: a practical take on secrets management
The average codebase is one careless commit away from leaking a production key. Secrets management isn’t about a fancier vault — it’s about removing secrets from the places they don’t belong and making rotation so cheap that leaks become survivable. Here’s how we think about it.
Your pipeline is production: why CI/CD is the attack surface nobody guards
Teams spend enormous effort locking down production and then hand a build server the keys to deploy anything, anywhere, unquestioned. CI/CD pipelines run privileged, pull untrusted dependencies, and are trusted implicitly — which makes them one of the highest-value targets in the whole system. This post is about treating the pipeline like the production system it is.
No posts in that topic yet.
One email when
we publish
New posts and advisories only. No newsletter cadence, no product updates — we send it when there is something to read.