PyTorch Lightning 악성 패키지, AI 공급망 경보
AI 개발 환경의 패키지 설치는 이제 모델 학습 전 단계가 아니라 보안 경계 그 자체다. 연구용 노트북과 CI 러너의 토큰을 분리하지 않으면 작은 의존성 하나가 조직 전체 저장소를 오염시킬 수 있다.
AI 뉴스를 놓치지 마세요
매주 핵심 AI 소식을 이메일로 받아보세요.
PyPI에서 시작된 AI 개발자 대상 공격
Semgrep은 PyPI 패키지 lightning의 2.6.2와 2.6.3 버전이 2026년 4월 30일 악성 코드로 감염됐다고 분석했다. lightning은 PyTorch Lightning 계열의 학습 프레임워크로, 이미지 분류·LLM 파인튜닝·확산 모델·시계열 예측 실험에서 흔히 의존성 트리에 들어간다. 문제는 설치 뒤 import만으로 숨겨진 _runtime 디렉터리의 난독화된 JavaScript 페이로드가 실행된다는 점이다.
공격은 GitHub 토큰, npm 토큰, 환경 변수, 클라우드 비밀값을 훑고, 피해 저장소에 파일과 워크플로를 심는 방식으로 확산한다. Semgrep은 이를 이전 Mini Shai-Hulud 캠페인과 같은 위협 행위자의 변형으로 보고 있으며, 커밋 메시지와 공개 저장소 설명에 Dune식 문구를 남기는 IOC도 제시했다.
왜 AI 인프라에 특히 위험한가
AI 팀의 개발 환경은 일반 웹앱보다 권한이 넓다. 실험 노트북에는 데이터셋 키가 있고, CI에는 모델 레지스트리·클라우드·패키지 배포 토큰이 있으며, 에이전트 개발 저장소에는 로컬 도구 설정이 같이 들어간다. 이번 페이로드는 AWS Secrets Manager, SSM Parameter Store, Azure Key Vault, GCP Secret Manager까지 훑으려 했고, GitHub Actions 러너 메모리에서 secret 표시 값을 추출하려 했다.
| 공격 지점 | 노출될 수 있는 자산 | 방어 우선순위 |
|---|---|---|
| 로컬 개발 PC | GitHub·npm·클라우드 토큰 | 악성 버전 설치 여부 확인, 토큰 회전 |
| CI 러너 | 배포 키, Actions secret | 최소 권한 토큰, 워크플로 감사 |
| 패키지 배포 계정 | npm 재배포 권한 | 2FA·provenance·쿨다운 정책 |
| 에이전트 설정 | Claude Code·VS Code 훅 | 저장소 내 자동 실행 파일 검사 |
CopyFail 리눅스 LPE 이슈가 커널과 호스트 권한의 문제였다면, 이번 사례는 AI 애플리케이션의 가장 위쪽 레이어인 의존성 설치가 같은 수준의 사고로 이어질 수 있음을 보여준다.
개발 도구 훅이 새로운 지속성 지점이 됐다
특히 눈에 띄는 부분은 Claude Code와 VS Code를 겨냥한 지속성이다. Semgrep은 악성 코드가 .claude/settings.json에 SessionStart 훅을 쓰고, .vscode/tasks.json에는 폴더 열기 시 실행되는 태스크를 심는다고 설명했다. Claude Code hooks 문서나 VS Code tasks 문서가 보여주듯 이런 기능은 원래 자동화와 생산성을 위한 장치다. 그러나 저장소에 커밋되면 다음 개발자가 폴더를 여는 순간 실행 경로가 된다.
한국 팀은 AI 코딩 도구 도입 가이드에 “에이전트 설정 파일 리뷰”를 넣어야 한다. Claude Code 프롬프트 압축처럼 개발 속도를 높이는 실험이 늘수록, 자동 실행 훅과 권한 위임의 보안 리뷰도 같이 빨라져야 한다.
즉시 점검할 체크리스트
lightning==2.6.2또는2.6.3설치·캐시·락파일을 찾고 안전 버전으로 고정한다.- 설치된 환경에서 GitHub, npm, 클라우드, 모델 레지스트리 토큰을 모두 회전한다.
.claude/,.vscode/,setup.mjs,router_runtime.js, 의심스러운 GitHub Actions 워크플로를 감사한다.- GitHub Actions secret 관리를 최소 권한·짧은 수명 토큰 중심으로 바꾼다.
- 패키지 설치 직후 네트워크·파일 생성 행위를 탐지하는 공급망 스캔을 CI에 추가한다.
FAQ
Q1. 단순히 PyTorch Lightning을 안 쓰면 괜찮나?
직접 의존하지 않아도 transitive dependency로 들어올 수 있다. lockfile과 이미지 캐시까지 확인해야 한다.
Q2. AI 팀에만 해당되는 공격인가?
아니다. 다만 lightning의 사용 맥락상 AI 연구·학습 환경에 많이 닿아 있고, 그 환경에는 고가치 토큰이 많다.
Q3. 토큰 회전이 꼭 필요한가?
악성 버전을 import했을 가능성이 있으면 필요하다. 페이로드가 환경 변수, 파일, 클라우드 secret을 수집하려 했기 때문이다.
관련 토픽 더 보기
📰 원본 출처
semgrep.dev이 기사는 AI 기술을 활용하여 작성되었으며, 원본 뉴스 소스를 기반으로 분석 및 해설을 추가한 콘텐츠입니다. 정확한 정보 전달을 위해 노력하고 있으나, 원본 기사를 함께 확인하시기를 권장합니다.