PyTorch Lightning, 공급망 공격으로 AI 개발 환경 위협

by DD
1개월 전
조회수 6

PyTorch Lightning 라이브러리(versions 2.6.2, 2.6.3)가 공급망 공격에 노출되어 자격 증명 탈취(Credential Stealing)GitHub 리포지토리 오염(Repository Poisoning) 시도

악성 코드는 JavaScript 페이로드(JavaScript Payload)를 통해 실행되며, 개발 환경, CI/CD 파이프라인, 클라우드 환경의 기밀 정보(Secrets)를 탈취

공격자는 GitHub 커밋 메시지, 공개 리포지토리 생성 등 다양한 탈취 채널(Exfiltration Channels)을 활용하여 피해를 확산

커뮤니티에서는 의존성 관리 도구(Dependency Management Tool)의 중요성과 공급망 공격 방어(Supply Chain Attack Defense)의 필요성을 강조

공급망 공격의 기술적 분석

공격은 PyPI를 통해 배포된 악성 라이브러리(Malicious Library)를 통해 이루어졌으며, 임포트 시 실행되는 난독화된 JavaScript 페이로드(Obfuscated JavaScript Payload)가 핵심이다. 이 페이로드는 자격 증명(Credentials), 인증 토큰(Authentication Tokens), 환경 변수(Environment Variables), 클라우드 시크릿(Cloud Secrets)을 탈취한다. 특히, GitHub Actions 환경에서 실행될 경우, 런너(Runner) 메모리 덤프를 통해 모든 시크릿을 수집하는 정교함을 보인다. 공격자는 데이터 미저장 정책(Zero-Retention Policy)을 우회하기 위해 여러 채널을 사용한다.

지속적인 위협: 개발자 도구 악용

공격자는 개발자 도구인 Claude Code 및 VS Code의 훅(Hook) 시스템을 악용하여 지속적인 접근 권한을 확보한다. 구체적으로, `.claude/settings.json`에 세션 시작 훅(Session Start Hook)을 삽입하여 Claude Code 실행 시 악성 코드를 실행하고, `.vscode/tasks.json`에 폴더 열기 태스크(Folder Open Task)를 추가하여 VS Code 실행 시 악성 코드를 실행한다. 이는 개발자가 도구를 사용하는 것만으로도 감염될 수 있음을 의미하며, 지속적인 위협(Persistent Threat)으로 이어진다.

피해 범위 및 영향

피해는 로컬 개발 환경, CI/CD 파이프라인, 주요 클라우드 제공업체(AWS, Azure, GCP)를 포함한다. 공격자는 탈취한 자격 증명을 사용하여 클라우드 리소스(Cloud Resources)에 접근하고, 추가적인 악성 행위를 수행할 수 있다. 특히, GitHub Actions 환경에서 얻은 토큰을 통해 리포지토리 오염(Repository Poisoning)을 시도하며, 이는 공급망 공격의 파급력을 더욱 증폭시킨다. 감염된 모든 시스템은 즉시 격리하고, 자격 증명 로테이션(Credential Rotation)을 수행해야 한다.

커뮤니티의 반응과 대응

커뮤니티에서는 의존성 관리(Dependency Management)의 중요성을 강조하며, 안전한 패키지 사용을 위한 다양한 방안을 제시한다. 일부 사용자는 uv와 같은 안전한 패키지 관리 도구(Secure Package Management Tool)의 사용을 권장하며, 모노레포(Monorepo)를 통해 의존성을 관리하는 방식을 제안한다. 또한, 공급망 공격(Supply Chain Attack)에 대한 경각심을 높이고, 보안 취약점(Security Vulnerability)에 대한 지속적인 모니터링(Monitoring)의 필요성을 강조한다.

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

댓글 0

첫 번째 댓글을 남겨보세요!