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 bất kỳ mã thông báo truy cập nào cũng như xem xét hoạt động tài khoản gần đây. Trang này liệt kê các bước chính xác để thực hiện cả hai việc đó. Nó áp dụng cho dù bạn có nghĩ rằng mình bị ảnh hưởng hay không; sau một sự cố, bạn xoay vòng mã thông báo dựa trên sự nghi ngờ, không phải dựa trên bằng chứng.
Điều gì đã xảy ra, tóm tắt
- Một tác nhân AI tự động đã xâm nhập vào cơ sở hạ tầng của Hugging Face vào một cuối tuần trong 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. Toàn bộ câu chuyện có trong bản phân tích của chúng tôi về vụ vi phạm của OpenAI và Hugging Face.
- Hugging Face báo cáo không có bằng chứng về việc giả mạo các mô hình, tập dữ liệu hoặc Spaces công khai, và đã xác minh các hình ảnh container và các gói đã xuất bản 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 tiết lộ.
Mục hành động cho người dùng cá nhân rất nhỏ và cụ thể: xoay vòng mã thông báo của bạn.
Xoay vòng mã thông báo của bạn ngay bây giờ
- Truy cập trang Mã thông báo truy cập trong cài đặt của bạn.
- Tìm từng mã thông báo đang hoạt động trong danh sách. Nhấp vào Quản lý trên một mã thông báo để xóa hoặc làm mới nó. Việc xóa sẽ ngay lập tức vô hiệu hóa mã thông báo cũ.
- Nhấp vào Mã thông báo mới để tạo một mã thông báo thay thế. Chọn vai trò chi tiết (fine-grained) cho bất kỳ thứ gì đang chạy trong môi trường sản xuất.
- Sao chép mã thông báo mới một lần và lưu trữ nó trong trình quản lý bí mật, không phải trong mã hoặc tài liệu được chia sẻ.
- Cập nhật mọi nơi đã sử dụng mã thông báo cũ (xem phần tiếp theo), sau đó xác nhận rằng mã thông báo cũ không còn hoạt động.
Tài liệu của Hugging Face rất thẳng thắn về lý do tại sao điều này lại quan trọng: "Cố gắng không làm rò rỉ mã thông báo của bạn." Một mã thông báo đã được xoay vòng sẽ đóng lại khoảng thời gian mà một mã thông báo bị đánh cắp vẫn có thể hoạt động.
Nơi mã thông báo của bạn có thể đang ẩn náu
Một mã thông báo chỉ được xoay vòng khi mọi bản sao của nó được thay thế. Kiểm tra từng điều sau đây:
- Bộ nhớ đệm máy cục bộ, thường được ghi bởi
huggingface-cli loginvào~/.cache/huggingface/token. - Các biến môi trường như
HF_TOKENhoặcHUGGING_FACE_HUB_TOKENtrong hồ sơ shell hoặc tệp.envcủa bạn. - Bí mật sổ ghi chép trong môi trường Google Colab, Kaggle hoặc Jupyter.
- Bí mật CI/CD trong GitHub Actions, GitLab CI hoặc CircleCI.
- Hình ảnh container và đối số xây dựng Docker.
- Bí mật kho lưu trữ Hugging Face Spaces.
- Trình trợ giúp thông tin xác thực Git, nếu bạn xác thực với Hub qua HTTPS bằng mã thông báo làm mật khẩu.
- Các dịch vụ hạ nguồn và tích hợp của nhà cung cấp gọi Hub hoặc Nhà cung cấp Suy luận thay mặt bạn.
Bỏ sót một bản sao và quá trình xoay vòng không hoàn tất. Thông tin xác thực cũ vẫn còn hoạt động ở bất cứ nơi nào nó bị bỏ lại.
Phạm vi mã thông báo mới một cách chính xác
Hugging Face cung cấp ba vai trò mã thông báo. Chọn vai trò hẹp nhất mà vẫn cho phép công việc chạy.
| Vai trò | Cấp quyền | Sử dụng cho |
|---|---|---|
fine-grained |
Quyền truy cập giới hạn vào các kho lưu trữ, tổ chức và quyền cụ thể mà bạn chọn | Ứng dụng sản xuất, tác vụ CI, mọi thứ được chia sẻ trong một nhóm |
read |
Quyền đọc đối với các kho lưu trữ bạn đã có thể đọc | Tải xuống mô hình riêng tư, chạy suy luận |
write |
Quyền đọc cộng với quyền ghi vào các kho lưu trữ bạn có thể ghi vào | Đẩy mô hình, chỉnh sửa thẻ mô hình, tải lên huấn luyện |
Hai quy tắc từ các phương pháp hay nhất của Hugging Face:
- Tạo một mã thông báo cho mỗi ứng dụng hoặc cách sử dụng, để bạn có thể vô hiệu hóa một mã thông báo mà không làm hỏng các mã thông báo khác.
- Ưu tiên mã thông báo chi tiết (fine-grained) cho sản xuất. Nếu một mã thông báo bị rò rỉ, phạm vi tác động của nó sẽ bị giới hạn ở các tài nguyên mà bạn đã cấp quyền.
Mô hình phạm vi OAuth 2.0 cũng có ý tưởng tương tự được áp dụng ở những nơi khác: cấp quyền tối thiểu, không phải tối đa.
Xem xét hoạt động tài khoản của bạn
Sau khi xoay vòng, hãy kiểm tra xem có bất kỳ điều gì bạn không thực hiện hay không:
- Danh sách Mã thông báo truy cập. Xóa bất kỳ mã thông báo nào bạn không nhận ra hoặc không còn sử dụng.
- Kho lưu trữ và các commit gần đây, đối với các mô hình, tập dữ liệu hoặc Spaces mà bạn không thay đổi.
- Thành viên và vai trò tổ chức, đối với các bổ sung mà bạn không thực hiện.
- Thanh toán và sử dụng, đối với chi tiêu của Nhà cung cấp Suy luận có vẻ không chính xác.
- Ứng dụng đã kết nối và cấp quyền OAuth, đối với quyền truy cập của bên thứ ba mà bạn không ủy quyền.
Nếu có bất kỳ điều gì không ổn, hãy liên hệ security@huggingface.co và xoay vòng lại.
Đối với các nhóm và CI/CD
Xoay vòng cá nhân là bước đầu tiên. Các nhóm có các đòn bẩy bổ sung:
- Thay thế các mã thông báo CI được lưu trữ bằng các mã thông báo có thời hạn ngắn. Tính năng Nhà xuất bản đáng tin cậy của Hugging Face trao đổi danh tính OIDC của nhà cung cấp CI để lấy mã thông báo Hub tạm thời khi bắt đầu mỗi lần chạy, do đó không có mã thông báo có thời hạn dài nào nằm trong bí mật CI của bạn.
- Trên các gói Team và Enterprise, thực thi chính sách mã thông báo chỉ chi tiết (fine-grained-only). Các mã thông báo đọc/ghi cổ điển sau đó sẽ bị từ chối đối với các tài nguyên của tổ chức bạn với mã
403. - Quản trị viên có thể phê duyệt, từ chối và thu hồi các mã thông báo có phạm vi tổ chức từ cài đặt quản lý mã thông báo. Thu hồi trên Enterprise là vĩnh viễn.
- Lưu giữ hồ sơ về mã thông báo nào thuộc dịch vụ nào, để lần xoay vòng tiếp theo là tra cứu, không phải tìm kiếm.
Đối với nguyên tắc rộng hơn, hãy xem 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.
Giữ mã thông báo mới tránh khỏi lưu lượng thử nghiệm của bạn
Một cách phổ biến mà mã thông báo bị rò rỉ là thông qua thử nghiệm và gỡ lỗi: dán vào một yêu cầu, lưu trong một bộ sưu tập, vô tình commit. Giữ các giá trị xác thực trong các biến môi trường thay vì nội tuyến trong các yêu cầu sẽ giảm rủi ro đó.
Nếu bạn gọi Hugging Face Inference API khi xây dựng, Apidog lưu trữ mã thông báo dưới dạng biến môi trường và chuyển nó dưới dạng mã thông báo bearer tại thời điểm yêu cầu, để bí mật không nằm trong các yêu cầu đã lưu của bạn và có thể được hoán đổi ở một nơi sau khi xoay vòng. Điều đó cũng giúp dễ dàng xác minh quá trình xoay vòng đã hoạt động: chạy một lệnh gọi với mã thông báo mới và xác nhận nó thành công, sau đó xác nhận mã thông báo cũ hiện trả về 401 hoặc 403. Để biết cách hoạt động của mã thông báo bearer, hã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 của OpenAI và Hugging Face và tài liệu mã thông báo truy cập của Hugging Face.
Câu hỏi thường gặp
Tôi có phải xoay vòng nếu tôi không bị ảnh hưởng không? Có. Hugging Face đã khuyên tất cả người dùng nên xoay vòng, và sau một sự cố, bạn không thể xác nhận thông tin xác thực nào mà kẻ tấn công đã đọc. Xoay vòng là dễ dàng; cho rằng bạn an toàn thì không.
Làm cách nào để tôi biết liệu mã thông báo của tôi có bị người khác sử dụng hay không? Xem lại danh sách Mã thông báo truy cập, các commit gần đây, thay đổi tổ chức, thanh toán và các ứng dụng đã kết nối của bạn. Hugging Face không hiển thị toàn bộ nhật ký kiểm toán theo mã thông báo trên các tài khoản cá nhân, vì vậy hãy coi bất kỳ mã thông báo nào đã chia sẻ môi trường với sự cố là đáng ngờ và xoay vòng nó.
Việc xoay vòng có làm hỏng các tập lệnh của tôi không? Chỉ cho đến khi bạn cập nhật mã thông báo. Mọi tập lệnh, sổ ghi chép và tác vụ CI sử dụng mã thông báo cũ đều cần giá trị mới. Đây là lý do tại sao một mã thông báo cho mỗi ứng dụng là mẫu được khuyến nghị; bạn thay thế chúng từng cái một mà không gây ra hiệu ứng dây chuyền.
Mã thông báo đọc hay mã thông báo chi tiết (fine-grained)? Sử dụng read cho các tác vụ tải xuống và suy luận cá nhân, đơn giản. Sử dụng fine-grained cho sản xuất, CI và mọi thứ được chia sẻ, vì nó giới hạn quyền truy cập vào các tài nguyên cụ thể mà bạn chỉ định.
Mã thông báo mới nên nằm ở đâu? Trong trình quản lý bí mật hoặc biến môi trường, không bao giờ trong mã nguồn, một ô sổ ghi chép hoặc tài liệu được chia sẻ. Lưu trữ nó một lần và tham chiếu nó ở mọi nơi khác.
