Dependabotにcooldownを設定する
2025年に npm パッケージで大規模なサプライチェーン攻撃があった。以下の記事にある程度まとまっている。
対策云々はここではいいのだが、サプライチェーン攻撃があったとき、ほとんどは問題のあるリリースが公開されてから数時間で発見されているので、自分のリポジトリが汚染されないためにリリースから一定期間はアップデートを保留するという手段が取られるようになった。
もともとRenovateには minimumReleaseAge オプションがあって、pnpm でも同じオプションが追加されたりしたのだが、ようやくDependabotでも cooldown オプションが使えるようになったので設定する。
version: 2updates:- package-ecosystem: github-actions directory: / schedule: interval: weekly cooldown: default-days: 5リリース告知のDependabot supports configuration of a minimum package ageによると、脆弱性の修正は cooldown の設定よりも優先してアップデート対象となるらしいので、ある程度日数を開けても問題ないと思う。
Key benefits
Section titled “Key benefits”
- Stay responsive to critical security patches.
他にも semver-major-days などパラメータはあるけれど、サプライチェーン攻撃の対策として使うのであればパッチバージョンだから安全ということもないので、デフォルト設定だけでいいだろう。