Shai-Hulud Themed Malware Found in the PyTorch Lightning AI Training Library

개요

PyPI의 인기 딥러닝 프레임워크인 PyTorch Lightning의 2.6.2 및 2.6.3 버전이 악성코드를 포함한 공급망 공격으로 감염되었으며, 이 악성코드는 자격 증명, 인증 토큰, 환경 변수 및 클라우드 시크릿을 탈취하고 GitHub 리포지토리를 오염시키려 시도합니다.

주요 내용

* 감염된 라이브러리: PyPI의 lightning 패키지 버전 2.6.2 및 2.6.3 (2026년 4월 30일 출시)이 공격의 대상이 되었습니다.
* 악성코드 작동 방식: 감염된 버전에는 난독화된 JavaScript 페이로드를 포함하는 숨겨진 _runtime 디렉토리가 포함되어 있으며, 모듈 임포트 시 자동으로 실행됩니다.
* 정보 탈취 범위: 파일 시스템, 쉘/환경 변수, GitHub Actions, GitHub 조직, AWS, Azure, GCP 등 로컬 개발 환경, CI/CD 파이프라인, 클라우드 환경 전반의 자격 증명을 탈취합니다.
* GitHub 오염 시도: 악성코드는 EveryBoiWeBuildIsaWormBoi와 같은 듄(Dune) 테마의 공개 리포지토리를 생성하고, 탈취한 자격 증명을 해당 리포지토리에 커밋하며, GitHub 커밋 메시지를 통한 통신 채널로도 사용됩니다.
* 지속성 확보: Claude Code와 VS Code와 같은 개발자 도구의 훅 시스템을 악용하여 .claude/settings.json.vscode/tasks.json 파일을 통해 지속성을 확보합니다.
* PyPI에서 npm으로의 확산: PyPI에서 시작된 공격이지만, 악성코드 페이로드는 JavaScript이며 npm을 통해 확산됩니다. 감염된 환경에서 npm 게시 자격 증명을 탈취하면, 해당 토큰으로 게시 가능한 다른 패키지에 악성 페이로드를 삽입하고 패치 버전을 올려 재게시하여 다운스트림 개발자들을 감염시킵니다.
* 데이터 유출 메커니즘: 공격자는 C2 서버로의 HTTPS POST, GitHub 커밋 검색 API를 통한 정보 전달, 공격자 제어 공개 GitHub 리포지토리, 감염된 사용자의 자체 GitHub 리포지토리로 푸시하는 네 가지 채널을 사용하여 데이터를 탈취합니다.
* 악성코드 식별 지표 (IOCs): EveryBoiWeBuildIsAWormyBoi로 시작하는 커밋 메시지, "A Mini Shai-Hulud has Appeared"라는 설명을 가진 GitHub 리포지토리, _runtime/ 디렉토리, .claude/.vscode/ 디렉토리 내의 비정상적인 파일들을 확인해야 합니다.
* Semgrep 지원: Semgrep은 이 공격을 탐지하기 위한 자문 및 규칙을 제공합니다.

시사점

PyTorch Lightning과 같은 널리 사용되는 라이브러리에서의 공급망 공격은 개발 환경 전반에 걸쳐 심각한 보안 위협을 야기하며, 개발자는 감염된 패키지 버전을 즉시 업데이트하고, 사용된 자격 증명을 로테이션하는 등 신속한 대응이 필요합니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions