+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

ไฟล์โมเดล Hugging Face สามารถรันโค้ดที่ซ่อนอยู่ได้

แพ็คเกจโมเดลที่เป็นอันตรายสามารถรันโค้ดได้ในระหว่างการโหลดที่ไม่ปลอดภัย มีตัวอย่างที่จัดทำเป็นเอกสารสามตัวอย่างที่อธิบาย Pickle reverse shells, พฤติกรรมของเครื่องสแกนไฟล์ที่เสียหาย และความสับสนของชื่อโมเดลที่แสดงโดยงานวิจัย โดยมีข้อจำกัดที่ชัดเจนเกี่ยวกับการอ้างสิทธิ์การขโมยข้อมูลประจำตัว

แพ็คเกจโมเดลที่เป็นอันตรายสามารถรันโค้ดได้ในระหว่างการโหลดที่ไม่ปลอดภัย มีตัวอย่างที่จัดทำเป็นเอกสารสามตัวอย่างที่อธิบาย Pickle reverse shells, พฤติกรรมของเครื่องสแกนไฟล์ที่เสียหาย และความสับสนของชื่อโมเดลที่แสดงโดยงานวิจัย โดยมีข้อจำกัดที่ชัดเจนเกี่ยวกับการอ้างสิทธิ์การขโมยข้อมูลประจำตัว

อ่านฉบับลายลักษณ์อักษร (ภาษาอังกฤษ) ↗

วิดีโอนี้ครอบคลุมอะไรบ้าง

  • น้ำหนักโมเดลเชิงตัวเลข การทำให้เป็นอนุกรมที่เรียกใช้งานได้ และโค้ดรีโพซิโทรีที่กำหนดเองเป็นสิ่งที่แตกต่างกัน
  • JFrog และ ReversingLabs ได้บันทึกเพย์โหลด reverse-shell ไว้ รายงานที่เลือกของพวกเขาไม่ได้ยืนยันการขโมยข้อมูลประจำตัวจากเหยื่อที่มีชื่อ
  • Checkmarx Model Confusion เป็นการสาธิตงานวิจัยที่ต้องใช้โมเดลระยะไกลที่ตรงกันและการโหลดที่ไม่ปลอดภัย
  • ควรเลือกใช้ safetensors และตัวโหลดที่ได้รับการแก้ไข ตรวจสอบและตรึงโค้ดที่กำหนดเอง และแยกแพ็คเกจที่ไม่คุ้นเคยออกจากความลับส่วนตัวและการเข้าถึงเครือข่ายที่ไม่จำเป็น

บทถอดเสียงที่แปลแล้ว

แปลจากการบรรยายภาษาอังกฤษต้นฉบับ เสียงและคำบรรยายที่มีให้จะควบคุมโดย YouTube

การดาวน์โหลดโมเดลสามารถเชิญแขกได้อย่างไร?

0:00 ไฟล์โมเดลเป็นเพียงตัวเลขบนดิสก์ การโหลดแพ็คเกจ Hugging Face ที่เป็นอันตรายหนึ่งรายการได้เปิดเชลล์ระยะไกล ซึ่งเป็นการตีความที่ทะเยอทะยานของ AI ภายในเครื่อง การโหลดกลายเป็นการดำเนินการได้อย่างไร? มันสามารถเข้าถึงความลับใดได้บ้าง? อะไรที่หยุดมันได้จริง? และจำปริศนาหนึ่งไว้ โมเดลอาจโหลดไม่สำเร็จหลังจากส่วนที่อันตรายเกิดขึ้นแล้ว

0:18 นี่คือ The Daily Diff, ภายใต้ส่วนประกอบภายใน Hugging Face เป็นแพลตฟอร์มสำหรับการแบ่งปันโมเดลการเรียนรู้ของเครื่อง ชุดข้อมูลและแอปพลิเคชัน น้ำหนักโมเดลคือตัวเลขที่เรียนรู้ได้ รีโพซิโทรีสามารถมีคอนฟิกูเรชันและโค้ด Python ได้ด้วย อันตรายในที่นี้คือการบรรจุที่เรียกใช้งานได้ข้ามเข้ามาในคอมพิวเตอร์ของคุณเมื่อคุณ โหลดมัน Pickle จัดเก็บออบเจกต์ Python พร้อมคำแนะนำสำหรับการสร้างใหม่

ตัวโหลดรันคำแนะนำของพัสดุได้อย่างไร?

0:37 ตัวโหลดที่ไม่ปลอดภัยสามารถทำตามคำแนะนำเหล่านั้นและเรียกใช้ฟังก์ชันในขณะที่ กำลังแกะกล่อง การดาวน์โหลดไบต์จะนำพัสดุไปไว้บนดิสก์ของคุณ การดีซีเรียลไลซ์จะเปิดมัน ที่ใดที่หนึ่ง รูปแบบไฟล์ได้รับการเลื่อนตำแหน่งเป็นผู้ดูแลระบบที่ไม่ได้จ่ายเงิน JFrog รายงาน Goober Two ในเดือนกุมภาพันธ์ พ.ศ. 2567 เพย์โหลด Pickle ของมันได้เปิด reverse shell โดยเชื่อมต่อออกไปเพื่อเสนอการเข้าถึงคำสั่งระยะไ afstand รีโพซิโทรีถูกลบ JFrog ยังพบเบาะแสที่บ่งชี้ถึงการมีส่วนร่วมของนักวิจัย

1:02 ดังนั้นการระบุแหล่งที่มาจึงไม่แน่นอน มีการบันทึกแขกที่ไม่พึงประสงค์ไว้ การขโมยข้อมูลประจำตัวจากเหยื่อจริงไม่ได้รับการยืนยัน

ความลับใดที่อยู่ในขอบเขตการเข้าถึงของกระบวนการ?

1:09 โค้ดที่รันในฐานะผู้ใช้ของคุณสามารถอ่านสิ่งใดก็ตามที่กระบวนการนั้นสามารถอ่านได้ คลาวด์คีย์ที่ติดตั้งหรือโทเค็นที่เข้าถึงได้กลายเป็นเป้าหมายที่เป็นไปได้ การส่งออกยังต้องการเส้นทางเครือข่ายที่ใช้งานได้ น้ำหนักเชิงตัวเลขเพียงอย่างเดียวไม่มีพลังวิเศษในการเข้าถึงข้อมูลประจำตัว สิทธิ์ของคุณเป็นส่วนที่น่าสนใจของบัตรโมเดล มีอีกประตูหนึ่ง โมเดลบางตัวขอให้คุณเชื่อถือโค้ดระยะไกล ซึ่งอนุญาตให้ Python จาก รีโพซิโทรี ไฟล์ safe tensor สามารถอยู่ข้างโค้ดนั้นได้

1:32 การตรวจสอบรูปแบบน้ำหนักครอบคลุมทางเข้าหนึ่งทาง ในขณะที่โค้ดของรีโพซิโทรียังคง รอให้คุณมอบป้ายผู้เยี่ยมชมให้

ทำไมเส้นทางท้องถิ่นที่หายไปจึงกลายเป็นโมเดลระยะไกลได้?

1:38 Checkmarx ได้สาธิต Model Confusion เส้นทางโมเดลท้องถิ่นที่หายไปสามารถแก้ไขไปยังรีโพซิโทรีสาธารณะที่มี ชื่อที่ตรงกันได้ รวมสิ่งนั้นเข้ากับโค้ดระยะไกล ที่เปิดใช้งาน และแพ็คเกจที่ไม่ถูกต้องสามารถทำงานได้ นี่เป็นการสาธิตงานวิจัยที่เกี่ยวข้องกับตัวอย่างของบริษัทที่ไม่ระบุชื่อ ซึ่งได้รับการแก้ไขภายในหนึ่งวัน โฟลเดอร์ที่หายไปได้ผู้ดูแล ReversingLabs รายงานสองตัวอย่างในเดือนกุมภาพันธ์ พ.ศ. 2568

แพ็คเกจที่เสียหายหลีกเลี่ยงเครื่องสแกนเก่าได้อย่างไร?

1:58 เรียกเทคนิคนี้ว่า nullify AI ทั้งสองมี reverse shells การบรรจุ 7zip ของพวกเขาบล็อกการโหลด PyTorch ทั่วไป ดังนั้นเส้นทางนี้จึงต้องมีการแตกไฟล์และการดีซีเรียลไลซ์ที่ไม่ปลอดภัย สตรีม Pickle ที่เสียหายยังเปิดเผยจุดบอดของเครื่องสแกน การสแกนที่ล้มเหลวสมควรได้รับการตรวจสอบก่อนที่จะมีใครเปิดพัสดุ ในการทดสอบที่ไม่เป็นอันตรายของนักวิจัย คำแนะนำ ได้เขียนไฟล์ก่อนที่ตัวโหลดจะ

2:18 ไปถึงส่วนที่เสียหายและเกิดข้อผิดพลาด ลองนึกภาพการเปิดพัสดุ ปล่อยแรคคูนออกไป แล้วสังเกตเห็นว่าป้ายกำกับสินค้า ไม่ถูกต้อง ข้อความแสดงข้อผิดพลาดมาพร้อมกับไวยากรณ์ที่ยอดเยี่ยมและช่วงเวลาที่แย่มาก Hugging Face ได้ลบตัวอย่างที่รายงานภายใน 24 ชั่วโมงและเปลี่ยน เครื่องสแกน การค้นพบเฉพาะนั้นกระตุ้นให้เกิดการแก้ไข การสแกนความปลอดภัยเป็นหลักฐานที่มีประโยชน์ และการถือว่าข้อผิดพลาดของเครื่องสแกนทุกครั้งเป็นการ รับรองว่าปลอดภัย ยังคงเป็นการตีความความล้มเหลวที่ใจกว้างอย่างน่าทึ่ง

2:43 ควรใช้ safe tensors และตัวโหลดที่ได้รับการแก้ไขล่าสุด

อะไรที่ทำให้กุญแจอยู่พ้นการเข้าถึงของแขก?

2:46 PyTorch ได้จำกัดตัวโหลดเริ่มต้นของมันตั้งแต่เวอร์ชัน 2.6 เป็นต้นไป ตรวจสอบโค้ดที่กำหนดเองและตรึงการแก้ไขที่ตรวจสอบแล้ว รันแพ็คเกจที่ไม่คุ้นเคยในสภาพแวดล้อมที่แยกต่างหากโดยไม่มีคีย์ส่วนตัว พร้อมการเข้าถึงเครือข่ายที่จำกัด คอนเทนเนอร์ที่เต็มไปด้วยข้อมูลประจำตัวที่ติดตั้งไว้เป็นตะกร้าของขวัญที่มีเนมสเปซ ปริศนาแรกนั้นมีคำตอบ ความล้มเหลวในการโหลดจะบอกคุณว่าการดำเนินการหยุดที่ใด คำแนะนำก่อนหน้านี้อาจทำงานไปแล้ว

3:08 เก็บความลับให้พ้นการเข้าถึงก่อนที่จะเปิดพัสดุ คำตัดสิน ภายใต้ส่วนประกอบภายใน

ทำไมฉันถึงจะประทับตราว่า NEEDS REVIEW?

3:16 ตัวโหลด การดาวน์โหลดฟรีควรมาพร้อมกับโมเดล และรายชื่อแขกควร ยังคงเป็นการตัดสินใจของฉัน หากคุณต้องการอ่านมากกว่าที่จะฟังฉันพูด ความแตกต่างจะอยู่ในกล่องจดหมายของคุณ ทุกเช้า ฟรีที่ the daily diff dot dev ลิงก์ด้านล่าง และนั่นคือความแตกต่างสำหรับวันนี้ ฉันนิโกะจาก Axrisi รวมอย่างรับผิดชอบ

แหล่งที่มา

  1. Data Scientists Targeted by Malicious Hugging Face ML Models with Silent BackdoorJFrog
  2. Malicious ML models discovered on Hugging Face platformReversingLabs
  3. AI Model Confusion: An LLM/AI Model Supply Chain AttackCheckmarx Zero
  4. Pickle ScanningHugging Face
  5. SafetensorsHugging Face
  6. Loading custom modelsHugging Face
  7. Serialization semanticsPyTorch

วิดีโอที่เกี่ยวข้อง

under-the-hood · th · 23 ก.ย. 2569

เมื่อโมเดลตาย ภายใต้กลไกการทำงาน

โมเดล AI ไม่ได้ตาย — มันได้รับวันปิดตัว และเช้าวันรุ่งขึ้น การเรียก API ของคุณจะส่งคืน 404: "โมเดลนี้เลิกใช้งานแล้ว เรียนรู้เพิ่มเติมที่นี่" ภายใต้กลไกการทำงาน: กระบวนการสี่สถานะ (active → legacy → de

3:15 ↗
under-the-hood · th · 19 ก.ย. 2569

Passkeys, ภายใต้การทำงาน

พาสคีย์คือรหัสผ่านที่อุปกรณ์ของคุณสร้างขึ้น ไม่เคยแสดงให้คุณเห็น และปฏิเสธที่จะส่งให้ใคร รวมถึงคุณด้วย ภายใต้การทำงาน: พิธี WebAuthn (คู่คีย์ต่อไซต์, การท้าทาย, ลายเซ็น), ฟิลด์เดียวที่เบราว์เซอร์เขียน

3:12 ↗
under-the-hood · th · 11 ต.ค. 2569

Stripe จดจำคำขอของคุณเมื่อการตอบกลับหายไป

การหมดเวลาอาจทำให้การชำระเงินไม่แน่นอนหลังจากที่เซิร์ฟเวอร์ดำเนินการเสร็จสิ้น คำอธิบาย Under the Hood นี้ใช้สัญญา idempotency ที่บันทึกไว้ของ Stripe API v1 เพื่อแสดงคีย์การทำงานที่เสถียร การเล่นซ้ำการ

2:54 ↗
under-the-hood · th · 10 ต.ค. 2569

Shopify ย้ายการจองสินค้าคงคลังไปที่ MySQL

Shopify ย้ายระบบการจองสินค้าคงคลังจาก Redis ไปยังฐานข้อมูล MySQL ซึ่งเป็นที่จัดเก็บข้อมูลบัญชีสินค้าคงคลังอยู่แล้ว กลุ่มแถวของหน่วยที่สามารถล็อกได้ทีละรายการในขอบเขตที่กำหนดช่วยให้การชำระเงินที่เกิดขึ

2:58 ↗