의존성 쿨다운의 필요성
공급망 보안은 종종 시간과의 싸움입니다. 연구에 따르면 대부분의 손상되거나 멀웨어가 포함된 패키지는 게시 후 24~48시간 이내에 레지스트리에서 식별되고 제거됩니다. gem.coop은 의무적인 48시간 지연을 구현함으로써 마찰이 적은 방어 계층을 제공합니다. Dependabot 및 Renovate와 같은 도구에서 사용되는 전략에서 영감을 받은 이 접근 방식은 모든 개발자가 쿨다운을 채택하더라도 보안 연구원과 자동 스캐너가 백그라운드에서 최신 릴리스를 계속 검증하여 ‘제로데이’ 패키지 공격을 효과적으로 무력화하도록 보장합니다.
쿨다운 소스 구현
쿨다운 메커니즘은 현재 전용 베타 엔드포인트를 통해 사용할 수 있습니다. 이 보안 버퍼를 채택하려면 개발자는 Gemfile 소스를 수정하기만 하면 됩니다. 서버는 최소 한 시간에 한 번 업데이트되어 검증된 젬의 48시간 슬라이딩 윈도우를 유지합니다.
ruby
-source "https://gem.coop"
+source "https://beta.gem.coop/cooldown"
중요 보안 패치 처리
지연된 가용성과 관련된 일반적인 우려는 합법적인 보안 수정 사항에 즉시 접근해야 한다는 점입니다. 이를 해결하기 위해 gem.coop은 Bundler의 소스 블록을 ‘비상구’로 사용할 것을 제안합니다. 이를 통해 특정 젬은 쿨다운을 우회하면서 나머지 의존성 트리는 보호할 수 있습니다.
```ruby source “https://beta.gem.coop/cooldown” gem “no-security-problems”
source “https://gem.coop” do gem “security-just-fixed” end ```
생태계 발전: rv부터 Ruby 4.0까지
쿨다운이 주요 기능이지만, gem.coop 팀은 Ruby 생태계에 광범위하게 기여하고 있습니다. 주요 업데이트는 다음과 같습니다:
- rv clean-install:
bundle install --frozen과 유사한 기능을 제공하여 재현 가능한 환경을 보장하는 새로운 명령어입니다. - arctic gem: 환경 변수로부터 frozen string을 제공하여 객체 할당을 최소화하는 성능 지향 유틸리티입니다.
- RubyBox 연구: 격리 및 보안 강화를 위한 Ruby 4.0 RubyBox 기능에 대한 지속적인 연구입니다.
- 유지보수 및 확장:
ActiveRecordQueryTrace에 대한 상당한 테스트 개선과Oaken,Associated Object와 같은 Rails 확장 기능의 1.0 버전 릴리스입니다.