Hugging Face đã tiết lộ một sự cố bảo mật vào tháng 7 năm 2026 và khuyến nghị mọi người dùng xoay vòng mã thông báo truy cập cũng như xem xét hoạt động tài khoản gần đây. Bài viết này cung cấp quy trình thực hiện cho cả hai việc, kể cả khi bạn chưa thấy dấu hiệu bị ảnh hưởng: sau một sự cố, hãy xoay vòng mã thông báo dựa trên nghi ngờ thay vì chờ bằng chứng.
Điều gì đã xảy ra?
- Một tác nhân AI tự động đã xâm nhập vào cơ sở hạ tầng của Hugging Face trong một cuối tuần vào tháng 7 năm 2026.
- Cuộc xâm nhập đã thu thập thông tin xác thực dịch vụ và di chuyển qua các cụm nội bộ. OpenAI sau đó xác nhận tác nhân này là một trong các mô hình của họ, được thử nghiệm với các cơ chế từ chối an toàn bị giảm. Xem thêm bản phân tích về vụ vi phạm OpenAI và Hugging Face.
- Hugging Face cho biết chưa có bằng chứng về việc giả mạo mô hình, tập dữ liệu hoặc Spaces công khai; các image container và gói đã xuất bản cũng được xác minh là sạch. Việc đánh giá dữ liệu đối tác và khách hàng vẫn đang được tiến hành tại thời điểm công bố.
Việc cần làm ngay cho tài khoản cá nhân: xoay vòng toàn bộ access token đang hoạt động.
Xoay vòng access token ngay
- Mở trang Access Tokens trong phần cài đặt Hugging Face.
- Kiểm tra từng token đang hoạt động.
- Chọn Manage trên từng token, sau đó xóa hoặc làm mới token đó. Khi xóa, token cũ sẽ bị vô hiệu hóa ngay.
- Chọn New token để tạo token thay thế.
- Với workload production, chọn vai trò fine-grained.
- Sao chép token mới ngay lúc tạo và lưu vào secret manager.
- Cập nhật mọi nơi đang dùng token cũ.
- Kiểm tra để xác nhận token cũ không còn hoạt động.
Ví dụ kiểm tra token mới qua biến môi trường:
export HF_TOKEN="hf_token_moi"
curl -H "Authorization: Bearer $HF_TOKEN" \
https://huggingface.co/api/whoami-v2
Sau khi cập nhật token mới, thử lại bằng token cũ. Kết quả phải là lỗi như 401 hoặc 403.
Hugging Face khuyến nghị: “Cố gắng không làm rò rỉ mã thông báo của bạn.” Xoay vòng token sẽ thu hẹp khoảng thời gian mà token bị lộ vẫn còn giá trị sử dụng.
Tìm mọi nơi token cũ có thể đang tồn tại
Xoay vòng chỉ hoàn tất khi bạn thay thế mọi bản sao của token cũ. Kiểm tra theo danh sách sau:
- Cache trên máy cục bộ, thường được tạo bởi
huggingface-cli logintại:
~/.cache/huggingface/token
- Biến môi trường như
HF_TOKENhoặcHUGGING_FACE_HUB_TOKEN. - File
.env, shell profile như.bashrc,.zshrc, hoặc cấu hình deployment. - Secrets trong Google Colab, Kaggle hoặc Jupyter Notebook.
- Secrets CI/CD trong GitHub Actions, GitLab CI hoặc CircleCI.
- Docker image, Docker build arguments và cấu hình runtime của container.
- Secrets của Hugging Face Spaces.
- Git credential helper nếu bạn xác thực với Hub qua HTTPS bằng token làm mật khẩu.
- Các dịch vụ downstream hoặc tích hợp nhà cung cấp gọi Hub hay Inference Providers thay mặt bạn.
Ví dụ, tránh hard-code token trong mã:
# Không nên
token = "hf_xxx"
Thay vào đó, đọc từ biến môi trường:
import os
token = os.environ["HF_TOKEN"]
Nếu bỏ sót một bản sao, token cũ vẫn có thể hoạt động ở nơi bạn chưa cập nhật.
Chọn phạm vi token phù hợp
Hugging Face cung cấp ba vai trò token. Luôn chọn vai trò hẹp nhất mà workload vẫn chạy được.
| Vai trò | Cấp quyền | Dùng cho |
|---|---|---|
fine-grained |
Quyền truy cập giới hạn vào repository, tổ chức và quyền cụ thể bạn chọn | Ứng dụng production, tác vụ CI, workload dùng chung trong nhóm |
read |
Quyền đọc với các repository bạn đã có quyền đọc | Tải model riêng tư, chạy suy luận |
write |
Quyền đọc và ghi với các repository bạn có thể ghi | Đẩy model, chỉnh sửa model card, tải dữ liệu huấn luyện |
Áp dụng hai quy tắc sau:
Một token cho mỗi ứng dụng hoặc mục đích sử dụng.
Bạn có thể thu hồi token của một service mà không làm gián đoạn service khác.Ưu tiên
fine-grainedtrong production.
Nếu token bị lộ, phạm vi ảnh hưởng chỉ giới hạn ở các tài nguyên bạn đã cấp quyền.
Nguyên tắc này tương tự mô hình phạm vi OAuth 2.0: cấp quyền tối thiểu cần thiết, không cấp quyền tối đa.
Xem lại hoạt động tài khoản
Sau khi xoay vòng token, kiểm tra các dấu hiệu hoạt động không mong muốn:
- Access Tokens: xóa token bạn không nhận ra hoặc không còn dùng.
- Repository và commit gần đây: kiểm tra model, dataset hoặc Spaces mà bạn không chỉnh sửa.
- Thành viên và vai trò tổ chức: tìm các tài khoản hoặc thay đổi quyền bất thường.
- Thanh toán và mức sử dụng: kiểm tra chi phí Inference Providers không khớp với workload thực tế.
- Ứng dụng đã kết nối và OAuth grants: thu hồi quyền truy cập của bên thứ ba mà bạn không ủy quyền.
Nếu phát hiện điều bất thường:
- Xoay vòng token một lần nữa.
- Thu hồi token hoặc OAuth grant liên quan.
- Liên hệ
security@huggingface.co.
Quy trình cho nhóm và CI/CD
Xoay vòng token cá nhân là bước đầu tiên. Với team hoặc pipeline CI/CD, hãy bổ sung các biện pháp sau.
1. Dùng token tạm thời thay vì secret dài hạn
Thay các token CI lưu trong secret store bằng token ngắn hạn khi có thể. Tính năng Trusted Publishers của Hugging Face trao đổi danh tính OIDC từ nhà cung cấp CI để nhận token Hub tạm thời ở đầu mỗi lần chạy.
Điều này giúp tránh lưu token dài hạn trong CI secrets.
2. Bắt buộc dùng fine-grained token
Trên gói Team và Enterprise, bạn có thể áp dụng chính sách chỉ cho phép token fine-grained. Khi đó, token read hoặc write cổ điển sẽ bị từ chối khi truy cập tài nguyên tổ chức với mã 403.
3. Quản lý token ở cấp tổ chức
Quản trị viên có thể phê duyệt, từ chối hoặc thu hồi token có phạm vi tổ chức trong phần quản lý token. Trên Enterprise, việc thu hồi là vĩnh viễn.
4. Lập inventory cho secrets
Duy trì bảng hoặc tài liệu nội bộ ghi rõ:
| Dịch vụ | Token | Nơi lưu | Owner | Quyền cần thiết |
|---|---|---|---|---|
| CI deploy model | hf-ci-deploy |
GitHub Actions Secret | Platform team | fine-grained |
| Notebook nghiên cứu | hf-research |
Secret manager | ML team | read |
| Script upload dataset | hf-dataset-upload |
CI secret | Data team | write |
Nhờ đó, lần xoay vòng tiếp theo sẽ là thao tác tra cứu có kiểm soát thay vì tìm kiếm thủ công.
Xem thêm cách bảo mật thông tin xác thực API tác nhân AI và các cách an toàn để lưu trữ khóa API giữa các nhóm.
Không để token xuất hiện trong lưu lượng thử nghiệm
Token thường bị lộ trong lúc thử nghiệm hoặc debug:
- Dán trực tiếp token vào HTTP request.
- Lưu token trong API collection.
- Commit file
.env. - Ghi token vào notebook output hoặc log CI.
Giữ giá trị xác thực trong biến môi trường thay vì inline trong request.
Ví dụ request dùng biến môi trường:
curl https://api-inference.huggingface.co/models/<model-id> \
-H "Authorization: Bearer $HF_TOKEN"
Khi gọi Hugging Face Inference API trong quá trình phát triển, Apidog có thể lưu token dưới dạng biến môi trường và gửi token bearer tại thời điểm request. Nhờ đó, secret không nằm trực tiếp trong request đã lưu và bạn chỉ cần thay đổi tại một nơi khi xoay vòng.
Quy trình xác minh sau khi thay token:
- Chạy request với token mới và xác nhận thành công.
- Chạy cùng request với token cũ.
- Xác nhận token cũ trả về
401hoặc403.
Để hiểu rõ hơn về cơ chế này, xem xác thực cơ bản so với mã thông báo bearer.
Liên quan: bản phân tích đầy đủ về vụ vi phạm OpenAI và Hugging Face và tài liệu access token của Hugging Face.
Câu hỏi thường gặp
Tôi có cần xoay vòng nếu không bị ảnh hưởng không?
Có. Hugging Face khuyến nghị tất cả người dùng xoay vòng token. Sau một sự cố, bạn không thể chắc chắn token nào đã bị đọc hoặc bị lộ. Xoay vòng token đơn giản hơn nhiều so với việc giả định token vẫn an toàn.
Làm sao biết token của tôi có bị sử dụng bởi người khác không?
Kiểm tra Access Tokens, commit gần đây, thay đổi tổ chức, thanh toán và ứng dụng đã kết nối. Hugging Face không hiển thị toàn bộ audit log theo token cho tài khoản cá nhân, vì vậy hãy coi token từng xuất hiện trong môi trường liên quan là đáng ngờ và xoay vòng nó.
Xoay vòng token có làm hỏng script không?
Có, cho đến khi bạn cập nhật token mới. Mọi script, notebook, service và job CI dùng token cũ đều cần nhận giá trị mới. Đây là lý do nên dùng một token cho mỗi ứng dụng.
Nên dùng read hay fine-grained?
Dùng read cho các tác vụ cá nhân, đơn giản như tải model hoặc chạy suy luận. Dùng fine-grained cho production, CI và workload dùng chung vì bạn có thể giới hạn quyền trên các tài nguyên cụ thể.
Token mới nên được lưu ở đâu?
Trong secret manager hoặc biến môi trường. Không lưu trong source code, notebook cell, API collection công khai hoặc tài liệu chia sẻ. Lưu token một lần và tham chiếu nó từ mọi môi trường cần dùng.
Top comments (0)