GitHub が Dependabot にクールダウン期間を導入:ソフトウェア・サプライチェーン防御を強化

GitHub Adds Dependabot Cooldown to Stop Poisoned Dependencies

2026/07/27 gbhackers — GitHub が導入した Dependabot のバージョン更新におけるデフォルトのクールダウン期間は、オープンソースにおける悪意の依存関係や侵害された依存関係を、ユーザー組織が自動的に採用してしまうリスクを低減するためのものだ。この変更は、サプライチェーン攻撃の増加を受けて実施されたものである。この種の攻撃を採用する攻撃者は、トロイの木馬化されたパッケージ・バージョンをパブリック・レジストリに公開し、悪意のリリースとして検出される前に、自動更新ツールを利用して配布している。

GitHub が Dependabot のクールダウンを追加

この新しいポリシーでは、Dependabot は依存関係のバージョンが公開されてから少なくとも 3日間待機した後に、通常のバージョン更新用のプル・リクエストを作成する。リポジトリ・メンテナーは、dependabot.yml 設定ファイルの “cooldown” オプションを使用して、この待機期間を調整できる。この柔軟性により、チームは信頼できるパッケージには短い期間を設定し、パブリック・レジストリから取得する依存関係についてはレビュー期間を延長できる。

重要な点として、このクールダウンは Dependabot のバージョン更新のみに適用され、セキュリティ更新には適用されないと、GitHub は説明している。セキュリティ更新において、既知の脆弱性がプロジェクトに影響を与える場合には、これまで通りにアラートとプル・リクエストが生成される。したがって、公開済みの欠陥に対して必要なパッチの展開が遅延することはない。


この措置は、ソフトウェア・サプライチェーン攻撃の広範な手口に対抗することを目的としている。これまでのインシデントとして挙げられる 2022年9月の攻撃では、npm のメンテナーがフィッシングされ、”chalk” や “debug” といった人気 JavaScript パッケージの悪意のバージョンが公開されている。これらのパッケージの週間ダウンロード数は合計で 2,220 億回を超える。

注入されたコードはブラウザ・ベースのアプリケーションを標的とし、暗号資産ウォレットのアドレスを、攻撃者が制御するアドレスへと置き換えようとした。これらの悪意のリリースは、2 時間ほどで削除されたが、その短い公開期間であっても、自動化された依存関係管理システムにより、開発者のワークフローへと悪意のコードが取り込まれるには十分な時間であった。

同様のインシデントでは、axios/ua-parser-js/Solana web3.js/Ledger Connect Kit の侵害/改竄済みバージョンが関与しており、多くのケースにおいて改竄されたビルドは数時間以内で特定/削除された。しかし、新しいリリースを即座に統合するよう設計された、自動化システムを利用する組織のリスクは排除されなかった。

GitHub の Advisory Database においては、2022年5月までの 1 年間に 6,500 件を超える npm マルウェア・アドバイザリが記録され、前年の約 6,200 件を上回っている。これは、1日当たり約 18 件の悪意ある npm パッケージが登録されていることに相当し、開発チームに影響を与えるレジストリ・ベースのマルウェア活動の規模を浮き彫りにしている。


この 3日間のクールダウン期間は、数多くの悪意のリリースの自動更新を待機させて迅速に検出/削除するものであり、それらがユーザー環境に取り込まれるリスクを低減する。

ただし、この保護は、すべてのサプライチェーン攻撃に対する完全な防御策ではない。たとえば、休眠状態のバックドア/信頼されたメンテナーの悪用/侵害されたビルド・インフラ/長期間検出されないマルウェアに関連する脅威は阻止できない可能性がある。

GitHub が推奨するのは、このクールダウン期間を、より広範なサプライチェーン・セキュリティ戦略の一環として位置付けることである。

ユーザー組織にとって必要なことは、ロックファイルの維持/依存関係プル・リクエストのレビュー/CI/CD トークンの権限とインストール・スクリプトの制限/公開パッケージの利用に対するポリシー制御の実施である。

この新しいデフォルト設定は自動的に有効化されるため、Dependabot ユーザーは急速に拡散する悪意のリリース・キャンペーンから即座に保護される。その一方で、運用要件が異なるチームは、必要に応じて設定をカスタマイズできる。