Des modèles d'IA malveillants exécutant du code ont été identifiés dans le référentiel Hugging Face

Des chercheurs de JFrog ont identifié des modèles d'apprentissage automatique malveillants dans le dépôt Hugging Face. L'installation de ces modèles peut entraîner l'exécution de code malveillant pour prendre le contrôle du système de l'utilisateur. Le problème survient car certains formats de distribution de modèles permettent l'intégration de code exécutable. Par exemple, les modèles utilisant le format « pickle » peuvent inclure des objets Python sérialisés et du code exécuté lors du téléchargement de fichiers, tandis que les modèles Tensorflow Keras peuvent exécuter du code via la couche Lambda.

Pour empêcher la propagation de tels modèles malveillants, Hugging Face utilise l'analyse par insertion de code sérialisé, mais les modèles malveillants détectés démontrent que ces vérifications peuvent être contournées. De plus, dans la plupart des cas, Hugging Face se contente de signaler les modèles comme dangereux sans en bloquer l'accès. Au total, une centaine de modèles potentiellement malveillants ont été détectés, dont 95 % étaient conçus pour être utilisés avec le framework PyTorch et 5 % avec Tensorflow. Les modifications malveillantes les plus courantes étaient le détournement d'objets, le reverse shelling, le lancement d'applications et l'écriture de fichiers.


Des modèles d'IA malveillants exécutant du code ont été identifiés dans le référentiel Hugging Face

Il est à noter que, d'après leurs actions, la plupart des modèles malveillants identifiés ont été créés par des chercheurs en sécurité cherchant à obtenir une prime pour la découverte de vulnérabilités et de méthodes permettant de contourner la protection de Hugging Face (par exemple, au lieu de lancer une véritable attaque, ces modèles tentent de lancer une calculatrice ou d'envoyer une requête réseau contenant des informations sur le succès de l'attaque). Il existe également des cas où un shell inversé est lancé pour connecter l'attaquant au système.

Par exemple, les modèles « baller423/goober2 » et « star23/baller13 » sont conçus pour attaquer les systèmes qui chargent le fichier modèle dans PyTorch à l'aide de la fonction torch.load(). La méthode « __reduce__ » du module pickle est utilisée pour orchestrer l'exécution du code, permettant ainsi l'insertion de code Python arbitraire dans le processus de désérialisation qui se produit lors du chargement du modèle.

Source: opennet.ru

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster