Hugging Face 악성코드 탐지 가이드: Open-OSS 공급망 공격 분석

TL;DR

Hugging Face 악성코드 유포 주의: Open-OSS/privacy-filter 모델로 위장한 privacy-filter 멀웨어가 확인됐다. Python 드로퍼(loader.py)가 Windows Task Scheduler를 악용해 정보 탈취 EXE를 실행하는 구조다. Linux 환경은 면역이나, Windows 기반 ML 파이프라인은 즉시 점검이 필요하다.

문제 정의: 오픈소스 신뢰를 악용한 공급망 공격

최근 Hugging Face에 등록된 Open-OSS/privacy-filter는 OpenAI의 개인정보 보호 필터를 사칭한 신규 모델로 위장했으나, 실제로는 맞춤형 정보 탈취

제로는 맞춤형 정보 탈취 바이러스다. ML 엔지니어들이 신규 모델을 테스트하려는 심리를 노린 전형적인 공급망 공격(Supply Chain Attack) 사례다. 오픈소스 생태계에서는 모델 가중치 파일뿐만 아니라 추론 코드 실행을 위해 Python 스크립트를 무비판적으로 실행하는 경우가 잦다. 공격자는 이러한 개발 문화의 취약점을 파고들어, 겉보기엔 정상적인 모델 로더처럼 보이는 코드 내부에 악성 페이로드를 숨기는 수법을 구사했다.

기술적 메커니즘: 다단계 드로퍼와 지속성 확보

해당 privacy-filter 멀웨어의 공격 벡터는 단일 파일 실행이 아닌, 탐지를 회피하기 위한 다단계 드로퍼(Dropper) 구조로 설계되었다. 공격의 핵심 흐름은 다음과 같다.

mermaid flowchart TD A[사용자: loader.py 실행] --> B[1단계: 인터넷에서 악성 PS 명령어 다운로드] B --> C[2단계: 다운로드된 PS1이 추가 PS1 스크립트 생성] C --> D[3단계: 의심스러운 EXE 파일 획득] D --> E[4단계: Windows Task Scheduler 등록] E --> F[시스템 재부팅 시 EXE 자동 실행 \n 정보 탈취]

1단계에서 감염이 시작된다. 사용자가 모델 테스트를 위해 loader.py를 실행하면, 이 스크립트는 인터넷에서 악성 PowerShell 명령어를 동적으로 다운로드하여 메모리에서 실행한다. 디스크에 악성 스크립트를 남기지 않는 무파일(Fileless) 공격 기법의 일환이다. 이어지는 PowerShell 스크립트는 또 다른 PowerShell 명령어를 생성하고, 최종적으로 원격지에서 의심스러운 EXE 파일을 시스템에 다운로드한다. 가장 치명적인 부분은 4단계로, 다운로드한 EXE 파일을 Windows Task Scheduler에 등록하여 시스템이 부팅될 때마다 악성코드가 지속적으로 실행되도록(Persistence) 구성한다는 점이다. 제3자 분석 플랫폼(tria.ge)의 행동 분석 결과에 따르면 해당 EXE는 시스템의 민감 정보를 탈취하는 동작이 의심되나, 이는 행동 분석 단계의 결과일 뿐 확정된 것은 아니다. 공격 대상은 Windows 운영체제로 한정되며, AI/ML 작업에 주로 사용되는 Linux 환경에서는 드로퍼의 동작이 차단되어 영향을 받지 않는다.

실무 패턴: MLOps 파이프라인의 취약점 노출

Windows 기반 CI/CD 환경에서 사내 MLOps 파이프라인을 구축할 때 Hugging Face Hub의 모델을 자동으로 Pull 받아 테스트하는 경우가

많다. 이 과정에서 커스텀 로더 스크립트나 토크나이저 설정 파일을 자동으로 실행하도록 파이프라인을 구성했다면 대규모 감염으로 이어질 수 있다. 특히 로컬 Windows 환경이나 Windows Server 기반의 사내 테스트 베드, 심지어 WSL(Windows Subsystem for Linux) 환경에서 파이프라인을 실행할 경우, 이런 Hugging Face 악성코드에 무방비로 노출된다. pickle 역직렬화 취약점만 주의할 것이 아니라, loader.py와 같은 진입점 스크립트 자체에 대한 샌드박스 격리 및 정적/동적 분석 절차가 MLOps 보안 가드레일에 포함되어야 한다.

주의사항: 미검증 정보의 한계와 방심 금물

본 정보는 Reddit 커뮤니티 게시글을 기반으로 작성되었으며, 공식 보안 기관의 검증 결과가 아님을 인지해야

한다. 행동 분석 역시 제3자 플랫폼(tria.ge)의 결과로, EXE 파일의 전체 악성코드 기능이나 탈취 데이터의 유출 경로 등이 완전히 분석되지 않았을 가능성이 존재한다. 또한 Linux 사용자는 영향을 받지 않는다고 명시되어 있으나, 이는 현재 확인된 해당 악성코드의 한계일 뿐 크로스 플랫폼 악성코드의 가능성을 배제하는 근거가 될 수 없다. 현재 해당 저장소와 악성 파일은 Microsoft 및 Hugging Face에 신고된 상태이나, 아직 공식적인 조치가 완료되지는 않은 상태다.

댓글 남기기