The supply chain attack is not a single technique. It is a family of compromises that share one trait: the defender trusts the source. The SolarWinds attackers compromised the build. The 3CX attackers compromised the updater. The xz attackers compromised the maintainer. The pattern is consistent. By the time the malicious artefact reaches the defender, it is signed, hosted on a legitimate server, and looks like every other update from that vendor. The signature check passes. The hash check passes. The defender is now running attacker code with full trust. The supply chain attack keeps winning because the model assumes the source is honest, and the source is the layer the attacker has learned to own.
What is actually being attacked
Three layers, in roughly that order of attacker preference. The first is the dependency. npm, PyPI, RubyGems, Maven Central, and the language specific package indexes are full of typosquats, name confusion attacks, and post install hooks that execute on every install. The tj actions/changed files compromise in March 2025 hit 23,000 repositories through a single malicious release of a popular GitHub Action. The defender downloaded the action, ran it in CI, and the action exfiltrated secrets. The action was the supply chain. The defender was the target. The vulnerability had nothing to do with the action’s code quality.
The second layer is the build pipeline itself. SolarWinds stands as the textbook case. The attackers compromised the build server, injected the SUNBURST backdoor into the Orion product, signed it with the legitimate SolarWinds certificate, and pushed it through the normal update channel. 18,000 organisations installed the backdoor. Detection took roughly nine months. The signature on the update was valid because the signing system was the compromised layer. The third layer is the maintainer. The xz utils backdoor in early 2024 involved a long term social engineering operation against a single maintainer who had been gradually nudged into accepting more and more code contributions. The attack took years to set up. The actual payload landed in a single commit.
What actually works in 2026
Software bill of materials is the starting point, not the finish. Generating an SBOM is easy. Acting on it is hard. The question is not “what dependencies do I have.” The question is “which of my dependencies have transitive access to a production secret, and what is the blast radius if any one of them is compromised.” That is a graph problem. The free tooling (Syft, Grype, dependency track) will get you 60 percent of the way. The commercial tooling (Snyk, Mend, Anchore) gets you the last 40, mostly on the SBOM enrichment and the policy enforcement.
Reproducible builds are the next move. If your build is reproducible, you can verify that the binary you are about to deploy matches the source you have reviewed. Sigstore and the SLSA framework give you the standards. The hard part is operational: most software does not build reproducibly by default, and the work to make it so is non trivial. The companies that have done it (Google, Kubernetes, Debian, a handful of others) report that the cost is high but the payoff is real. For most organisations, the answer is to consume software that is built reproducibly, not to make your own builds reproducible.
Network egress controls and short lived credentials are the boring answers that actually work. Even if the supply chain is compromised, an attacker payload that cannot phone home, cannot move laterally, and cannot persist because credentials expire in 24 hours is significantly less dangerous than one that can. The supply chain attack in 2026 is rarely a full takeover. It is a foothold. The defender’s job is to make the foothold as small as possible.

The bottom line
The supply chain attack keeps winning because the model assumes the source is honest. Defend in depth: SBOM to know what you have. Reproducible builds to verify what you ship. Egress controls and short lived credentials to limit the blast radius when one of the above fails. The supply chain will keep being attacked. The job is to make the attack not worth the cost.
Sources & Further Reading
All claims in this article are sourced from primary documentation, vendor advisories, and reputable security researchers.
Spotted an error? Email the editor. Corrections are issued with a visible correction note.
Editorial standards. Every article on humanrequired.org is reviewed by a human editor before publication. AI may assist with drafting or research; final editorial control is human. Read the full standards.



