直近で話題になることが多かったサプライチェーン攻撃に対する予防策として、「一定時間経過したパッケージしかアップデート対象にしない」というオプションが dependabot や pnpm に導入されている。
dependabot / cooldown
.github/dependabot.yml
に次のように設定する:
version: 2
updates:
- package-ecosystem: "npm"
directory: "/workers"
cooldown:
default-days: 14
semver-major-days: 30
semver-major-days
などで semantic versioning に従って細かく設定ができる。include / exclude
での除外設定もサポートされている。
pnpm / minimumReleaseAge
pnpm-workspace.yaml
に次のように設定するか、CLI からも設定できる:
minimumReleaseAge: 10080
$ pnpm config set --location=project minimumReleaseAge 10080
dependabot とは違い、こちらは時間単位での指定。 10.17.0
で minimumReleaseAgeExclude
が入って除外設定もできるようになった。