Invio di registri, avvisi e dati di telemetria tramite un diodo di dati

Scopri come
Per le traduzioni dei siti utilizziamo l'intelligenza artificiale e, sebbene ci sforziamo di essere accurati, non sempre le traduzioni sono precise al 100%. La vostra comprensione è apprezzata.

Rischi per la sicurezza dei modelli LLM derivanti dai file “pickle” e dai payload impilati

I modelli di IA pre-addestrati scaricati da hub pubblici sono codice eseguibile che MetaDefender viene verificato dalla pipeline a cinque livelli di Aether™ prima che superino il confine di fiducia.
Di Triet Tran Minh, analista per il rilevamento delle minacce
Condividi questo post

La sicurezza dei modelli LLM (Large Language Model) consiste nel verificare la presenza di codice dannoso incorporato nei file dei modelli di IA pre-addestrati prima che questi vengano caricati in un ambiente. I file dei modelli in formati quali pickle, PyTorch, TensorFlow e Keras possono eseguire codice nel momento stesso in cui vengono caricati, rappresentando così un rischio per la catena di approvvigionamento equivalente all'esecuzione di software non verificato.

In breve / Punti chiave

  • I modelli pre-addestrati scaricati da Hugging Face, Kaggle o PyPI sono codice eseguibile, non dati inerti
  • I formati basati su Pickle (.pt, .pth, .bin, .pkl) eseguono funzioni arbitrarie tramite l'istruzione REDUCE durante il caricamento; si tratta dello stesso difetto strutturale presente nei grafi di TensorFlow e nei livelli Lambda di Keras
  • Safetensors elimina completamente il motore di esecuzione, ma centinaia di migliaia di modelli in formato legacy rimangono in circolazione, e il fatto che un file in un repository sia sicuro non garantisce che il resto del repository lo sia
  • MetaDefender Aether™ esamina i file dei modelli attraverso cinque livelli di analisi, individuando minacce quali i payload “stacked pickle” che risultano inoffensivi agli scanner tradizionali

I modelli di IA pre-addestrati sono codice eseguibile che supera un confine di fiducia

La creazione di un modello linguistico di grandi dimensioni partendo da zero richiede dati, risorse di calcolo e tempo di cui la maggior parte delle organizzazioni non dispone. I team preferiscono quindi scaricare modelli pre-addestrati da piattaforme pubbliche come Hugging Face, Kaggle e PyPI. Questa dipendenza ha creato un vettore di attacco alla catena di approvvigionamento che molti programmi di sicurezza continuano a trascurare.

Le organizzazioni verificano già le librerie open source e le immagini dei container che integrano nei propri ambienti. Poche, però, estendono lo stesso livello di controllo ai modelli di IA che i propri team scaricano, anche se un file di modello non è semplicemente un foglio di calcolo pieno di numeri. A seconda del formato, un file di modello può essere un programma che si avvia non appena viene caricato.

Hugging Face da solo ospita ben oltre un milione di modelli, la maggior parte dei quali non è mai stata sottoposta a una verifica di sicurezza. Secondo il rapporto “Software ” di JFrog Supply Chain “State of the Union 2026”, il 53% delle organizzazioni ora preleva i modelli direttamente dai registri pubblici, e i ricercatori hanno individuato in tali registri circa 495 modelli dannosi in grado di rubare credenziali, eseguire codice e compromettere completamente il sistema. Un modello LLM è un software eseguibile che supera un confine di fiducia.

Come le minacce basate su modelli si sono evolute dalla teoria all'evasione

La minaccia si è sviluppata in diverse fasi: avvisi accademici, prove di fattibilità, abusi nella catena di approvvigionamento nel mondo reale e tecniche di elusione volte a eludere i sistemi di scansione.

L'evoluzione delle minacce legate ai modelli, 2018–2026

Fase

Periodo di riferimento

Cosa è cambiato

Esempi rappresentativi

Teoria

2018

Gli esperti del mondo accademico avvertono che i modelli riutilizzati e pre-addestrati provenienti da fonti non affidabili possono essere manipolati

Attacchi basati sul riutilizzo di modelli nei sistemi di deep learning

Prova di fattibilità

2023–2024

Emergono modelli realmente dannosi; è stato dimostrato che i formati basati su pickle trasportano payload attivi

star23/baller13, un modello che utilizza una struttura "reverse shell", è apparso su Hugging Face

In natura

2024–2025

Il volume aumenta, grazie alle consegne della catena di approvvigionamento tramite i registri dei pacchi

I pacchetti PyPI a marchio Alibaba segnano l'inizio degli attacchi alla catena di approvvigionamento degli LLM

Evasione avanzata

2024–2025

Carichi disposti a strati e sovrapposti, progettati per eludere le ispezioni rapide

Un proof of concept di tipo "stacked pickle" ha ottenuto un punteggio di 0/70 su VirusTotal

Un formato più sicuro

2023–2026

Viene introdotto un formato esclusivamente per i dati, che non può contenere codice, ma i modelli tradizionali continuano ad essere ampiamente utilizzati

Safetensors diventa l'impostazione predefinita per i nuovi modelli in uscita

I file Pickle e PyTorch eseguono il codice nel momento stesso in cui vengono caricati

Pickle è il formato di serializzazione nativo di Python ed è stato per anni il metodo standard per salvare i modelli su disco. PyTorch ha sviluppato i propri file .pt, .pth e .bin proprio su questa base, e molti modelli sono stati pubblicati in questi formati. Oggi esistono opzioni più sicure, ma sono state eliminate come "linguaggio aziendale astratto". Gran parte dei modelli ancora in circolazione sugli hub pubblici rimane basata su Pickle, e i team li caricano ogni giorno.

Il formato Pickle è ampiamente utilizzato per l'archiviazione dei modelli LLM

Pickle non memorizza solo dati. Si tratta di un flusso di istruzioni che una macchina virtuale esegue durante il caricamento del file e la ricostruzione degli oggetti Python. Il flusso può richiamare funzioni arbitrarie, quindi il caricamento di un modello basato su Pickle può comportare anche l'esecuzione di codice.

Gli autori degli attacchi sfruttano l'istruzione REDUCE di pickle, che indica al caricatore di chiamare una funzione specificata con argomenti scelti dall'autore dell'attacco durante il processo di unpickling. Ciò consente di avviare una shell inversa, rilasciare un payload di seconda fase o sovrascrivere una chiave SSH, mentre il modello continua a caricarsi e a comportarsi come un file legittimo.

TensorFlow e Keras presentano rischi simili. I grafici TensorFlow dannosi possono introdurre di nascosto operatori di scrittura su file o di rete nel grafico di calcolo, mentre i livelli Lambda di Keras possono contenere bytecode Python marshalato che viene deserializzato al momento del caricamento. Ciascun formato consente a un file di contenere codice eseguibile. Si tratta di un rischio strutturale, pertanto la correzione di un singolo bug non è sufficiente a eliminarlo. Tale limitazione ha costretto il settore a trovare un formato più sicuro.

Una shell inversa incorporata in un file modello basato su pickle

Alcuni episodi realmente accaduti hanno trasformato la teoria in una minaccia di tipo “ Supply Chain ”

I primi avvertimenti sugli attacchi basati sul riutilizzo dei modelli sono comparsi nel 2018. Successivamente, i ricercatori hanno dimostrato che il rischio era reale. Nel gennaio 2024, su Hugging Face è apparso un modello denominato star23/baller13 che conteneva una reverse shell all’interno di un file PyTorch. Il modello era in grado di fornire accesso remoto pur apparendo come un modello valido.

Avviso di Star23/baller13 su Hugging Face. Fonte: https://huggingface.co/star23/baller13
Pacchetto PyPi dannoso
Pacchetto PyPi dannoso

A maggio 2025, la minaccia si è spostata nel classico ambito della catena di approvvigionamento. Gli autori degli attacchi hanno pubblicato su PyPI pacchetti denominati aliyun-ai-labs-snippets-sdk, ai-labs-snippets-sdk e aliyun-ai-labs-sdk che si spacciavano per un toolkit di intelligenza artificiale di Alibaba e, durante l’utilizzo, caricavano silenziosamente un modello dannoso. I pacchetti sono rimasti disponibili per meno di 24 ore, ma sono stati scaricati circa 1.600 volte; ciò dimostra che un breve lasso di tempo è più che sufficiente quando il download avviene tramite la risoluzione automatica delle dipendenze.

Master in attacchi alla catena di approvvigionamento

I payload "stacked pickle" mettono fuori gioco gli scanner tradizionali

Nel 2024, gli hacker hanno iniziato a prendere di mira gli scanner progettati per individuare modelli dannosi. L’esempio più lampante è la tecnica “Stacked Pickle”, che annida più oggetti pickle e distribuisce istruzioni dannose tra i vari livelli, per poi racchiuderle in un processo di compressione e codifica.

Se esaminato singolarmente, ogni strato sembra innocuo, quindi gli scanner e le analisi manuali che si limitano a un controllo superficiale non rilevano nulla. Quando il modello viene caricato, gli strati si decomprimono in sequenza e ricompongono il payload. Un campione di prova realizzato con questa tecnica non ha registrato alcun rilevamento su nessuno dei motori di VirusTotal.

Uno scanner che analizza solo lo strato visibile potrebbe non rilevare un payload nascosto più in profondità nel file. È così che l’esempio è riuscito a superare tutti i motori di analisi.

Stacked Pickle supera gli scanner tradizionali

Safetensors elimina completamente il motore di esecuzione

Safetensors memorizza i pesi dei modelli senza un motore di esecuzione. Un file contiene un’intestazione compatta di metadati che descrive la forma, il tipo di dati e l’offset in byte di ciascun tensore, seguita dai byte grezzi del tensore. Non dispone di uno stream di istruzioni, di una macchina virtuale né di un equivalente del comando REDUCE di pickle, pertanto non è possibile istruire il caricatore a chiamare una funzione.

Un file Safetensors è costituito da dati inerti che vengono letti dal caricatore. Anche un file creato con intenti malevoli non può eseguire codice al momento del caricamento, poiché il formato non prevede alcuna via attraverso cui tale codice possa essere eseguito.

Struttura dei file di Safetensors e Pickle

Perché è stato creato Safetensors e perché si è diffuso

Il problema dei formati tradizionali non è mai stato rappresentato dai pesi in sé, bensì dal fatto che il file potesse contenere anche istruzioni eseguibili. Hugging Face, in collaborazione con EleutherAI e Stability AI, ha sviluppato Safetensors come soluzione sostitutiva appositamente progettata per eliminare tale funzionalità, preservando al contempo ciò di cui i team hanno bisogno da un file di pesi.

Safetensors è anche pratico. Si carica rapidamente grazie all’accesso con mappatura in memoria e senza copia, funziona con PyTorch, TensorFlow, JAX e altri framework ed è diventato lo standard predefinito per la maggior parte dei nuovi modelli rilasciati. Questi vantaggi ne hanno favorito la diffusione senza che fosse necessario imporlo.

Safetensors è uno standard più sicuro per i file dei modelli di apprendimento automatico

Una verifica indipendente conferma la dichiarazione di sicurezza

I responsabili della manutenzione non sono l’unica fonte a sostegno della dichiarazione di sicurezza. La libreria è scritta in Rust, il cui compilatore impedisce l’insorgere di intere classi di bug di analisi sintattica. Nel 2023, Hugging Face, EleutherAI e Stability AI hanno commissionato congiuntamente una verifica indipendente del formato da parte di Trail of Bits.

L'audit non ha rilevato alcuna vulnerabilità critica che potesse portare all'esecuzione arbitraria di codice. Ha individuato alcune imprecisioni nelle specifiche e una mancanza nella convalida che aveva consentito l'uso di file poliglotti. I manutentori hanno risolto e pubblicato tutte le correzioni, rendendo poi Safetensors l'impostazione predefinita.

I dati raccolti da allora confermano le conclusioni della verifica. I formati legacy hanno causato incidenti reali a partire dal 2024, mentre nello stesso periodo non è stato dimostrato alcun attacco di esecuzione di codice contro il formato Safetensors stesso. Safetensors non offre agli aggressori alcun meccanismo di esecuzione per quella classe di attacchi che rende pericolosi i file basati su pickle. Il rischio residuo deriva dai formati legacy che sono ancora ampiamente utilizzati.

Il modello " Supply Chain " necessita ancora di un portello di ispezione

Il rischio deriva dal fatto che un formato di file di modello possa o meno contenere codice oltre ai propri pesi. I formati Pickle, PyTorch, TensorFlow e Keras lo consentono; Safetensors, invece, per sua natura non lo permette. I responsabili della sicurezza devono considerare i formati di modello eseguibili come un rischio, ispezionare ogni modello che entra nell’ambiente e orientare i team verso formati sicuri, ove possibile.

Milioni di modelli in formati obsoleti sono ancora presenti sugli hub pubblici e i team continuano a scaricarli. Un repository può anche distribuire un file in formato pickle insieme a uno sicuro, quindi la presenza dei pesi Safetensors non rende sicuro l'intero repository. La catena di approvvigionamento dei modelli avrà bisogno di un punto di controllo fino a quando i formati obsoleti non saranno ritirati.

In pratica, si tratta di una breve lista di controllo che riduce al minimo i falsi positivi:

  • È preferibile utilizzare i Safetensor e considerare i formati legacy come soggetti a verifica prima dell'uso. Qualsiasi modello in formato .pt, .pth, .bin, .pkl, .pb o .h5 proveniente da un editore non verificato deve essere sottoposto a scansione prima di essere caricato.
  • Considerare il caricamento di un modello in formato legacy come un evento di esecuzione. Il caricamento di un modello che avvia una shell, apre una connessione in uscita da un interprete Python o scrive in un percorso sensibile costituisce un segnale comportamentale che deve essere incluso nella telemetria dell’host, proprio come qualsiasi esecuzione di codice
  • Esegui la scansione dell'intero artefatto, non solo del file dei pesi. L'unità di analisi è il pacchetto del modello così come viene fornito, poiché il formato di un repository costituisce una dichiarazione, non una garanzia, finché non viene verificato.

Come la pipeline a cinque livelli di " MetaDefender " di Aether analizza i file dei modelli LLM

MetaDefender Aether™, la soluzione unificata di rilevamento degli attacchi zero-day di OPSWAT, garantisce un’efficacia di rilevamento degli attacchi zero-day pari al 99,9% grazie a una pipeline di ispezione a cinque livelli. Ogni file inviato viene sottoposto innanzitutto a un’analisi del tipo di file, che identifica il file stesso anziché basarsi esclusivamente sulla sua estensione. Ciascun livello di analisi è in grado di determinare autonomamente il verdetto. Non appena un livello raggiunge una risposta definitiva, l’analisi si interrompe, consentendo così alla maggior parte dei file di evitare le fasi successive, più approfondite e dispendiose.

  1. Reputazione delle minacce. L'hash del file e i relativi indicatori vengono confrontati con le informazioni globali sulle minacce disponibili su OPSWAT, che attingono a oltre 50 miliardi di indicatori. Un hash già associato a un upload dannoso noto viene bloccato in meno di un secondo, mentre un file ritenuto sicuro viene autorizzato con la stessa rapidità, in modo che solo i file sconosciuti possano proseguire.
  2. Analisi statica. Prima che qualsiasi codice venga eseguito, il file viene valutato da Predictive Alin AI, parallelamente all’analisi statica e alla scansione del motore antivirus. Predictive Alin AI fornisce verdetti basati sull’apprendimento automatico in pochi millisecondi senza ricorrere alla detonazione in sandbox; il sistema è addestrato su set di dati aziendali selezionati e protetti dal punto di vista della privacy e viene continuamente migliorato attraverso un ciclo di riaddestramento zero-day alimentato dai rilevamenti confermati d MetaDefender e Aether. Per i file modello, è proprio in questa fase che un pickle sospetto con codici operativi (opcode) del payload riconoscibili viene individuato prima ancora che venga dedicato del tempo all’emulazione.
  3. Analisi dinamica. L'emulazione a livello di istruzione risolve il problema dello "Stacked Pickle" rivelando il comportamento di un file senza dover avviare una macchina virtuale completa per ogni campione. Supera i controlli anti-VM e i ritardi di temporizzazione che aggirano le sandbox tradizionali, completando l'analisi in pochi secondi anziché in minuti, con una velocità fino a 20 volte superiore e un volume fino a 100 volte maggiore rispetto agli strumenti di sandboxing tradizionali.
  4. Valutazione del rischio. Questo livello combina le funzioni richiamate, i tentativi di connessione, i segnali di reputazione e altri risultati emersi dai primi tre livelli. Si avvale di oltre 900 indicatori comportamentali per generare un punteggio utilizzabile e un’impronta di similarità per la fase finale.
  5. Ricerca delle minacce. La ricerca di similarità basata sull’apprendimento automatico mette in correlazione l’impronta digitale con il database di intelligence sulle minacce di OPSWAT e con i comportamenti mappati da MITRE, al fine di identificare varianti e campagne. Un modello dannoso ricompilato o rinominato potrebbe avere un nuovo hash, ma questo livello è comunque in grado di rilevarne la somiglianza con un antenato dannoso già noto.

L'intero processo si svolge in modo automatico. Fornisce un verdetto consolidato e un rapporto probatorio che collega ciascun indicatore al comportamento che lo ha generato.

MetaDefender Aether controlla i file dei modelli in ogni punto di ingresso

I modelli vengono ricevuti tramite download dal web, e-mail, piattaforme di trasferimento file e flussi automatizzati. Un sistema di controllo deve coprire ogni percorso senza costringere le organizzazioni a riprogettare l'infrastruttura che gestisce il traffico.

Per i canali di rete, MetaDefender Aether si integra tramite ICAP, il protocollo standard già utilizzato da proxy, gateway di posta elettronica e piattaforme di trasferimento file per inoltrare i file a un servizio di ispezione. Nei casi in cui il traffico non transiti mai attraverso un dispositivo di rete, è possibile eseguire la stessa analisi tramite un'interfaccia REST API .

  • Download dal Web. Quando uno sviluppatore scarica un modello da Hugging Face o Kaggle, il proxy o il gateway Web sicuro inoltra il download a MetaDefender Aether tramite ICAP, e un file pickle dannoso viene bloccato prima ancora che raggiunga l'endpoint.
  • E-mail. I file dei modelli e gli strumenti di intelligenza artificiale condivisi come allegati vengono estratti e analizzati attraverso la stessa pipeline utilizzata per qualsiasi altro allegato, bloccando così la via del social engineering che aggira i controlli a livello di registro.
  • Trasferimenti di file. I modelli scambiati con partner e fornitori, oppure trasferiti tra zone interne tramite il sistema di trasferimento file gestito, vengono sottoposti a scansione durante il trasferimento, pertanto il confine di affidabilità rimane valido anche per i file che non passano mai attraverso un hub pubblico.
  • Pipeline e registri automatizzati. Creare processi di compilazione e piattaforme di machine learning che recuperino i modelli in modo programmatico e li inviino tramite l’ API prima che qualsiasi elemento venga promosso a un registro interno, chiudendo così proprio la via sfruttata dai pacchetti PyPI di Alibaba, in cui la risoluzione delle dipendenze esegue il download e nessuno vede mai un file che possa destare sospetti.

Ogni percorso utilizza la stessa pipeline di ispezione e la stessa logica di valutazione, senza lasciare alcun canale non monitorato che un malintenzionato possa sfruttare.

Sicurezza senza rallentare il lavoro degli sviluppatori

I team di sicurezza spesso trascurano la gestione del rischio legato ai modelli, poiché vietare i download dagli hub pubblici risulta poco pratico. MetaDefender Aether consente agli sviluppatori di mantenere i propri flussi di lavoro esistenti, mentre la pipeline esegue la scansione dei modelli in linea alla velocità di emulazione. I download bloccati sono accompagnati da un rapporto probatorio che spiega il verdetto.

Scopri come MetaDefender Aether esamina i file dei modelli LLM prima che superino il tuo confine di fiducia.

Domande frequenti

Che cos’è la sicurezza dei modelli LLM?
La sicurezza dei modelli LLM consiste nel verificare la presenza di codice dannoso incorporato nei file dei modelli di IA pre-addestrati prima che questi vengano caricati in un ambiente. Consiste nel considerare i modelli scaricati da hub pubblici come software eseguibili che superano un confine di fiducia, e non come dati inerti.

Perché i file pickle sono pericolosi per i modelli di intelligenza artificiale?
Una macchina virtuale esegue il flusso di istruzioni di un file pickle durante il caricamento del file stesso. L'istruzione REDUCE consente a un malintenzionato di richiamare funzioni arbitrarie durante tale processo; pertanto, il caricamento di un modello basato su pickle può eseguire codice controllato dal malintenzionato senza alcun preavviso.

Che cos'è Safetensors e in cosa si differenzia da pickle?
Safetensors è un formato di file esclusivamente di dati destinato all'archiviazione dei pesi dei modelli, contenente un'intestazione di metadati e byte di tensori grezzi, privo di motore di esecuzione e di qualsiasi elemento equivalente all'istruzione REDUCE di pickle. Mentre un file pickle è un programma eseguito dal caricatore, un file Safetensors è costituito da dati inerti che il caricatore legge.

Un file Safetensors può comunque essere dannoso?
Un file Safetensors non può eseguire codice al momento del caricamento perché il formato non prevede alcun percorso di esecuzione. Tuttavia, un repository può includere un file legacy basato su pickle insieme a pesi Safetensors sicuri, pertanto è comunque necessario sottoporre l'intero repository a un'ispezione.

In che modo MetaDefender Aether rileva i modelli LLM dannosi?
MetaDefender Aether esamina i file dei modelli attraverso cinque livelli: reputazione delle minacce, analisi statica, analisi dinamica, valutazione delle minacce e ricerca delle minacce. Blocca la maggior parte dei file prima che raggiungano le fasi più approfondite e costose ed è in grado di rilevare payload "pickle" impilati che sfuggono ai tradizionali scanner a singolo livello.

Controlla ogni modello prima che superi il tuo limite di fiducia

I team si affidano ormai a modelli riutilizzati e pre-addestrati, ma ogni download da una fonte pubblica solleva la stessa domanda: il file contiene solo dati o è in grado di eseguire codice? MetaDefender Aether fornisce una risposta prima ancora che il modello venga caricato, applicando cinque livelli di analisi ai download dal web, alle e-mail, ai trasferimenti di file e alle pipeline automatizzate.

Rimanete aggiornati con OPSWAT!

Iscriviti oggi stesso per ricevere gli ultimi aggiornamenti sull'azienda, storie, informazioni sugli eventi e altro ancora.