---
title: "라라벨 번역 패키지 태그가 통째로 바뀌었다, 개발자 비밀값 털리는 공급망 공격"
published: 2026-05-27T00:05:03.693Z
canonical: https://jeff.news/article/3293
---
# 라라벨 번역 패키지 태그가 통째로 바뀌었다, 개발자 비밀값 털리는 공급망 공격

전 세계 라라벨 개발자가 쓰는 Laravel-Lang 패키지가 공격을 받아 Git 태그가 악성 버전을 가리키도록 바뀌었다. 5월 22일 약 90분 동안 4개 저장소의 태그가 교체됐고, 감염된 패키지는 AWS 키, GitHub 토큰, Stripe 시크릿, 암호화폐 지갑 복구 구문, SSH 개인키 등을 노렸다.

- 전 세계 라라벨 개발자가 쓰는 Laravel-Lang 패키지가 공급망 공격을 당함
  - Laravel-Lang은 라라벨 위에서 동작하는 다국어 번역 패키지임
  - 10년 이상 운영됐고, 전 세계 75개 언어 번역을 제공해온 신뢰도 높은 오픈소스라서 충격이 큼

- 공격 시간은 짧았지만 범위가 컸음
  - 공격자는 5월 22일 22시 32분(UTC)부터 자정까지 약 90분 동안 움직였음
  - 4개 저장소의 Git 태그 전체를 악성 버전으로 교체한 것으로 알려짐
  - Aikido는 피해 버전을 233개로 확인했고, Socket은 전체 태그 기준 최대 700개 이상으로 추산함

> [!WARNING]
> 해당 시간대에 Laravel-Lang을 설치하거나 업데이트했다면 바로 확인해야 함. AWS 키, GitHub 토큰, Stripe 시크릿, 암호화폐 지갑 복구 구문, SSH 개인키가 탈취 대상에 포함됐음.

- 이번 공격이 까다로운 이유는 저장소 코드를 직접 고친 게 아니라 Git 태그를 바꿔치기했다는 점임
  - 개발자가 평소처럼 익숙한 버전을 내려받는다고 생각했는데, 실제로는 공격자가 만든 별도 저장소의 악성 코드를 받는 구조였음
  - 코드 리뷰 화면만 대충 보면 이상을 놓칠 수 있는 방식이라 더 위험함

- 감염된 패키지는 설치 즉시 ‘DebugElevator’라는 프로그램을 외부 서버에서 내려받아 실행하도록 설계됐음
  - 외부 서버 도메인은 flipboxstudio.info로 언급됨
  - 이 프로그램은 개발자 컴퓨터에 저장된 민감 정보를 긁어 외부로 보내는 역할을 했음

- 탈취 대상이 그냥 개발자 개인 정보 수준이 아니었음
  - AWS 접근 키는 회사 클라우드 인프라로 들어가는 핵심 인증 정보임
  - Stripe 시크릿은 결제 시스템과 연결될 수 있어서 고객 결제 데이터까지 위험해질 수 있음
  - 암호화폐 지갑 복구 구문은 한 번 유출되면 사실상 되돌리기 어렵고, SSH 개인키와 GitHub 토큰도 배포·소스코드 접근에 치명적임

- 브라우저와 비밀번호 관리 데이터도 노렸다는 점이 더 찝찝함
  - Chrome, Brave, Edge 같은 주요 브라우저에 저장된 로그인 정보가 탈취 대상에 포함됨
  - 비밀번호 관리 프로그램 데이터도 수집 대상으로 언급됨

- 악성 코드 내부에서는 ‘Mero’라는 사용자명과 AI 코딩 도구 흔적도 발견됐음
  - 일부 연구자는 공격자가 악성 코드 제작에 AI를 활용했을 가능성을 제기함
  - 다만 실제로 AI를 썼는지는 확인되지 않았음

- 5월 들어 오픈소스 공급망 공격이 계속 이어지는 흐름도 봐야 함
  - TanStack, AntV 등 서로 다른 패키지 생태계를 겨냥한 유사 공격이 보고됐음
  - 공격 한 건의 제작 비용이 낮아질수록 이런 공격은 더 자주 나올 가능성이 큼

- 당장 해야 할 일은 명확함
  - 5월 22일 22시 32분부터 5월 23일 오전 사이에 Laravel-Lang 설치나 업데이트를 했는지 확인해야 함
  - 의심되면 관련 의존성을 정리하고, 노출 가능성이 있는 AWS 키, GitHub 토큰, Stripe 시크릿, SSH 키, 지갑 관련 정보를 교체해야 함
  - Packagist는 23일부터 악성 버전 정리에 들어갔지만, 이미 내려받은 개발 환경은 별도로 점검해야 함

---

## 기술 맥락

- 이번 사건의 핵심은 “소스코드가 안전해 보이면 괜찮다”는 가정이 깨졌다는 점이에요. 공격자는 저장소 코드를 직접 고치지 않고, 버전을 가리키는 Git 태그를 악성 코드 쪽으로 돌렸거든요.

- Git 태그는 보통 릴리스 버전을 고정하는 신뢰 지점으로 쓰여요. 그래서 태그가 오염되면 개발자는 정상 버전을 설치한다고 믿지만, 실제 설치 경로는 공격자가 만든 코드로 바뀔 수 있어요.

- Laravel-Lang이 위험했던 이유는 오래된 신뢰도 높은 패키지였기 때문이에요. 75개 언어 번역을 제공하는 패키지라 많은 프로젝트가 별 의심 없이 업데이트할 가능성이 있고, 그만큼 피해 반경도 커져요.

- 대응도 단순히 패키지를 지우는 데서 끝나면 안 돼요. 악성 코드가 AWS 키, Stripe 시크릿, SSH 개인키처럼 한 번 유출되면 바로 악용 가능한 값을 노렸기 때문에, 설치 여부 확인과 함께 자격증명 회전까지 해야 의미가 있어요.

## 핵심 포인트

- 공격자는 5월 22일 22시 32분부터 자정까지 약 90분 동안 Git 태그를 악성 버전으로 바꿨다
- Aikido는 피해 버전을 233개로 확인했고 Socket은 최대 700개 이상으로 추산했다
- 악성 코드는 DebugElevator를 외부 서버에서 내려받아 실행하고 각종 인증 정보를 탈취하도록 설계됐다
- 해당 시간대에 Laravel-Lang을 설치하거나 업데이트한 개발자는 즉시 점검해야 한다

## 인사이트

이번 사건은 코드 본문이 멀쩡해 보여도 Git 태그와 패키지 배포 경로가 오염되면 개발자는 그대로 당할 수 있다는 걸 보여준다. 한국에서도 라라벨을 쓰는 중소 서비스와 에이전시가 적지 않아서, 이건 남의 생태계 얘기로 넘기기 어렵다.
