The October 2026 attack cluster
Five campaigns from 23 Sep to 23 Oct 2026 shared one mechanism: trust that was already granted. The mechanics, the signals, and the named gaps.
2026-10-23
Two halves of the same work. The incidents are read from the published record; the notes are how the detections that answer them were built, named gaps included.
Five campaigns from 23 Sep to 23 Oct 2026 shared one mechanism: trust that was already granted. The mechanics, the signals, and the named gaps.
2026-10-23
LiteLLM 1.107.0 shipped from a lookalike repository through three stolen GitHub OAuth tokens. What the poisoned release did, and the joins that expose it.
GhostAction pushed a workflow named security-audit.yml into 340+ repositories and took 3,325 secrets. The mechanism, the signals, and what a cloud scanner cannot see.
2026-10-19
Eight eMudhra intermediate CA keys were weak enough to recover — one was the integer 4. What that means for your certificates, and what Hanu checks.
2026-10-20
EvilTokens used device-code phishing to take 12,000 inboxes without passwords, then had an AI read them for fraud. What Hanu catches, and what it does not.
2026-10-22
Cost anomalies cannot tell a busy week from a hijacked key. The kill chain can: first-ever credential validation, model enumeration, then invocation.
2026-09-29
A changed workflow file is an ordinary Tuesday. A changed workflow in a repository that holds a deploy credential is a finding. How the join works.
2026-10-06
Detection is the easy half. What has to be true at detection time for a finding to still be defensible in a review six months later.
2026-09-15
A model in the scoring path costs you reproducibility, an explainable queue and regression tests. What it is genuinely good for, and where the line is.
2026-09-22