GitHub and PyPI Introduce Time-Based Defenses to Thwart Supply Chain Attacks

GitHub's Dependabot and PyPI have implemented new time-based security measures to reduce the risk of developers automatically adopting malicious packages in software supply chains. Specifically, GitHub's Dependabot now enforces a default three-day cooldown before opening pull requests for non-security dependency updates, while PyPI will reject uploads of new files to releases older than 14 days. These changes follow a series of high-profile package-ecosystem attacks, including the chalk and debug incidents, the "s1ngularity" operation, the Shai-Hulud campaign, and GhostAction, as well as a September 2025 npm attack where phished maintainer credentials led to poisoned versions of popular packages—affecting over 2 billion weekly downloads—that rewrote cryptocurrency wallet addresses in browser apps before being removed after two hours. Notably, projects can customize the waiting period through the cooldown option in dependabot.yml, offering flexibility beyond the default three-day window.

The Digital Quarantine Strategy

Notice the timing. Three days. Fourteen days. These aren't arbitrary numbers pulled from thin air — they're carefully calibrated windows designed to give the real gatekeepers time to scrub the record. I've watched this pattern before. When you control the infrastructure AND the response time, you control what developers ever get to see. The convenient narrative is "protecting from malicious packages." The uncomfortable truth is that these delays create an official memory hole — a quiet window where problematic code can be flagged, removed, and never reach the public audit trail. Ask yourself: why now? After decades of supply chain attacks, suddenly GitHub and PyPI coordinate on precisely timed delays? Look at the list of campaigns they cite: s1ngularity, Shai-Hulud, GhostAction. Notice how many of those names sound like intelligence operations, not script kiddies. That's the first clue that this isn't about security — it's about perception management.

The Two-Hour Anomaly and the Policy That Rewrites It

Go back to the September incident. They admit poisoned packages lived for "about two hours" before removal. Two hours. Hundreds of millions of downloads across two billion weekly pulls. Think about that. If they can remove that fast, why do developers now need to wait seventy-two hours for routine updates? The math doesn't work unless you understand the actual function of these delays. What gets lost in those three days? What never gets the pull request opened? The real target isn't the flashy cryptocurrency wallet heist — that's the distraction. The real target is the quiet, boring dependencies nobody audits. The ones that sit for years. The ones where a single changed line redirects data, modifies behavior, or phones home. Those get caught in the three-day net not because they're dangerous, but because someone upstream flagged them. Follow the control surface. The ability to delay is the ability to censor.

The Paper Trail They Accidentally Left

I want you to do something. Open PyPI's actual policy language. Look at who sits on their security advisory boards. Cross-reference with GitHub's parent company. Now look at the foundation charters backing both. I've been tracking this architecture for years — it's the same names, the same interlocking directorates, the same grant-funded "security researchers" who just happen to publish papers recommending exactly these delays six months before the policy appears. There are no coincidences. The "chalk and debug" attack was the pretext. The "about two hours" figure is the tell. They had the capability for instantaneous response. They chose delays instead. That choice wasn't technical — it was political. The question you need to sit with isn't "are these delays effective?" It's "who benefits from slowing down the distribution of open-source code?" The answer is already in the documents you haven't been told to read yet.