Verbuma.
← All articles
The Quiet Supply Chain War: Why 2026 Is the Year We Stopped Trusting Open Source
open-sourcesecuritytechnologyphilosophy

The Quiet Supply Chain War: Why 2026 Is the Year We Stopped Trusting Open Source

Bitwarden, Lightning, Copy Fail, DEEP#DOOR. Four serious supply-chain compromises in fourteen days, none of which broke into mainstream tech press. The social contract that made open source work has quietly stopped working.

If you were not paying attention to security Twitter in the last fourteen days, here is what you missed.

The Bitwarden CLI shipped a tampered build to its install base after a compromise in its GitHub Actions release pipeline. Lightning, the Python wrapper most data scientists know as the friendly face of PyTorch training, had two poisoned versions — 2.6.2 and 2.6.3 — published to PyPI on April 30 before the maintainers caught it. A high-severity Linux kernel vulnerability in algif_aead, dubbed "Copy Fail" and tracked as CVE-2026-31431, allowed local privilege escalation on essentially every modern distribution. And the DEEP#DOOR backdoor research, which began as a single suspicious npm package in February, has now been traced through twenty-three downstream packages with a combined weekly download count north of four million.

Three of these were on the front page of *Hacker News*. Two of them got coverage from *The Hacker News* and Bleeping Computer. None of them — *none* — broke into mainstream tech press. Most engineers I know learned about Bitwarden from a Slack message, Lightning from a Discord ping, Copy Fail from a Mastodon thread, and DEEP#DOOR from a single Bluesky post that scrolled off their timeline before they could read it.

This is not a security article. There are plenty of those, and they all read the same. This is an article about something more uncomfortable: the social contract that made open source work for the last twenty-five years has quietly stopped working, and almost nobody outside infosec has noticed.

The 2010 attack surface

The phrase "many eyes make all bugs shallow" was coined for a world that no longer exists. In 2010, when Eric Raymond's bazaar metaphor still felt true, the typical open-source attack surface looked like this. A maintainer with a real name and a five-year commit history accepted a pull request from a contributor whose previous patches you had probably read. The patch was small, written by hand, in a language you understood. Reviewing it took a coffee. The dependency graph of your project was twelve transitive packages deep. Most of those packages were maintained by people who showed up at the same conferences. If something looked weird, you could ask someone.

That world is gone. It has been gone for at least five years, and 2026 is the year the gap finally caught up to us in public.

The modern attack surface looks like this. A typical mid-sized SaaS company has between eighteen hundred and four thousand transitive npm dependencies, depending on how aggressively it tree-shakes. Every one of those dependencies is downloaded fresh on every CI run. None of them are reviewed by a human at the consuming company. Most of them are not reviewed by a human at the publishing company either, because the publishing company has automated dependency updates with Dependabot and routinely merges patch-version bumps without reading the diffs. A package that was safe last Tuesday can be malicious by Thursday and reach production at every consumer by Friday afternoon.

Lightning shipping a poisoned 2.6.2 is not exotic. It is the system working as designed. The system was just designed for 2010.

The AI-accelerated PR review

Here is the part the security industry is still figuring out how to talk about: AI did not break this system by writing malicious code. AI broke this system by reviewing it.

In 2024 and 2025, every major open-source project in the world quietly adopted some form of AI-assisted code review. Coderabbit. CodiumAI. GitHub Copilot review. Bots that summarize pull requests. Bots that flag style violations. Bots that comment on test coverage. Bots that auto-approve "minor" patches. The maintainer experience went from "I have to read ninety pull requests this weekend" to "the bot has triaged ninety pull requests this weekend and surfaced four that need a human."

For a one-person open-source project with a hundred-thousand-weekly-download library, this was salvation. The maintainer got their weekend back. The contributors got faster turnaround. The downstream consumers got more frequent releases.

What no one talked about in the engineering blogs was the second-order effect. The AI reviewer has no concept of provenance. It does not know that the contributor who just submitted a four-line patch has been opening helpful issues for six months specifically to build credibility. It does not know that the last seventeen patches from this account have all been to obscure utility libraries downstream of high-value targets. It does not know that the tiny diff in setup.py will, at install time, fetch a payload from a domain registered nine days ago.

The AI reviewer reads four lines of Python and says: looks fine. The maintainer reads the AI summary, glances at the test status, and clicks merge. The contribution goes upstream.

This is how Lightning 2.6.2 happened. This is how the npm packages in DEEP#DOOR happened. This is, with variations, how Bitwarden's release pipeline got tampered with — not at the source level, but at the workflow level, where AI-generated configuration suggestions had been quietly accumulating for months. The pattern is consistent. AI-accelerated review removes the human friction that, for twenty-five years, was the actual security mechanism. The "many eyes" were never reading every line. They were creating enough delay that adversarial contributions had to look credible to humans for long enough to get caught. We have removed that delay.

The AI-authored contribution

The mirror image is worse. AI is also writing the malicious contributions.

A first-pass research paper from Northeastern in March documented twenty-eight cases of plausibly AI-generated PRs to mid-sized JavaScript packages in a six-month window. The PRs were polite, well-formatted, included tests, fixed real bugs, and contained — in five of the twenty-eight cases — subtle additional behavior that survived review and shipped. The cost to the attacker of producing twenty-eight high-quality PRs in 2020 would have been months of senior engineering time. The cost in 2026 is a weekend and an OpenAI bill.

This is the part of the supply-chain story that has not yet hit the mainstream press, and it is the part that will dominate the next two years. We are about to live through a period in which the average open-source contribution is statistically more likely to be machine-authored than human-authored, and in which the machine-authored contributions are, by construction, optimized to pass machine-assisted review. The defenders and the attackers are converging on the same toolchain.

If you have been wondering why the security researchers you follow have started sounding less like engineers and more like epidemiologists, this is why. They are no longer thinking about individual exploits. They are thinking about contamination rates in a population.

What we lost

The deepest cost of AI-accelerated development is not the velocity hit. Velocity is up. It is not the quality hit. Quality, by every measurable metric, is up too.

The cost is that we no longer know what code we are running.

Five years ago, a senior engineer at a mid-sized company could, in principle, audit a critical dependency in a weekend. Today, the same engineer cannot audit a single Python package without auditing forty transitive dependencies, each of which was modified by a contributor whose identity is unverifiable, reviewed by a bot whose criteria are opaque, and bundled by a build system whose configuration was last touched by a junior who accepted a Copilot suggestion they did not fully understand. The provenance chain has become illegible. Not malicious. Illegible.

This is a different kind of trust failure. The classic open-source trust model required you to trust the maintainer. The 2026 trust model requires you to trust an unknown number of automated systems making millions of decisions per day on your behalf. There is no good way to reason about that. There is, currently, no good way to even *measure* that.

Where this goes

I do not think open source is dying. I think it is splitting.

What is dying is the soft, ambient, "we all share dependencies and it works out" model that powered the last twenty-five years. What is replacing it is something more like commercial software with extra steps. Vendored, version-pinned, cryptographically-signed, attestation-bearing, allowlist-bound dependency stacks. Companies running internal mirrors of public registries with mandatory delay periods. SBOMs that are not theater. Build systems that refuse to install packages without provenance attestations. The big platforms — Sigstore, Trusted Publishers, npm provenance, PyPI's attestation flow — are quietly rebuilding the underlying trust infrastructure from scratch. Most of this work has been happening for two years and almost nobody outside infrastructure security has been paying attention.

In two years, "I pip installed it" will be a phrase that registers the way "I downloaded it from a forum" registers now: technically possible, vaguely embarrassing, mostly something other people do.

What we lose in that transition is the part of open source that felt magical — the friction-free way that a teenager in a rural village could ship a library that ended up powering Stripe. Some version of that survives, but it survives behind verification gates that did not exist in the era it was built for.

This is the part where it would be conventional to end with a call to action: audit your dependencies, lock your versions, sign your builds. Do all of that, sure. But the more honest ending is that the social contract that made open source work was a historical artifact of a specific moment, and that moment is over. The new contract has not been written yet, and the people writing it are mostly working in security teams that nobody outside their own companies talks about.

The supply chain war is quiet because the people fighting it are quiet. They are also winning. We are just losing the version of open source that made them necessary in the first place.

More articles