← Retour au blog
tech 5 juin 2026

Support de Cooldown pour Ruby Bundler : Sécuriser vos dépendances

Découvrez comment le support de cooldown dans Ruby Bundler renforce la sécurité de vos projets en retardant l'installation de nouvelles versions de gems jusqu'à leur validation.

Article inspiré de la source originale
Cooldown Support for Ruby Bundler ↗ blog.rubygems.org

Introduction : Sécuriser vos dépendances avec Bundler

Dans un monde où la sécurité des chaînes d'approvisionnement logicielles est cruciale, Ruby Bundler 4.0.13 introduit une fonctionnalité innovante : le support de cooldown. Cette fonctionnalité permet de retarder l'installation de nouvelles versions de gems, fournissant ainsi une fenêtre de vérification essentielle pour éviter les versions malveillantes. Explorons en détail comment cela fonctionne et comment l'implémenter dans vos projets.

Pourquoi le Cooldown est-il nécessaire ?

Les attaques contre la chaîne d'approvisionnement sont de plus en plus fréquentes, et RubyGems n'est pas à l'abri. La plupart des attaques exploitent une fenêtre de temps étroite après qu'un compte a été compromis et qu'une version malveillante a été publiée. C'est précisément là que le cooldown intervient, en refusant de résoudre les dépendances vers des versions trop récentes pour être sécurisées.

Chiffres et faits

Selon une étude de Sonatype, les attaques contre la chaîne d'approvisionnement ont augmenté de 650% entre 2020 et 2021. Le cooldown de Bundler vise à réduire cette vulnérabilité en introduisant un délai de validation.

Fonctionnement du Cooldown

Le cooldown utilise un filtre temporel basé sur le timestamp created_at fourni par l'index compact v2 de rubygems.org. Les versions qui ne peuvent pas prouver leur ancienneté, comme celles provenant de serveurs gem plus anciens ou de registres privés, sont considérées comme étant en dehors de la fenêtre et restent résolvables.

Mise en œuvre

Pour activer le cooldown, il suffit de mettre à jour Bundler à la version 4.0.13 et de définir un délai dans le fichier Gemfile :

``ruby source "https://rubygems.org", cooldown: 7 gem "rails" gem "puma" ``

Cela garantit que chaque développeur et chaque exécution CI appliquent la même fenêtre de vérification, sans configuration supplémentaire.

Options avancées

Le cooldown peut être configuré de manière plus granulaire, soit par projet, globalement, ou via l'environnement. Voici quelques commandes utiles :

  • Par projet : $ bundle config set cooldown 7
  • Globalement : $ bundle config set --global cooldown 7
  • Via l'environnement : $ BUNDLE_COOLDOWN=7 bundle install

Avantages de l'approche Cooldown

En retardant l'installation de nouvelles versions, le cooldown permet aux développeurs de bénéficier de la sécurité supplémentaire d'une communauté qui a eu le temps de vérifier les nouvelles versions. Cela complète d'autres mesures de sécurité comme l'authentification à deux facteurs obligatoire.

Conclusion

Le support de cooldown de Ruby Bundler est une avancée significative pour renforcer la sécurité de vos projets Ruby. En retardant l'installation des nouvelles versions de gems, il offre une protection supplémentaire contre les attaques de la chaîne d'approvisionnement.

Discutons de ton projet en 15 minutes.

Ruby Bundler Cooldown Supply Chain Security RubyGems Dependency Management
Newsletter Deepthix · 100% IA · chaque lundi 8h

Un agent IA lit la tech à ta place.

Notre agent IA scanne ~200 sources par semaine et te livre les meilleurs articles le lundi 8h. Gratuit. 1 clic pour se désinscrire.

Voir la page newsletter →

Tu veux automatiser tes opérations ?

Discutons de ton projet en 15 minutes.

Réserver un call