Hugging Face, das weltweit größte Open-Source-Modell-Repository (über 4 Millionen Entwickler), wird zum Angriffsziel für KI-Angriffe auf die Lieferkette. Der Vorfall offenbart den inhärenten Widerspruch zwischen Kooperationsplattformen und Sicherheit.
Technische Details des Angriffs:
Missbrauch von Pickle-Dateien: Das Pickle-Modul der Python-Standardbibliothek wird für die Serialisierung von ML-Modellen verwendet, aber seine Deserialisierung führt von Natur aus willkürlichen Python-Code aus. pyTorch verlässt sich standardmäßig auf Pickle, was es zu einem perfekten Vehikel für das Verstecken von bösartigem Code macht.
Picklescan-Umgehung: Hugging Face verwendet das Picklescan-Tool, um gefährliche Funktionen (z. B. os.system, subprocess usw.) auf der Grundlage eines Blacklisting-Mechanismus zu erkennen. Der Angreifer umgeht das System über zwei Ebenen:
Änderung des Komprimierungsformats: PyTorch-Standard-ZIP-Komprimierung auf 7z-Format geändert, Picklescan kann es nicht dekomprimieren
Exploit zum Aufbrechen von Dateien: Durch das Einfügen beschädigter Bytes am Ende des Pickle-Streams kann Picklescan diese nicht validieren und gibt sie dann direkt frei; der Python-Interpreter führt sie jedoch nacheinander aus, und der bösartige Code wurde ausgelöst, bevor die Datei aufgebrochen wurde
Verstecktes Laden: Der bösartige Code befindet sich am Anfang des serialisierten Datenstroms, und die Datei wird unmittelbar nach der Ausführung unterbrochen, um Erkennungstools zu verwirren.
Ein Beispiel aus der realen Welt:
模型库”glockr1/ballr7″、”who-r-u0000/0000000000000000000000000000000000000″含反向Shell
Implantierte IP-Adresse: 107.173.7.141 (C2-Server)
Umfang der Auswirkungen: Es ist nicht bekannt, wie viele Entwickler diese Modelle zur Integration in den Produktionscode heruntergeladen haben.
Defensivschichten:
Plattformebene: Hugging Face hat Picklescan aktualisiert, um 7z-Dekomprimierung und die Erkennung von defekten Dateien zu unterstützen; SafeTensors wurde als Alternative zu Pickle beworben.
Entwicklerebene: Unbekannte Modelle deaktivieren, Überprüfung der Modellsignatur aktivieren, Modellladeprozess isolieren, Pickle-Dateien in der Abhängigkeitskette scannen
Erkennungsebene: Implementierung einer Laufzeit-Sandbox zur Überwachung der Netzwerkkonnektivität und des Prozess-Erzeugungsverhaltens beim Laden des Modells
Das Fazit: Der Preis für die Demokratisierung der KI ist die Anhäufung von Sicherheitsschulden. Jede "Pickle"-Datei ist ein potenzielles "trojanisches Pferd", und die Abwehrmechanismen der schwarzen Listen brechen zusammen.