허깅페이스 트랜스포머스, 동의 전에 파일 저장 취약점
CERT/CC가 9월 1일 CVE-2026-80047 취약점을 공개했다. 허깅페이스 트랜스포머스가 사용자 동의 전에 원격 파이썬 파일을 디스크에 저장한다. 아직 패치는 없다.

미국 CERT 조정센터(CERT/CC)는 2026년 9월 1일, 전 세계에서 AI 모델을 불러오고 실행하는 데 가장 널리 쓰이는 파이썬 라이브러리인 허깅페이스 트랜스포머스(Hugging Face Transformers)에서 취약점을 발견했다고 발표했다. CVE-2026-80047로 등록된 이 취약점은 라이브러리 버전 4.49.0부터 5.8.1까지에 영향을 미친다. 일본의 취약점 정보 포털 JVN(Japan Vulnerability Notes)도 같은 날 동일한 내용을 공개했으며, 이는 일본 매체 INTERNET Watch가 처음 보도했다. 이 기사를 작성하는 시점까지 허깅페이스 측은 패치나 공식 입장을 내놓지 않았다.
허깅페이스 트랜스포머스는 허깅페이스 플랫폼이 제공하는 파이썬 라이브러리로, 자연어 처리·컴퓨터 비전·음성·영상·멀티모달 등 다양한 분야의 사전 학습된 AI 모델을 불러와 추론이나 추가 학습을 수행하는 표준 도구로 자리잡았다. CERT/CC는 이를 이런 종류의 프레임워크 중 가장 널리 쓰이는 것 중 하나로, 전 세계 연구와 프로덕션 환경 모두에서 사용된다고 설명했다.
묻기도 전에 이미 저장된 파일
문제가 된 것은 모델별 커스텀 생성 로직을 불러오는 함수 GenerativePreTrainedModel.load_custom_generate()다. 이 함수는 모델 저장소에 포함된 코드(custom_generate/generate.py)를 get_cached_module_file() 함수로 가져와 사용자 홈 디렉터리 내 캐시 영역인 ~/.cache/huggingface/modules에 저장한다. 문제는 이 저장 작업이, 사용자의 실행 동의 여부를 확인하는 절차(trust_remote_code, 즉 resolve_trust_remote_code() 함수의 평가)보다 먼저, 무조건 실행된다는 점이다. CERT/CC는 근본 원인이 파일 처리를 담당하는 dynamic_module_utils.py 안의 무조건적인 파일 복사 로직에 있으며, 이는 동의 확인을 마친 뒤에야 외부 코드를 가져오고 저장하는 다른 로딩 경로들(AutoConfig, AutoModel, AutoTokenizer, AutoImageProcessor)과 다른 동작이라고 지적했다.
- 사용자가 신뢰 확인 창에서 실행을 거부해도 파일은 로컬 캐시에 그대로 남는다
- 악성 모델 저장소를 만든 사람은 custom_generate/generate.py에 임의의 파이썬 코드를 넣을 수 있다
- 해당 모델을 불러오려는 시도만으로도 특별한 권한이나 추가 조작 없이 파일 저장이 발생한다
- 캐시 영역이 재사용되는 환경에서는, 나중에 '신뢰할 수 있는' 모델을 불러올 때 이전에 저장된 악성 파일이 의도치 않게 실행될 위험이 있다
패치는 아직 없고, 임시 대응만 권고
이 취약점은 보안 연구원 프라산나 다비(Prasanna Dabi)가 제보했다. CERT/CC는 2026년 8월 4일 허깅페이스에 통보했다고 밝혔지만, 보고서가 공개된 9월 1일까지 회사 측 답변은 없었으며, 기록상 벤더 상태는 여전히 'Unknown'으로 남아 있다. 공식 패치가 없는 상황에서 CERT/CC와 JVN 모두, 신뢰할 수 없는 모델 저장소에서는 load_custom_generate()를 호출하지 말고, ~/.cache/huggingface/modules 디렉터리를 주기적으로 점검해 낯선 파일이 있으면 삭제할 것을 권고하고 있다.
CERT/CC는 또한 최초 파일 복사가 한번 이뤄지면 되돌릴 수 없다는 점도 지적했다. 사용자가 거부하면 trust_remote_code 메커니즘이 코드 실행 자체는 올바르게 막아주지만, 이미 디스크에 저장된 파일을 삭제해주지는 않는다는 것이다. 보고서는 더 나아가 일반적인 설계 원칙으로서, trust_remote_code와 같은 검증 절차는 원격 콘텐츠를 가져오거나 저장하기 전에 반드시 이뤄져야 한다고 권고했다. 문제가 된 함수는 현재 이 요건을 충족하지 못하고 있다. 이 라이브러리의 소스 코드는 깃허브(GitHub)에 공개되어 있으며, huggingface/transformers 저장소는 현재로서는 패치 진행 상황을 확인할 수 있는 유일한 공식 창구로 남아 있다.
이번 보고서는 보안 연구원 프라산나 다비(Prasanna Dabi)를 발견자로, CERT/CC 분석가 밥 케머러(Bob Kemerer)를 문서 작성자로 명시하고 있다. 8월 4일 허깅페이스에 비공개로 통보한 시점부터 9월 1일 공개 발표까지 채 한 달이 걸리지 않았으며, CERT/CC의 조정된 공개 일정에 따르면 이 기간 동안 회사 측은 아무런 답변도 내놓지 않았다.
CERT/CC는 카네기멜론대학교 소프트웨어공학연구소(Software Engineering Institute) 산하 기관이며, 미국 사이버보안 및 기반시설 보안청(CISA)의 지원을 받아 운영된다.
모듈 실행 자체는 올바르게 차단되지만, 최초 파일 저장은 무조건적으로 이뤄진다. 이는 라이브러리의 다른 동적 모듈 로딩 경로와는 다른 동작이다.
한국 개발팀에는 무엇이 달라지나
허깅페이스 트랜스포머스를 기반으로 AI 파이프라인을 구축한 한국 기업이나 개발팀에게 이번 취약점은 무시할 경고가 아니라 즉시 점검해야 할 항목이다. CI/CD 파이프라인이나 학습 환경에서 외부 모델 저장소를 자동으로 불러오는 구조가 있다면, load_custom_generate() 호출 지점을 모두 찾아내어 신뢰할 수 없는 저장소를 참조하고 있지 않은지 확인해야 한다. 아울러 개발 서버와 빌드 서버의 ~/.cache/huggingface/modules 디렉터리에 낯선 파이썬 파일이 없는지 점검하고, 공식 패치가 나올 때까지는 라이브러리 버전을 고정하거나 사내 대안을 검토해두는 것이 바람직하다.
출처
- 「Hugging Face Transformers」に脆弱性、ユーザーの同意前にPythonファイルを保存INTERNET Watch · 2026년 9월 2일
- VU#456290 - Hugging Face Transformers library writes remote code to disk prior to consent checkCERT Coordination Center (CERT/CC) · 2026년 9월 1일



