07Supply chain
You do not have to click
anything to be compromised.
Four of the twenty-seven incidents arrived through a trusted channel: an updater, a registry, a workflow, a hosting console. This page is the developer-specific cut of the dataset.
The chain
Update channel
A signed binary is only as trustworthy as the pipeline that signed it. AOMEI, OVHcloud, and the WordPress plugin vendor all shipped malicious code through legitimate mechanisms.
Package registry
LiteLLM was downloaded 3.4 million times a day. Install scripts run with your privileges, and an imported wheel can read every key the process can see.
CI workflow
GitHub Actions holds deployment tokens. A workflow pinned to a tag can be moved by anyone who controls that tag. Pin to a commit SHA.
Control plane
Railway, Zeabur, Onamae, and TiDB Cloud sit above your servers. Whoever owns the control plane can push code to every host beneath it.
Incidents on this surface
Railway
Customer secret keys stolen from a hosting platform
Zeabur
321,810 accounts breached; the company is shutting down
LiteLLM
An AI package downloaded 3.4 million times a day, poisoned
Onamae
Malware planted on up to 26,739 customer servers in Japan
Bullhorn
A platform used by 10,000+ companies knocked offline
WordPress plugin supply chain
Hackers stole a plugin maker's keys and planted backdoors
AOMEI backup updater
Backup software's update server handed out a backdoor
TiDB Cloud
A database company's cloud was breached
OVHcloud tooling
Hackers slipped a password stealer into a cloud company's official tool
The audit order
- 01
Install every pending Windows update
Windows Update is also the delivery path for root-certificate distrust. Skipping it leaves compromised CAs trusted system-wide.
15 min · 55% of the surface
- 02
Audit GitHub Actions across your repos
A malicious workflow can read every secret the repository can see. Pin third-party actions to commit SHAs and review anything with write tokens.
30 min · 60% of the surface
- 03
Rotate CI and hosting secrets
If a platform that held your secrets was breached, rotation is the only remediation. Deleting the old value is not enough if it is still valid elsewhere.
20 min · 70% of the surface
- 04
Remove the poisoned LiteLLM release
If the malicious build ever ran, assume every key in that process is stolen. Uninstalling is step one; rotation is step two.
8 min · 90% of the surface
- 05
Verify signatures before installing
A valid signature only proves who signed the file, not that their build pipeline was honest. Check the publisher and the hash together.
5 min · 35% of the surface
- 06
Patch self-managed GitLab
CVE-2026-110264 is unauthenticated RCE. GitLab.com is already patched; only self-managed instances need action.
25 min · 95% of the surface
- 07
Patch NGINX and cap HTTP/3
Three memory-safety fixes plus a single-connection crash make this a one-afternoon job for anyone terminating traffic.
20 min · 90% of the surface
- 08
Audit or retire PHP endpoints
PHP2Shell is only exploitable where PHP parses requests. If you do not need PHP, removing it is faster and safer than patching it.
20 min · 95% of the surface