Tệp mô hình Hugging Face có thể chạy mã ẩn
Các gói mô hình độc hại có thể thực thi mã trong quá trình tải không an toàn.
Các gói mô hình độc hại có thể thực thi mã trong quá trình tải không an toàn. Ba ví dụ được ghi lại giải thích Pickle reverse shell, hành vi của máy quét tệp bị hỏng và sự nhầm lẫn tên mô hình được chứng minh bằng nghiên cứu, với giới hạn rõ ràng về các tuyên bố đánh cắp thông tin đăng nhập.
Đọc phiên bản viết (tiếng Anh) ↗
Nội dung video này đề cập
- Trọng số mô hình số, tuần tự hóa có thể thực thi và mã kho lưu trữ tùy chỉnh là những thứ khác nhau.
- JFrog và ReversingLabs đã ghi lại các payload reverse shell; các báo cáo được chọn của họ không xác định việc đánh cắp thông tin đăng nhập từ các nạn nhân được nêu tên.
- Checkmarx Model Confusion là một thử nghiệm nghiên cứu yêu cầu một mô hình từ xa phù hợp và tải không an toàn.
- Ưu tiên safetensors và các trình tải đã được vá, xem xét và ghim mã tùy chỉnh, đồng thời cách ly các gói không quen thuộc khỏi các bí mật cá nhân và quyền truy cập mạng không cần thiết.
Bản ghi đã dịch
Được dịch từ lời tường thuật tiếng Anh gốc. Âm thanh và phụ đề có sẵn được điều khiển bởi YouTube.
Tải xuống mô hình có thể mời một khách không mong muốn như thế nào?
0:00 Một tệp mô hình chỉ là các con số trên đĩa. Tải một gói Hugging Face độc hại đã mở một shell từ xa, đó là một cách diễn giải đầy tham vọng về AI cục bộ. Làm thế nào việc tải trở thành thực thi? Nó có thể tiếp cận những bí mật nào? Điều gì thực sự ngăn chặn nó? Và hãy ghi nhớ một câu đố. Một mô hình có thể không tải được sau khi phần nguy hiểm đã xảy ra.
0:18 Đây là The Daily Diff, dưới vỏ bọc. Hugging Face là một nền tảng để chia sẻ các mô hình học máy, tập dữ liệu và ứng dụng. Trọng số mô hình là những con số đã học được. Một kho lưu trữ cũng có thể chứa cấu hình và mã Python. Nguy hiểm ở đây là đóng gói có thể thực thi vượt qua vào máy tính của bạn khi bạn tải nó. Pickle lưu trữ các đối tượng Python với các hướng dẫn để xây dựng lại chúng.
Trình tải chạy các hướng dẫn của gói như thế nào?
0:37 Một trình tải không an toàn có thể làm theo các hướng dẫn đó và gọi các hàm trong khi giải nén. Tải xuống các byte đặt gói hàng vào đĩa của bạn. Giải tuần tự hóa mở nó. Ở đâu đó, một định dạng tệp đã được thăng cấp thành quản trị viên hệ thống không được trả lương. JFrog đã báo cáo Goober Two vào tháng 2 năm 2024. Payload Pickle của nó đã mở một reverse shell, kết nối ra ngoài để cung cấp quyền truy cập lệnh từ xa. Kho lưu trữ đã bị xóa. JFrog cũng tìm thấy manh mối cho thấy sự tham gia của nhà nghiên cứu,
1:02 vì vậy việc gán quyền sở hữu là không chắc chắn. Vị khách không mong muốn đã được ghi lại. Việc đánh cắp thông tin đăng nhập từ các nạn nhân thực tế đã không được xác định.
Những bí mật nào nằm trong tầm với của tiến trình?
1:09 Mã chạy như người dùng của bạn có thể đọc bất cứ thứ gì mà tiến trình đó có thể đọc. Khóa đám mây được gắn hoặc mã thông báo có thể truy cập trở thành mục tiêu có thể. Gửi nó ra ngoài cũng cần một tuyến mạng hoạt động. Chỉ trọng số số không có quyền năng thông tin đăng nhập kỳ diệu. Các quyền của bạn cung cấp phần thú vị của thẻ mô hình. Có một cánh cửa khác. Một số mô hình yêu cầu bạn tin tưởng mã từ xa, ủy quyền Python từ kho lưu trữ. Các tệp safetensor có thể nằm cạnh mã đó.
1:32 Kiểm tra định dạng trọng số bao phủ một lối vào, trong khi mã của kho lưu trữ vẫn đang chờ bạn cấp cho nó một huy hiệu khách truy cập.
Tại sao một đường dẫn cục bộ bị thiếu có thể trở thành một mô hình từ xa?
1:38 Checkmarx đã chứng minh Model Confusion. Một đường dẫn mô hình cục bộ bị thiếu có thể giải quyết thành một kho lưu trữ công khai có tên phù hợp. Kết hợp điều đó với mã từ xa được bật và gói sai có thể thực thi. Đây là một thử nghiệm nghiên cứu liên quan đến một mẫu của công ty không được đặt tên, đã được sửa trong vòng một ngày. Một thư mục bị thiếu đã có một chủ nhà. ReversingLabs đã báo cáo hai mẫu vào tháng 2 năm 2025,
Tại sao các gói bị hỏng lại thoát khỏi máy quét cũ?
1:58 gọi kỹ thuật này là nullify AI. Cả hai đều chứa reverse shell. Việc đóng gói bảy zip của chúng đã chặn việc tải PyTorch thông thường, vì vậy đường dẫn này yêu cầu giải nén và giải tuần tự hóa không an toàn. Các luồng Pickle bị hỏng cũng bộc lộ một điểm mù của máy quét. Một lần quét thất bại cần được điều tra trước khi bất kỳ ai mở gói hàng. Trong thử nghiệm vô hại của các nhà nghiên cứu, các hướng dẫn đã ghi một tệp trước khi trình tải
2:18 đến phần bị hỏng và đưa ra lỗi. Hãy tưởng tượng bạn mở một gói hàng, thả con gấu trúc ra, sau đó nhận thấy nhãn vận chuyển không hợp lệ. Thông báo lỗi đến với ngữ pháp tuyệt vời và thời gian khủng khiếp. Hugging Face đã xóa các mẫu được báo cáo trong vòng 24 giờ và thay đổi máy quét. Phát hiện cụ thể đó đã thúc đẩy một bản sửa lỗi. Một lần quét bảo mật là bằng chứng hữu ích, và việc coi mọi lỗi máy quét là một giấy chứng nhận sức khỏe hoàn hảo vẫn là một cách giải thích thất bại vô cùng rộng lượng.
2:43 Ưu tiên safetensors và các trình tải đã được vá hiện tại.
Điều gì giữ chìa khóa nằm ngoài tầm với của khách?
2:46 PyTorch đã thu hẹp trình tải mặc định của nó bắt đầu từ phiên bản 2.6. Xem xét mã tùy chỉnh và ghim bản sửa đổi đã được xem xét. Chạy các gói không quen thuộc trong môi trường cách ly mà không có khóa cá nhân, với quyền truy cập mạng bị hạn chế. Một container đầy đủ thông tin đăng nhập được gắn là một giỏ quà với các không gian tên. Câu đố mở đầu đó có câu trả lời. Lỗi tải cho bạn biết quá trình thực thi đã dừng ở đâu. Các hướng dẫn trước đó có thể đã chạy.
3:08 Giữ các bí mật nằm ngoài tầm với của nó trước khi mở gói hàng. Phán quyết, dưới vỏ bọc.
Tại sao tôi lại đóng dấu NEEDS REVIEW này?
3:16 trình tải. Tải xuống miễn phí nên đi kèm với một mô hình, và danh sách khách mời nên vẫn là quyết định của tôi. Nếu bạn muốn đọc điều này hơn là nghe tôi nói, bản diff sẽ đến hộp thư đến của bạn mỗi sáng, miễn phí tại the daily diff dot dev, liên kết bên dưới. Và đó là bản diff cho ngày hôm nay. Tôi là Niko từ Axrisi. Sáp nhập một cách có trách nhiệm.
Nguồn
- Data Scientists Targeted by Malicious Hugging Face ML Models with Silent BackdoorJFrog
- Malicious ML models discovered on Hugging Face platformReversingLabs
- AI Model Confusion: An LLM/AI Model Supply Chain AttackCheckmarx Zero
- Pickle ScanningHugging Face
- SafetensorsHugging Face
- Loading custom modelsHugging Face
- Serialization semanticsPyTorch



