
RubyGems 공식 블로그에 따르면 Bundler 4.0.13은 새 gem 버전이 공개된 뒤 일정 기간이 지나야 의존성 해석에 포함하는 ‘cooldown’ 기능을 도입했다. 계정 탈취 뒤 악성 버전이 배포되고, 그 직후 bundle install 과정에서 곧바로 설치되는 공급망 공격의 초기 확산을 줄이기 위한 선택 기능이다.
이번 기능은 프로젝트가 Gemfile의 source 항목에 cooldown 값을 지정하거나 Bundler 설정, 환경변수, 명령행 옵션으로 적용할 수 있다. 예를 들어 공개 저장소에는 7일의 대기 기간을 두고 내부 저장소는 예외로 두는 식의 운영이 가능하다. Bundler는 공개 시각을 확인할 수 있는 버전만 대상으로 삼고, 너무 새 버전이 있으면 더 오래 공개돼 검토 시간을 거친 버전을 우선 해석한다.
쿨다운은 기본값으로 켜지는 기능은 아니다. 기존 프로젝트는 설정을 추가하지 않으면 지금처럼 최신 버전을 해석한다. 또 긴급 보안 패치처럼 최신 버전을 즉시 받아야 하는 경우에는 cooldown 값을 0으로 지정해 한 번만 예외 처리할 수 있다. RubyGems는 이 기능이 2단계 인증, trusted publishing, gem push 시점 검사, 취약점 스캔과 함께 여러 방어층 중 하나라고 설명했다.
패키지 생태계에서는 최근 오픈소스 계정 탈취와 악성 패키지 배포가 반복되면서 ‘가장 최신 버전’을 즉시 받는 관행 자체가 위험 요인으로 지적돼 왔다. Bundler의 쿨다운은 개발자가 업데이트 속도와 검증 시간을 조절할 수 있게 한다는 점에서 Ruby 기반 서비스의 의존성 관리 정책에 영향을 줄 수 있다.
출처: RubyGems Blog https://blog.rubygems.org/2026/06/03/cooldown-let-new-gems-be-vetted.html









