GemStuffer, 150개 이상의 RubyGems를 악용해 스크랩된 영국 지방자치단체 포털 데이터를 Exfiltrate

발행: (2026년 5월 13일 PM 05:08 GMT+9)
5 분 소요

Source: The Hacker News

Overview

사이버 보안 연구원들은 RubyGems 저장소를 악용하는 새로운 캠페인 GemStuffer를 확인했습니다. 150개가 넘는 악성 gem이 전통적인 악성코드 배포가 아니라 데이터 유출 채널로 사용되고 있습니다.

“패키지는 대규모 개발자 타깃을 위한 것으로 보이지 않습니다,” Socket이 언급했습니다. “많은 패키지는 다운로드 활동이 거의 없거나 전혀 없으며, 페이로드는 반복적이고 시끄럽고 비정상적으로 자체 포함되어 있습니다.”

개발자를 노리는 대신, 스크립트는 영국 지방 정부의 민주 서비스 포털에서 페이지를 가져와 수집된 응답을 유효한 .gem 아카이브로 패키징하고, 하드코딩된 API 키를 사용해 해당 gem을 RubyGems에 다시 게시합니다.

RubyGems는 대규모 악성 공격 이후 일시적으로 신규 계정 등록을 중단했습니다. 두 사건이 직접적인 연관이 있는지는 불분명하지만, 애플리케이션 보안 회사는 GemStuffer가 동일한 악용 패턴을 따른다고 밝혔습니다: 스크랩된 데이터를 호스팅하기 위해 쓰레기 같은 이름의 패키지를 만드는 것.

[Image: RubyGems 데이터 유출]

How the Campaign Works

  1. Fetching Data – 영국 지방 자치단체 포털의 하드코딩된 URL에 접근하고, HTTP 응답을 저장합니다.
  2. Packaging – 응답을 유효한 .gem 아카이브로 묶습니다.
  3. Publishing – 임베디드된 레지스트리 자격 증명을 사용해 아카이브를 RubyGems에 푸시합니다.

관찰된 두 가지 주요 게시 방법:

  • CLI‑based push – 악성 gem이 /tmp 아래에 임시 RubyGems 자격 증명 환경을 만들고, HOME 변수를 재정의한 뒤, 로컬에서 gem을 빌드하고 gem 명령줄 인터페이스를 사용해 푸시합니다.
  • Direct API upload – 일부 변형은 CLI를 건너뛰고 HTTP POST 요청을 통해 RubyGems API에 아카이브를 직접 업로드합니다.

gem이 게시되면 공격자는 다음과 같은 간단한 명령으로 스크랩된 데이터를 가져올 수 있습니다:

gem fetch <gem-name> -v <version>

[Image: 페이로드 일러스트레이션]

Targeted Sources

이 캠페인은 런던 자치구 Lambeth, Wandsworth, Southwark에서 운영하는 공개 ModernGov 포털을 대상으로 합니다. 수집된 데이터에는 다음이 포함됩니다:

  • 위원회 회의 일정
  • 안건 목록
  • 연결된 PDF 문서
  • 담당자 연락처 정보
  • RSS 피드 내용

이 모든 정보는 공개되어 있지만, 체계적인 대량 수집 및 보관은 잠재적 악용에 대한 우려를 불러일으킵니다.

Assessment

Socket은 이 캠페인이 여러 목적을 가질 수 있다고 평가합니다:

  • 레지스트리 스팸 또는 개념 증명 웜
  • RubyGems를 저장 계층으로 사용하는 자동 스크래퍼
  • 패키지 레지스트리 남용에 대한 의도적인 테스트

동작 메커니즘은 의도적입니다: 반복적인 gem 생성, 버전 증가, 하드코딩된 RubyGems 자격 증명, 직접 레지스트리 푸시, 그리고 패키지 아카이브에 삽입된 스크랩 데이터.

“레지스트리 스팸, 개념 증명 웜, RubyGems를 저장 계층으로 악용하는 자동 스크래퍼, 혹은 패키지 레지스트리 남용에 대한 의도적인 테스트일 수 있습니다,” 라고 Socket이 말했습니다.

References

  • Socket 블로그 포스트:
  • RubyGems 계정 정지에 관한 The Hacker News 기사:
  • RubyGems 명령줄 참고 문서:
0 조회
Back to Blog

관련 글

더 보기 »