>samit_hota
Back to security news
SN-2026-194InformationalResolved

GitHub and PyPI Add Time-Based Defenses Against Supply Chain Attacks

Samit Hota·
CVE ID
N/A
Affected Products / Orgs
GitHub Dependabot, PyPI, Open-Source Software Ecosystems
#news#supply-chain#github

Software maintainers using automated dependency management tools now have a built-in buffer against zero-day supply chain compromises. Both GitHub and PyPI have introduced GitHub Dependabot time-based defenses, allowing development teams to enforce a delay before newly published package versions trigger automated pull requests. This strategy targets a core vulnerability in modern CI/CD pipelines: the rapid, automated ingestion of poisoned updates before registry maintainers or security researchers discover and pull them.

The Window of Vulnerability in Automated Pipelines

Threat actors routinely compromise maintainer accounts, hijack PyPI developer tokens, or execute typosquatting attacks to release malicious versions of popular open-source packages. These supply chain attacks rely heavily on speed. Attackers deploy malicious code expecting automated update bot instances to immediately generate pull requests or merge patches, pulling malware directly into downstream developer environments and build runners within minutes of release.

Data from open-source registry monitoring shows that the vast majority of malicious packages published to PyPI or npm are detected, reported, and removed from the registries within 24 to 72 hours of publication. By establishing a waiting period—typically between 3 and 7 days—for routine dependency version increments, engineering teams can ensure that short-lived malicious releases are identified and yanked upstream before their CI/CD pipelines ever touch them.

GitHub Dependabot Time-Based Defenses and Delay Rules

GitHub’s update to Dependabot allows organization admins and developers to configure explicit delay rules within their workflow files. When configured, Dependabot evaluates the publication timestamp of a newly released version against the repository’s configured cooldown threshold. If a package version was published more recently than the defined buffer, Dependabot suppresses pull request creation until the release reaches the required maturity.

Importantly, these time-based delays are designed to target standard version updates rather than emergency security patches. When an official advisory is published to the GitHub Advisory Database for a specific vulnerability, Dependabot security alerts can bypass the standard delay, allowing critical fixes to deploy immediately while routine, non-security version jumps remain safely buffered.

Implementing Delayed Updates in Development Workflows

Organizations utilizing Dependabot or automated Python package pipelines should update their repository configurations to incorporate update delays:

  • Configure Dependabot Delay Rules: Update your repository .github/dependabot.yml file to include cooldown settings for public package ecosystems, specifying a 3- to 7-day delay window for non-security updates.
  • Maintain Immediate Security Patching: Ensure that explicit Dependabot security alerts remain active without delay rules so that patches for published CVEs are flagged instantly.
  • Apply Upstream Proxy Rules: For organizations operating internal artifact repositories or proxy caches (such as Sonatype Nexus or JFrog Artifactory), apply similar cache latency settings for public indices like PyPI and npm to prevent developers from pulling day-zero releases directly.

Found something similar in your stack?

Let's find out before it becomes an incident.

Book an advisory call