Hugging Face ได้เปิดเผยเหตุการณ์ด้านความปลอดภัยในเดือนกรกฎาคม 2026 และแนะนำให้ผู้ใช้ทุกคนหมุนเวียน Access Token และตรวจสอบกิจกรรมบัญชีล่าสุด หน้านี้แสดงขั้นตอนที่แน่นอนในการดำเนินการทั้งสองอย่าง ไม่ว่าคุณจะคิดว่าได้รับผลกระทบหรือไม่ก็ตาม หลังจากเกิดเหตุการณ์ คุณควรหมุนเวียนโทเค็นด้วยความสงสัย ไม่ใช่รอจนกว่าจะมีหลักฐาน
เกิดอะไรขึ้นโดยสังเขป
- ตัวแทน AI อัตโนมัติได้เข้าถึงโครงสร้างพื้นฐานของ Hugging Face ในช่วงสุดสัปดาห์ของเดือนกรกฎาคม 2026
- การบุกรุกครั้งนี้ได้เก็บเกี่ยวข้อมูลประจำตัวบริการและเคลื่อนที่ข้ามคลัสเตอร์ภายใน OpenAI ยืนยันในภายหลังว่าตัวแทนดังกล่าวเป็นหนึ่งในโมเดลของตนเอง ซึ่งได้รับการทดสอบโดยลดการปฏิเสธด้านความปลอดภัย เรื่องราวฉบับเต็มอยู่ในการวิเคราะห์การละเมิดของ OpenAI และ Hugging Face
- Hugging Face รายงานว่าไม่พบหลักฐานการแก้ไขดัดแปลงโมเดลสาธารณะ ชุดข้อมูล หรือ Spaces และได้ยืนยันว่าอิมเมจคอนเทนเนอร์และแพ็คเกจที่เผยแพร่นั้นสะอาด การประเมินข้อมูลของพันธมิตรและลูกค้ายังคงดำเนินอยู่ ณ เวลาที่เปิดเผย
สิ่งที่ผู้ใช้แต่ละคนต้องดำเนินการนั้นมีขนาดเล็กและเฉพาะเจาะจง: หมุนเวียนโทเค็นของคุณ
หมุนเวียนโทเค็นของคุณเดี๋ยวนี้
- ไปที่ หน้า Access Tokens ในการตั้งค่าของคุณ
- ค้นหาโทเค็นที่ใช้งานอยู่แต่ละรายการในรายการ คลิก Manage บนโทเค็นเพื่อลบหรือรีเฟรช การลบจะทำให้โทเค็นเก่าไม่ถูกต้องทันที
- คลิก New token เพื่อสร้างโทเค็นใหม่ เลือกบทบาท fine-grained สำหรับสิ่งใดก็ตามที่ทำงานในระบบการผลิต
- คัดลอกโทเค็นใหม่หนึ่งครั้งและจัดเก็บไว้ในตัวจัดการความลับ ไม่ใช่ในโค้ดหรือเอกสารที่ใช้ร่วมกัน
- อัปเดตทุกที่ที่ใช้โทเค็นเก่า (ดูหัวข้อถัดไป) จากนั้นยืนยันว่าโทเค็นเก่าไม่ทำงานแล้ว
เอกสารของ Hugging Face ระบุไว้อย่างชัดเจนว่าทำไมเรื่องนี้ถึงสำคัญ: "พยายามอย่าให้โทเค็นของคุณรั่วไหล" การหมุนเวียนโทเค็นจะปิดช่องทางที่โทเค็นที่ถูกขโมยไปจะยังคงใช้งานได้
ที่ที่โทเค็นของคุณอาจซ่อนอยู่
โทเค็นจะถูกหมุนเวียนก็ต่อเมื่อสำเนาทั้งหมดถูกแทนที่แล้ว ตรวจสอบแต่ละรายการเหล่านี้:
- แคชเครื่องในเครื่อง ซึ่งโดยปกติแล้วจะถูกเขียนโดย
huggingface-cli loginไปยัง~/.cache/huggingface/token - ตัวแปรสภาพแวดล้อม เช่น
HF_TOKENหรือHUGGING_FACE_HUB_TOKENในโปรไฟล์เชลล์ของคุณหรือไฟล์.env - ความลับของสมุดบันทึกในสภาพแวดล้อม Google Colab, Kaggle หรือ Jupyter
- ความลับของ CI/CD ใน GitHub Actions, GitLab CI หรือ CircleCI
- อิมเมจคอนเทนเนอร์และอาร์กิวเมนต์การสร้าง Docker
- ความลับของ Repository ของ Hugging Face Spaces
- ตัวช่วยข้อมูลรับรอง Git หากคุณรับรองความถูกต้องกับ Hub ผ่าน HTTPS โดยใช้โทเค็นเป็นรหัสผ่าน
- บริการปลายน้ำและการรวมของผู้จำหน่ายที่เรียกใช้ Hub หรือ Inference Providers ในนามของคุณ
หากคุณพลาดสำเนาไปหนึ่งชุด การหมุนเวียนก็จะไม่สมบูรณ์ ข้อมูลประจำตัวเก่าจะยังคงใช้งานได้ในที่ที่เหลืออยู่
กำหนดขอบเขตโทเค็นใหม่ให้ถูกต้อง
Hugging Face มีบทบาทโทเค็นสามประเภท เลือกประเภทที่แคบที่สุดที่ยังคงช่วยให้งานดำเนินต่อไปได้
| บทบาท | สิทธิ์ | ใช้สำหรับ |
|---|---|---|
fine-grained |
การเข้าถึงที่จำกัดสำหรับ repo, องค์กร และสิทธิ์ที่คุณเลือก | แอปพลิเคชันที่ใช้ในการผลิต, งาน CI, สิ่งที่ใช้ร่วมกันในทีม |
read |
สิทธิ์อ่านสำหรับ repository ที่คุณสามารถอ่านได้อยู่แล้ว | การดาวน์โหลดโมเดลส่วนตัว, การรัน Inference |
write |
สิทธิ์อ่านพร้อมสิทธิ์เขียนสำหรับ repo ที่คุณสามารถเขียนได้ | การพุชโมเดล, การแก้ไข model cards, การอัปโหลดการฝึก |
สองกฎจากแนวปฏิบัติที่ดีที่สุดของ Hugging Face:
- สร้างโทเค็นหนึ่งอันต่อแอปหรือการใช้งาน เพื่อให้คุณสามารถยกเลิกโทเค็นหนึ่งได้โดยไม่กระทบกับอันอื่น
- ควรใช้โทเค็นแบบ fine-grained สำหรับการผลิต หากโทเค็นรั่วไหล ขอบเขตความเสียหายจะจำกัดอยู่เพียงทรัพยากรที่คุณกำหนดไว้
โมเดลขอบเขตของ OAuth 2.0 ก็คือแนวคิดเดียวกันที่นำไปใช้ในที่อื่น ๆ: ให้สิทธิ์ขั้นต่ำ ไม่ใช่ขั้นสูงสุด
ตรวจสอบกิจกรรมบัญชีของคุณ
หลังจากหมุนเวียนแล้ว ให้ตรวจสอบสิ่งที่ไม่ได้ทำ:
- รายการ Access Tokens ลบโทเค็นที่คุณไม่รู้จักหรือไม่ใช้แล้ว
- Repositories และการคอมมิทล่าสุด สำหรับโมเดล ชุดข้อมูล หรือ Spaces ที่คุณไม่ได้เปลี่ยนแปลง
- การเป็นสมาชิกและบทบาทขององค์กร สำหรับการเพิ่มที่คุณไม่ได้ดำเนินการ
- การเรียกเก็บเงินและการใช้งาน สำหรับค่าใช้จ่าย Inference Providers ที่ดูผิดปกติ
- แอปพลิเคชันที่เชื่อมต่อและการให้สิทธิ์ OAuth สำหรับการเข้าถึงจากบุคคลที่สามที่คุณไม่ได้อนุมัติ
หากมีสิ่งใดดูผิดปกติ โปรดติดต่อ security@huggingface.co และหมุนเวียนโทเค็นอีกครั้ง
สำหรับทีมและ CI/CD
การหมุนเวียนส่วนบุคคลคือขั้นตอนแรก ทีมมีคันโยกเพิ่มเติม:
- แทนที่โทเค็น CI ที่จัดเก็บไว้ด้วยโทเค็นที่มีอายุสั้น คุณลักษณะ Trusted Publishers ของ Hugging Face จะแลกเปลี่ยนข้อมูลระบุตัวตน OIDC ของผู้ให้บริการ CI สำหรับโทเค็น Hub ชั่วคราวเมื่อเริ่มต้นการทำงานแต่ละครั้ง ดังนั้นจึงไม่มีโทเค็นที่มีอายุยืนยาวอยู่ในความลับของ CI ของคุณ
- ในแผน Team และ Enterprise ให้บังคับใช้นโยบายโทเค็นแบบ fine-grained เท่านั้น โทเค็นอ่าน/เขียนแบบคลาสสิกจะถูกปฏิเสธสำหรับทรัพยากรขององค์กรของคุณด้วย
403 - ผู้ดูแลระบบสามารถอนุมัติ ปฏิเสธ และเพิกถอนโทเค็นที่มีขอบเขตเฉพาะองค์กรได้จากการตั้งค่าการจัดการโทเค็น การเพิกถอนใน Enterprise จะมีผลถาวร
- เก็บบันทึกว่าโทเค็นใดเป็นของบริการใด เพื่อให้การหมุนเวียนครั้งต่อไปเป็นการค้นหา ไม่ใช่การตามหา
สำหรับหลักการที่กว้างขึ้น โปรดดู วิธีรักษาความปลอดภัยข้อมูลประจำตัว API ของ AI agent และ วิธีที่ปลอดภัยในการจัดเก็บ API key ทั่วทั้งทีม
เก็บโทเค็นใหม่ให้ห่างจากการรับส่งข้อมูลทดสอบของคุณ
วิธีทั่วไปที่โทเค็นรั่วไหลคือผ่านการทดสอบและการดีบัก: ถูกวางลงในการร้องขอ, บันทึกในคอลเลกชัน, ถูกคอมมิทโดยไม่ได้ตั้งใจ การเก็บค่าการรับรองความถูกต้องในตัวแปรสภาพแวดล้อมแทนที่จะเป็นแบบอินไลน์ในการร้องขอจะช่วยลดความเสี่ยงนั้นได้
หากคุณเรียกใช้ Hugging Face Inference API ในขณะที่สร้าง Apidog จะจัดเก็บโทเค็นเป็นตัวแปรสภาพแวดล้อมและส่งผ่านเป็นโทเค็นผู้ถือเมื่อร้องขอ เพื่อให้ความลับยังคงอยู่นอกการร้องขอที่บันทึกไว้และสามารถสลับได้ในที่เดียวหลังจากการหมุนเวียน นั่นยังทำให้ง่ายต่อการตรวจสอบว่าการหมุนเวียนทำงานหรือไม่: รันการเรียกหนึ่งครั้งด้วยโทเค็นใหม่และยืนยันว่าสำเร็จ จากนั้นยืนยันว่าโทเค็นเก่าตอนนี้ส่งคืน 401 หรือ 403 สำหรับวิธีการทำงานของโทเค็นผู้ถือ โปรดดู basic auth vs bearer token
ที่เกี่ยวข้อง: การวิเคราะห์การละเมิดของ OpenAI และ Hugging Face ฉบับเต็ม และ เอกสารประกอบ Access Token ของ Hugging Face
คำถามที่พบบ่อย
ฉันต้องหมุนเวียนโทเค็นหรือไม่หากฉันไม่ได้รับผลกระทบ? ใช่ Hugging Face แนะนำให้ผู้ใช้ทุกคนหมุนเวียนโทเค็น และหลังจากเกิดเหตุการณ์ คุณไม่สามารถยืนยันได้ว่าผู้โจมตีอ่านข้อมูลประจำตัวใด การหมุนเวียนโทเค็นมีค่าใช้จ่ายน้อย แต่การสมมติว่าคุณปลอดภัยนั้นไม่ใช่
ฉันจะรู้ได้อย่างไรว่าโทเค็นของฉันถูกผู้อื่นใช้หรือไม่? ตรวจสอบรายการ Access Tokens, การคอมมิทล่าสุด, การเปลี่ยนแปลงองค์กร, การเรียกเก็บเงิน และแอปที่เชื่อมต่อ Hugging Face ไม่ได้เปิดเผยบันทึกการตรวจสอบแบบเต็มสำหรับแต่ละโทเค็นในบัญชีส่วนบุคคล ดังนั้นให้ถือว่าโทเค็นใดก็ตามที่อยู่ในสภาพแวดล้อมที่เกิดเหตุการณ์เป็นสิ่งที่น่าสงสัยและหมุนเวียนโทเค็นนั้น
การหมุนเวียนโทเค็นจะทำให้สคริปต์ของฉันพังหรือไม่? เพียงจนกว่าคุณจะอัปเดตโทเค็น สคริปต์ โน้ตบุ๊ก และงาน CI ทุกอย่างที่ใช้โทเค็นเก่าจำเป็นต้องมีค่าใหม่ นี่คือเหตุผลที่แนะนำให้ใช้โทเค็นหนึ่งอันต่อแอป คุณจะเปลี่ยนทีละอันโดยไม่มีผลกระทบเป็นลูกโซ่
โทเค็นแบบอ่าน หรือ โทเค็นแบบ fine-grained? ใช้ read สำหรับงานดาวน์โหลดและ Inference ส่วนตัวที่เรียบง่าย ใช้ fine-grained สำหรับการผลิต, CI และสิ่งใดก็ตามที่ใช้ร่วมกัน เนื่องจากมันจำกัดการเข้าถึงทรัพยากรที่คุณระบุโดยเฉพาะ
โทเค็นใหม่ควรอยู่ที่ใด? ในตัวจัดการความลับหรือตัวแปรสภาพแวดล้อม ไม่ควรอยู่ในซอร์สโค้ด เซลล์โน้ตบุ๊ก หรือเอกสารที่ใช้ร่วมกัน เก็บไว้ครั้งเดียวและอ้างอิงถึงมันในทุกที่
