リーディングビュー

New GitHub, PyPI Policies Hope to Boost Supply Chain Security

🤖 AI Summary

GitHubとPythonパッケージインデックス(PyPI)は、供給チェーンのセキュリティ強化のために新しいポリシーを導入しました。これらのポリシーにより、悪意のあるバージョンの快速拡散や古い安定版の汚染が防げます。

GitHubでは、Dependabotのクールダウン機能を設けました。新バージョンが公開された後3日間は自動プルリクエストを作成しないようにします。この機能はセキュリティ関連以外のバージョンアップには適用されず、dependabot.ymlで設定を変更することができます。

PyPIでは、14日前に公開された古いバージョンへの新しいファイルの追加が拒否されるようになりました。これは、トークンやワークフローがハッキングされた場合でも、古い安定版が汚染されることを防ぐためです。この制限は、2026年3月に流行したパッケージ(LiteLLMとTelnyx)のハッキング騒動により再検討されました。

これらの変更は既存のワークフローへの影響を最小限に抑えるよう調整され、実際には、15,000件のプロジェクト中わずか56件しか影響を受けませんでした。この提案はPyCon US 2026で議論され、新たなバージョンへの移行が必要であることが合意されました。

これらの新しいポリシーにより、供給チェーンのセキュリティが強化されることを目指します。
"GitHub and the Python Package Index (PyPI) have introduced new policies meant to boost supply chain security," reports SecurityWeek, "by preventing the fast propagation of poisoned package versions and the poisoning of old and long-stable releases." To prevent the fast delivery of malicious code through the immediate fetching of brand-new releases, GitHub has introduced a Dependabot cooldown, where the automation tool waits for at least three days after a release has been published before opening a pull request. "Waiting a few days before adopting a new release gives maintainers, security researchers, and automated scanners time to spot a malicious version and get it pulled before it ever reaches your pull requests," GitHub explains. The three-day cooldown only applies to non-security version bumps, and the behavior can be modified through the configuration option in the dependabot.yml. "Three days as the default balances two goals: it pushes you past the window where most of these attacks live, and it doesn't hold your dependencies back longer than necessary," GitHub notes. And the Python Package Index (PyPI) "now rejects new files being uploaded to releases that are older than 14 days," according to a recernt blog post from the Python Software Foundation's security developer-in-residence Seth Larson: This restriction was put in place to prevent old and long-stable releases from being poisoned in case publishing tokens or workflows of PyPI projects were compromised... The discussion of this behavior began during PEP 740 (Digital Attestations) back in January 2024. The discussion was restarted in March 2026 after the popular packages LiteLLM and Telnyx were compromised. These packages were compromised due to a "mutable reference" in these projects' usage of the Trivy GitHub Action... To quantify how disruptive this change would be to existing workflows, the PyPI database was queried for projects that have published new files to old releases... [O]nly 56 projects of 15,000 had published a [Python] 3.14-compatible wheel more than 14 days after a release was available. This topic was brought to the Packaging Summit at PyCon US 2026 by PyPI Safety & Security Engineer, Mike Fiedler. The rough consensus of the discussion was that the summit attendees thought it was "acceptable to require users to bump to the next version" to support new Python versions. With the data and consensus in hand, Seth moved forward with a patch to reject new files on old releases which was merged July 8th, 2026.

Read more of this story at Slashdot.

  •  
❌