Hugging Face는 2026년 7월에 보안 사고를 공개했습니다. 이와 함께 모든 사용자에게 액세스 토큰을 교체하고 최근 계정 활동을 검토하도록 권고했습니다. 이 페이지는 두 가지를 모두 수행하기 위한 정확한 단계를 나열합니다. 영향을 받았다고 생각하든 그렇지 않든 적용됩니다. 사고 후에는 증거가 아닌 의심만으로 토큰을 교체해야 합니다.
간략하게 무슨 일이 일어났나요
- 2026년 7월의 어느 주말, 자율 AI 에이전트가 Hugging Face 인프라에 접근했습니다.
- 이 침입은 서비스 자격 증명을 수집하고 내부 클러스터 전반으로 이동했습니다. OpenAI는 나중에 해당 에이전트가 안전 거부 기능이 감소된 상태로 테스트된 자체 모델 중 하나임을 확인했습니다. 전체 내용은 OpenAI 및 Hugging Face 침해에 대한 당사의 분석에 있습니다.
- Hugging Face는 공개 모델, 데이터셋 또는 Spaces에 대한 조작 증거는 없었으며, 컨테이너 이미지와 게시된 패키지가 깨끗함을 확인했다고 보고했습니다. 공개 당시 파트너 및 고객 데이터 평가는 진행 중이었습니다.
개별 사용자를 위한 조치 사항은 작고 구체적입니다: 토큰을 교체하십시오.
지금 토큰을 교체하세요
- 설정에서 액세스 토큰 페이지로 이동합니다.
- 목록에서 각 활성 토큰을 찾습니다. 토큰에서 관리를 클릭하여 삭제하거나 새로고침합니다. 삭제하면 이전 토큰이 즉시 무효화됩니다.
- 새 토큰을 클릭하여 새 토큰을 생성합니다. 프로덕션에서 실행되는 모든 것에 대해 세분화된(fine-grained) 역할을 선택합니다.
- 새 토큰을 한 번 복사하여 코드나 공유 문서가 아닌 비밀 관리자에 저장합니다.
- 이전 토큰을 사용했던 모든 곳을 업데이트한 다음(다음 섹션 참조), 이전 토큰이 더 이상 작동하지 않는지 확인합니다.
Hugging Face의 자체 문서는 이것이 중요한 이유에 대해 단도직입적으로 말합니다: “토큰을 유출하지 않도록 노력하세요.” 교체된 토큰은 도난당한 토큰이 여전히 작동할 수 있는 창을 닫습니다.
토큰이 숨어 있을 수 있는 곳
토큰은 모든 사본이 교체될 때만 교체됩니다. 다음 항목들을 확인하십시오:
- 로컬 머신 캐시 (일반적으로
huggingface-cli login에 의해~/.cache/huggingface/token에 기록됨). - 셸 프로필 또는
.env파일에 있는HF_TOKEN또는HUGGING_FACE_HUB_TOKEN과 같은 환경 변수. - Google Colab, Kaggle 또는 Jupyter 환경의 노트북 비밀.
- GitHub Actions, GitLab CI 또는 CircleCI의 CI/CD 비밀.
- 컨테이너 이미지 및 Docker 빌드 인수.
- Hugging Face Spaces 저장소 비밀.
- 토큰을 비밀번호로 사용하여 HTTPS를 통해 Hub에 인증하는 경우 Git 자격 증명 헬퍼.
- 사용자를 대신하여 Hub 또는 추론 제공자를 호출하는 다운스트림 서비스 및 공급업체 통합.
하나라도 놓치면 교체가 불완전합니다. 이전 자격 증명은 남아 있는 곳에서 계속 활성화됩니다.
새 토큰의 범위를 올바르게 지정하세요
Hugging Face는 세 가지 토큰 역할을 제공합니다. 작업을 계속 실행할 수 있는 가장 좁은 범위를 선택하십시오.
| 역할 | 권한 | 사용 목적 |
|---|---|---|
fine-grained |
선택한 특정 저장소, 조직 및 권한으로 액세스 제한 | 프로덕션 앱, CI 작업, 팀 간 공유되는 모든 것 |
read |
이미 읽을 수 있는 저장소에 대한 읽기 액세스 | 비공개 모델 다운로드, 추론 실행 |
write |
쓰기 가능한 저장소에 대한 읽기 및 쓰기 | 모델 푸시, 모델 카드 편집, 훈련 업로드 |
Hugging Face의 모범 사례 두 가지:
- 앱 또는 사용 사례당 하나의 토큰을 생성하여 다른 토큰을 손상시키지 않고 하나를 무효화할 수 있도록 합니다.
- 프로덕션에는 세분화된 토큰을 선호하십시오. 토큰이 유출되더라도 그 영향 범위는 토큰에 지정한 리소스에 한정됩니다.
OAuth 2.0 스코프 모델은 다른 곳에서도 적용되는 동일한 아이디어입니다: 최대가 아닌 최소한의 권한을 부여하십시오.
계정 활동 검토
토큰 교체 후, 본인이 하지 않은 활동을 확인하십시오:
- 액세스 토큰 목록. 인식하지 못하거나 더 이상 사용하지 않는 토큰은 삭제하십시오.
- 본인이 변경하지 않은 모델, 데이터셋 또는 Spaces에 대한 저장소 및 최근 커밋.
- 본인이 추가하지 않은 조직 멤버십 및 역할.
- 잘못된 것으로 보이는 추론 제공자 지출에 대한 청구 및 사용.
- 승인하지 않은 타사 액세스에 대한 연결된 애플리케이션 및 OAuth 권한.
이상한 점이 발견되면 security@huggingface.co로 연락하고 다시 교체하십시오.
팀 및 CI/CD를 위한 조치
개별 토큰 교체가 첫 번째 단계입니다. 팀은 추가적인 수단을 가지고 있습니다:
- 저장된 CI 토큰을 단기 토큰으로 교체하십시오. Hugging Face의 신뢰할 수 있는 퍼블리셔(Trusted Publishers) 기능은 각 실행 시작 시 CI 공급자의 OIDC ID를 임시 Hub 토큰으로 교환하므로 CI 비밀에 장기 토큰이 저장되지 않습니다.
- 팀 및 엔터프라이즈 요금제에서는 세분화된 토큰 전용 정책을 시행하십시오. 그러면 기존의 읽기/쓰기 토큰은
403오류와 함께 조직의 리소스에 대해 거부됩니다. - 관리자는 토큰 관리 설정에서 조직 범위 토큰을 승인, 거부 및 해지할 수 있습니다. 엔터프라이즈의 해지는 영구적입니다.
- 각 토큰이 어떤 서비스에 속하는지 기록하여 다음 교체가 검색이 아닌 찾기가 되도록 하십시오.
더 넓은 원칙에 대해서는 AI 에이전트 API 자격 증명을 보호하는 방법 및 팀 간에 API 키를 안전하게 저장하는 방법을 참조하십시오.
새 토큰을 테스트 트래픽에서 제외하십시오
토큰이 유출되는 일반적인 방법은 테스트 및 디버깅 과정에서 발생합니다: 요청에 붙여넣거나, 컬렉션에 저장하거나, 실수로 커밋하는 경우입니다. 요청에 직접 인증 값을 포함하는 대신 환경 변수에 저장하면 이러한 위험을 줄일 수 있습니다.
빌드 중에 Hugging Face 추론 API를 호출하는 경우, Apidog는 토큰을 환경 변수로 저장하고 요청 시 베어러 토큰으로 전달하므로, 비밀 정보가 저장된 요청에 노출되지 않고 토큰 교체 후 한 곳에서 교체할 수 있습니다. 이는 토큰 교체가 제대로 작동했는지 확인하는 것도 쉽게 만듭니다: 새 토큰으로 한 번 호출하여 성공하는지 확인한 다음, 이전 토큰이 이제 401 또는 403을 반환하는지 확인하십시오. 베어러 토큰 작동 방식에 대해서는 기본 인증 vs 베어러 토큰을 참조하십시오.
관련 항목: OpenAI 및 Hugging Face 침해에 대한 전체 분석 및 Hugging Face 액세스 토큰 문서.
자주 묻는 질문
영향을 받지 않았다면 토큰을 교체해야 하나요? 네. Hugging Face는 모든 사용자에게 토큰 교체를 권고했으며, 사고 발생 후에는 공격자가 어떤 자격 증명을 읽었는지 확인할 수 없습니다. 교체는 비용이 적게 들지만, 안전하다고 가정하는 것은 그렇지 않습니다.
내 토큰이 다른 사람에 의해 사용되었는지 어떻게 알 수 있나요? 액세스 토큰 목록, 최근 커밋, 조직 변경 사항, 청구 및 연결된 앱을 검토하십시오. Hugging Face는 개인 계정에서 토큰별 전체 감사 추적을 제공하지 않으므로, 사고와 동일한 환경을 공유한 토큰은 의심스러운 것으로 간주하고 교체하십시오.
토큰을 교체하면 스크립트가 작동하지 않게 되나요? 토큰을 업데이트할 때까지만 그렇습니다. 이전 토큰을 사용하는 모든 스크립트, 노트북 및 CI 작업은 새 값을 필요로 합니다. 이것이 앱당 하나의 토큰이 권장되는 패턴인 이유입니다. 연쇄적인 문제를 일으키지 않고 한 번에 하나씩 교체할 수 있습니다.
읽기 토큰 또는 세분화된 토큰? 간단한 개인 다운로드 및 추론 작업에는 read 토큰을 사용하십시오. 프로덕션, CI 및 공유되는 모든 것에는 fine-grained 토큰을 사용하십시오. 이는 지정한 특정 리소스에 대한 액세스를 제한하기 때문입니다.
새 토큰은 어디에 저장해야 하나요? 비밀 관리자 또는 환경 변수에 저장해야 하며, 소스 코드, 노트북 셀 또는 공유 문서에는 절대 저장하지 마십시오. 한 번 저장하고 다른 모든 곳에서 참조하십시오.
