피드로 돌아가기
Malware en PyTorch Lightning: simulé el mismo vector de supply chain attack sobre mis dependencias de ML en producción
Dev.toDev.to
Security

PyPI ML 생태계의 Hash 검증 부재 해결 및 Supply Chain Attack 방어 체계 구축

Malware en PyTorch Lightning: simulé el mismo vector de supply chain attack sobre mis dependencias de ML en producción

Juan Torchia2026년 5월 1일12intermediate

Context

PyPI 기반 ML 스택은 Node.js나 Rust와 달리 기본적인 암호화 Hash 검증 메커니즘이 부족한 구조적 취약점을 보유함. 특히 PyTorch Lightning 등 대규모 ML 라이브러리는 수십 개의 Transitve Dependency를 수반하며, 이 과정에서 Typosquatting을 통한 Zero-day 공급망 공격에 무방비하게 노출됨.

Technical Solution

  • --require-hashes 옵션을 통한 의존성 설치 강제화로 패키지 무결성 검증 체계 도입
  • pip-audit과 자체 Typosquatting 탐지 스크립트를 CI/CD Pipeline에 통합하여 빌드 전 사전 검증 수행
  • HuggingFace 모델의 Runtime 다운로드를 배제하고 Private Bucket 기반의 Pre-download 구조로 전환
  • trust_remote_code=False 설정 및 고정된 Commit Hash 사용을 통한 임의 코드 실행 경로 차단
  • 패키지 명칭 변형 패턴(Typosquatting)과 실제 PyPI 인덱스를 비교 분석하는 화이트리스트 기반 필터링 로직 구현

1. requirements.txt 내 모든 패키지에 `--require-hashes` 적용 여부 검토

2. CI/CD 파이프라인에 pip-audit 및 패키지 명칭 검증 단계 추가

3. ML 모델 로드 시 trust_remote_code=False 설정 및 고정 Commit Hash 사용

4. 외부 저장소 직접 참조 대신 내부 Private Artifact Repository 활용 고려

원문 읽기