Τα αρχεία μοντέλων Hugging Face μπορούν να εκτελέσουν κρυφό κώδικα
Τα κακόβουλα πακέτα μοντέλων μπορούν να εκτελέσουν κώδικα κατά τη μη ασφαλή φόρτωση.
Τα κακόβουλα πακέτα μοντέλων μπορούν να εκτελέσουν κώδικα κατά τη μη ασφαλή φόρτωση. Τρία τεκμηριωμένα παραδείγματα εξηγούν Pickle reverse shells, συμπεριφορά σαρωτή ελαττωματικών αρχείων και έρευνα-αποδεδειγμένη σύγχυση ονόματος μοντέλου, με σαφή όρια στις αξιώσεις κλοπής διαπιστευτηρίων.
Διαβάστε την γραπτή έκδοση (Αγγλικά) ↗
Τι καλύπτει αυτό το βίντεο
- Οι αριθμητικές παράμετροι μοντέλου, η εκτελέσιμη σειριοποίηση και ο προσαρμοσμένος κώδικας αποθετηρίου είναι διαφορετικά πράγματα.
- Οι JFrog και ReversingLabs τεκμηρίωσαν ωφέλιμα φορτία reverse-shell. Οι επιλεγμένες αναφορές τους δεν αποδεικνύουν κλοπή διαπιστευτηρίων από ονομασμένα θύματα.
- Το Checkmarx Model Confusion ήταν μια επίδειξη έρευνας που απαιτούσε ένα αντίστοιχο απομακρυσμένο μοντέλο και μη ασφαλή φόρτωση.
- Προτιμήστε safetensors και ενημερωμένους φορτωτές, ελέγξτε και καρφιτσώστε προσαρμοσμένο κώδικα, και απομονώστε άγνωστα πακέτα από προσωπικά μυστικά και περιττή πρόσβαση στο δίκτυο.
Μεταφρασμένη μεταγραφή
Μεταφράστηκε από την πρωτότυπη αγγλική αφήγηση. Ο διαθέσιμος ήχος και οι υπότιτλοι ελέγχονται από το YouTube.
Πώς μπορεί μια λήψη μοντέλου να καλέσει έναν επισκέπτη;
0:00 Ένα αρχείο μοντέλου είναι απλώς αριθμοί στον δίσκο. Η φόρτωση ενός κακόβουλου πακέτου Hugging Face άνοιξε ένα reverse shell, που είναι μια φιλόδοξη ερμηνεία της τοπικής τεχνητής νοημοσύνης. Πώς η φόρτωση γίνεται εκτέλεση; Ποια μυστικά μπορεί να φτάσει; Τι το σταματάει στην πραγματικότητα; Και κρατήστε ένα παζλ στο μυαλό σας. Ένα μοντέλο μπορεί να αποτύχει να φορτωθεί αφού το επικίνδυνο μέρος έχει ήδη συμβεί.
0:18 Αυτό είναι το The Daily Diff, κάτω από την κουκούλα. Το Hugging Face είναι μια πλατφόρμα για την κοινή χρήση μοντέλων μηχανικής μάθησης, συνόλων δεδομένων και εφαρμογών. Οι παράμετροι μοντέλου είναι οι μαθημένοι αριθμοί. Ένα αποθετήριο μπορεί επίσης να περιέχει διαμόρφωση και κώδικα Python. Ο κίνδυνος εδώ είναι η εκτελέσιμη συσκευασία που εισέρχεται στον υπολογιστή σας όταν εσείς το φορτώνετε. Το Pickle αποθηκεύει αντικείμενα Python με οδηγίες για την ανακατασκευή τους.
Πώς ένας φορτωτής εκτελεί τις οδηγίες του πακέτου;
0:37 Ένας μη ασφαλής φορτωτής μπορεί να ακολουθήσει αυτές τις οδηγίες και να καλέσει συναρτήσεις ενώ αποσυμπιέζει. Η λήψη των bytes τοποθετεί το πακέτο στον δίσκο σας. Η αποσειριοποίηση το ανοίγει. Κάπου, μια μορφή αρχείου έχει προαχθεί σε απλήρωτο διαχειριστή συστήματος. Η JFrog ανέφερε το Goober Two τον Φεβρουάριο του 2024. Το ωφέλιμο φορτίο Pickle του άνοιξε ένα reverse shell, συνδέοντας προς τα έξω για να προσφέρει απομακρυσμένη πρόσβαση εντολών. Το αποθετήριο διαγράφηκε. Η JFrog βρήκε επίσης ενδείξεις που υποδηλώνουν εμπλοκή ερευνητή,
1:02 οπότε η απόδοση είναι αβέβαιη. Ο ανεπιθύμητος επισκέπτης τεκμηριώθηκε. Η κλοπή διαπιστευτηρίων από πραγματικά θύματα δεν τεκμηριώθηκε.
Ποια μυστικά βρίσκονται εντός της εμβέλειας της διαδικασίας;
1:09 Ο κώδικας που εκτελείται ως ο χρήστης σας μπορεί να διαβάσει οτιδήποτε μπορεί να διαβάσει αυτή η διεργασία. Ένα προσαρτημένο κλειδί cloud ή ένα προσβάσιμο διακριτικό γίνεται πιθανός στόχος. Η αποστολή του απαιτεί επίσης μια λειτουργική διαδρομή δικτύου. Οι αριθμητικές παράμετροι από μόνες τους δεν έχουν μαγικές δυνάμεις διαπιστευτηρίων. Οι άδειές σας παρέχουν το ενδιαφέρον μέρος της κάρτας μοντέλου. Υπάρχει μια άλλη πόρτα. Ορισμένα μοντέλα σας ζητούν να εμπιστευτείτε απομακρυσμένο κώδικα, ο οποίος εξουσιοδοτεί Python από το αποθετήριο. Τα αρχεία Safe tensor μπορούν να βρίσκονται δίπλα σε αυτόν τον κώδικα.
1:32 Ο έλεγχος της μορφής των παραμέτρων καλύπτει μια είσοδο, ενώ ο κώδικας του αποθετηρίου περιμένει ακόμα να του δώσετε ένα σήμα επισκέπτη.
Γιατί μια χαμένη τοπική διαδρομή μπορεί να γίνει απομακρυσμένο μοντέλο;
1:38 Το Checkmarx επέδειξε το Model Confusion. Μια χαμένη τοπική διαδρομή μοντέλου θα μπορούσε να αναλυθεί σε ένα δημόσιο αποθετήριο με αντίστοιχο όνομα. Συνδυάστε το με απομακρυσμένο κώδικα ενεργοποιημένο, και το λάθος πακέτο μπορεί να εκτελεστεί. Αυτή ήταν μια επίδειξη έρευνας που περιλάμβανε ένα δείγμα μιας ανώνυμης εταιρείας, που διορθώθηκε μέσα σε μια μέρα. Ένας χαμένος φάκελος απέκτησε ιδιοκτήτη. Η ReversingLabs ανέφερε δύο δείγματα τον Φεβρουάριο του 2025,
Πώς τα ελαττωματικά πακέτα απέφυγαν τον παλιό σαρωτή;
1:58 ονομάζοντας την τεχνική nullify AI. Και τα δύο περιείχαν reverse shells. Η συσκευασία τους σε seven zip μπλόκαρε την συνηθισμένη φόρτωση του PyTorch, οπότε αυτή η διαδρομή απαιτούσε εξαγωγή και μη ασφαλή αποσειριοποίηση. Οι ελαττωματικές ροές Pickle αποκάλυψαν επίσης ένα τυφλό σημείο του σαρωτή. Μια αποτυχημένη σάρωση αξίζει διερεύνησης πριν κάποιος ανοίξει το πακέτο. Στην ακίνδυνη δοκιμή των ερευνητών, οι οδηγίες έγραψαν ένα αρχείο πριν ο φορτωτής
2:18 φτάσει στο ελαττωματικό μέρος και δημιουργήσει ένα σφάλμα. Φανταστείτε να ανοίγετε ένα πακέτο, να απελευθερώνετε το ρακούν, και μετά να παρατηρείτε ότι η ετικέτα αποστολής είναι άκυρη. Το μήνυμα λάθους φτάνει με εξαιρετική γραμματική και φρικτό χρονισμό. Το Hugging Face αφαίρεσε τα αναφερόμενα δείγματα εντός 24 ωρών και άλλαξε τον σαρωτή. Αυτό το συγκεκριμένο εύρημα οδήγησε σε μια διόρθωση. Μια σάρωση ασφαλείας είναι χρήσιμη απόδειξη, και η αντιμετώπιση κάθε σφάλματος σαρωτή ως καθαρό πιστοποιητικό υγείας παραμένει μια εξαιρετικά γενναιόδωρη ερμηνεία της αποτυχίας.
2:43 Προτιμήστε safe tensors και τους τρέχοντες διορθωμένους φορτωτές.
Τι κρατά το κλειδί μακριά από την εμβέλεια του επισκέπτη;
2:46 Το PyTorch περιόρισε τον προεπιλεγμένο φορτωτή του ξεκινώντας από την έκδοση 2.6. Ελέγξτε τον προσαρμοσμένο κώδικα και καρφιτσώστε την ελεγμένη αναθεώρηση. Εκτελέστε άγνωστα πακέτα σε απομόνωση χωρίς προσωπικά κλειδιά, με περιορισμένη πρόσβαση στο δίκτυο. Ένα κοντέινερ γεμάτο προσαρτημένα διαπιστευτήρια είναι ένα καλάθι δώρων με χώρους ονομάτων. Αυτό το αρχικό παζλ έχει μια απάντηση. Η αποτυχία φόρτωσης σας λέει πού σταμάτησε η εκτέλεση. Προηγούμενες οδηγίες μπορεί να έχουν ήδη εκτελεστεί.
3:08 Κρατήστε τα μυστικά μακριά από την εμβέλειά του πριν ανοίξετε το πακέτο. Ετυμηγορία, κάτω από την κουκούλα.
Γιατί να το σφραγίσω αυτό ως NEEDS REVIEW;
3:16 φορτωτή. Η δωρεάν λήψη πρέπει να συνοδεύεται από ένα μοντέλο, και η λίστα καλεσμένων πρέπει να παραμένει δική μου απόφαση. Αν προτιμάτε να το διαβάσετε αυτό παρά να με ακούτε να το λέω, το diff φτάνει στα εισερχόμενά σας κάθε πρωί, δωρεάν στο the daily diff dot dev, σύνδεσμος παρακάτω. Και αυτή είναι η διαφορά για σήμερα. Είμαι ο Νίκος από την Axrisi. Συγχωνεύστε υπεύθυνα.
Πηγές
- 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



