In September 2025, an attacker phished the credentials of a single npm maintainer and revealed booby-trapped variations of chalk, debug, and round a dozen different packages which can be collectively downloaded greater than 2 billion occasions every week. The code rewrote cryptocurrency pockets addresses inside any browser app that loaded it. The poisoned variations have been reside for roughly two hours earlier than the group caught them and npm pulled them.
Two hours is a quick response. Nevertheless, additionally it is greater than sufficient time for an automatic replace software to see the brand new model, open a pull request, and put it in entrance of your staff, as a result of model replace tooling is constructed to seize the most recent launch the second it lands.
That sample sits behind a rising share of provide chain assaults. The malicious code rides in on a brand-new launch, is revealed to a public registry, and will get pulled into construct pipelines inside minutes, earlier than a human or a scanner has even checked out it.
A cooldown modifications that math. Ready just a few days earlier than adopting a brand new launch offers maintainers, safety researchers, and automatic scanners time to identify a malicious model and get it pulled earlier than it ever reaches your pull requests.
For non-security model bumps, Dependabot now waits no less than three days after a launch is revealed earlier than opening a pull request. The cooldown configuration choice within the dependabot.yml nonetheless controls the habits, although, so you may select a special cooldown parameter that matches your undertaking.
Two sorts of Dependabot updates
Dependabot is GitHub’s built-in software for preserving dependencies safe and up-to-date, and it does two distinct jobs:
Safety updates reply to a identified vulnerability: when an advisory is revealed for a bundle you use, Dependabot points an alert and opens a pull request to maneuver you to the patched model.
Model updates hold your dependencies present as new releases come out, no matter your present model’s well being.
The new three-day cooldown default applies solely to model updates. Safety updates nonetheless open instantly, since a delay there would maintain again a repair for a flaw that’s already public. All the pieces on this article is about model updates, the place the objective is staying present, and the chance is adopting a launch earlier than it has been vetted.
Case research and GitHub Advisory Database knowledge
When attackers compromise a preferred bundle, the poisoned model tends to have a brief lifespan. It will get revealed, spreads by way of no matter installs it, and will get caught, often inside hours. The earlier instance was reside for under two hours. Different broadly used packages have adopted the identical arc, with compromised builds of Solana web3.js, Axios, and ua-parser-js every caught inside just a few hours of publication.
Extra typically, GitHub sees this sample instantly by way of the GitHub Advisory Database, which catalogs open supply safety advisories throughout ecosystems. Within the yr ending Could 2026, the database revealed greater than 6,500 npm malware advisories, up from roughly 6,200 the yr earlier than, which provides as much as roughly 18 newly cataloged malicious npm packages each day. A cooldown retains you out of that opening window and lets a launch accumulate some scrutiny earlier than it reaches you.
Why three days
Printed malware focusing on fashionable packages tends to get caught quick. A evaluate of 21 broadly reported provide chain incidents between 2018 and 2026 discovered the identical sample: malicious variations of axios, Solana web3.js, ua-parser-js, and Ledger Join Package have been every pulled inside hours of publication, and a cooldown might have filtered out nearly all of these short-lived publishes earlier than anybody put in them.
Three days because the default balances two objectives: it pushes you previous the window the place most of those assaults reside, and it doesn’t maintain your dependencies again longer than essential.
Different group members have additionally landed on a three-day cooldown (although some go even longer), so this default habits retains Dependabot constant as builders transfer between instruments.
You’ll be able to at all times set an extended or shorter window with Dependabot’s cooldown configuration choice.
Protection in depth
A cooldown is constructed for a selected sample: a malicious model that ships, spreads, and will get caught rapidly. It does little towards assaults that play an extended recreation, together with backdoors planted in releases and left dormant, maintainer sabotage, or a compromised construct system. The purpose of the default is to take away a typical and time-sensitive path, to not stand in for the remainder of your defenses.
As a result of a cooldown solely addresses the fast-moving case, it must be one layer amongst a number of. Some further steps to take embody pinning dependencies with lockfiles, disabling set up scripts in CI the place you may, scoping the tokens in your construct pipelines, and reviewing updates earlier than they merge.
In the event you’d wish to customise your delay for extremely trusted inside packages versus public registries, take a look at the documentation on configuring Dependabot. Or see the Dependabot configuration choices reference for the complete set of cooldown parameters.
The place we go from right here
That is one step amongst a number of we’re taking to harden the software program provide chain for everybody who builds on GitHub. It’s on by default, so that you don’t have to alter something to activate it. You can even tune it to suit your workflow.
Inform us the way it performs within the Dependabot group discussions.

