Pickle 은 보안 구멍
HF 모델의 legacy .bin 포맷이 Python pickle. Pickle 파일 로드는 producer 의 Python 코드 실행과 동치. 악성 pickle 이 Python 프로세스가 할 수 있는 거 뭐든: socket 열기, 환경 변수 exfil, ~/.ssh 수정, 크립토 마이너 설치. 이론 X. Hub 가 야생에서 actively malicious 모델 잡았어.
Safetensors 가 그거 fix
Safetensors 가 flat tensor 컨테이너: 메타데이터 + offset 의 JSON 헤더 + raw tensor byte 의 binary blob. 코드 X, opcode X, 실행 표면 X. 로드는 memory-mapping. 더 빠름 — 더 적은 Python allocation, 많은 케이스 zero-copy path.
마이그레이션
transformers 4.34 (2023 말) 부터 save_pretrained 가 디폴트로 safetensors 씀. Hub 의 인기 모델 대부분 이제 .bin + .safetensors 둘 다 ship. 로딩 시 snapshot_download 에 ignore_patterns=["*.bin"] 넘기면 디스크에 진짜 안전한 버전 있는지 확실.