WeightArmor
Un file di pesi AI può eseguire codice sul tuo computer.
Nessuno lo sta controllando.
Lo scanner statico offline per pesi e modelli AI. Rileva backdoor Pickle, reverse shell ed esecuzione arbitraria di codice (MITRE ATLAS AML.T0010) prima che il modello venga caricato in memoria.
100% Locale & Sicuro
Zero esecuzione
Safe-by-design: non carica né esegue mai il codice serializzato nel file.
Ispezione a basso livello
Scompone il file del modello istruzione per istruzione (formato Pickle) e ne controlla l'intestazione (formato Safetensors), sempre con lo stesso risultato.
Supporto formati
Analizza pesi in formato .safetensors, .bin, .pt, .pth, .pkl, .ckpt.
Filtro deterministico
Riconoscimento immediato di chiamate di sistema, socket reverse shell e subprocess.
=================================================================== WeightArmor · Motore di Ispezione Statica per Modelli AI MC Project Lab · https://www.mcprojectlab.com Analisi offline safe-by-design (zero esecuzione di codice) =================================================================== Target: sample_model.bin [Simulazione] Formato: PICKLE (Protocollo serializzato) Dimensione: 4,194,304 bytes SHA-256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 Verdetto: [BLOCCATO - PERICOLOSO] · Rilevata backdoor / codice eseguibile * RILEVATO CODICE MALEVOLO: Trovate 2 chiamate di sistema pericolose. Il caricamento del file con torch.load() eseguirebbe comandi arbitrari (Reverse Shell / RCE). Vettori identificati nell'analisi statica del bytecode: - [CRITICAL] posix.system (offset byte 142): Esecuzione comando di shell di sistema - [CRITICAL] socket.socket (offset byte 218): Creazione socket di rete (possibile reverse shell) Tempo scan: 1.84 ms ESITO: MINACCIA CRITICA RILEVATA. File non eseguibile e bloccato prima del caricamento in memoria.
Come funziona l'ispezione statica dei pesi AI
Perché i file di pesi AI possono contenere codice eseguibile
Molti formati storici di salvataggio modelli (inclusi .pt, .pth, .bin e .pkl) si basano sulla serializzazione Pickle del runtime Python. A differenza di un semplice file di dati numerici, Pickle è una vera e propria macchina virtuale a stack con istruzioni che permettono di istanziare classi arbitrarie e invocare funzioni di sistema al momento del disinnesco in memoria.
Quando un ricercatore o un'applicazione esegue torch.load() su un modello scaricato da un repository pubblico o da fonti terze, il parser interpreta ed esegue automaticamente le istruzioni incorporate. Se nel file è presente un payload malevolo, questo viene eseguito con i privilegi completi del processo utente.
Ispezione del flusso di istruzioni senza caricamento
WeightArmor opera secondo un principio rigoroso: nessun byte del file viene mai caricato nei runtime di inferenza né deserializzato dal modulo nativo di Python.
- Disassemblaggio deterministico: il motore scansiona la sequenza di opcode del flusso binario, identificando costrutti di chiamata globale (come
GLOBAL,STACK_GLOBAL,REDUCE,BUILD). - Mappatura delle chiamate esterne: ogni modulo e funzione referenziata nel file viene estratta e confrontata con un registro rigoroso di vettori pericolosi (invocazione di shell, esecuzione comandi di sistema, apertura socket di rete, accesso crudo al filesystem).
- Ispezione formati moderni: per i modelli in formato
Safetensors, WeightArmor valida la conformità degli header JSON e l'assenza di payload binari camuffati, garantendo che contengano esclusivamente tensori e metadati numerici.
Dalla Reverse Shell al furto di credenziali
I test su archivi pubblici hanno mostrato che codice malevolo nascosto nei file dei modelli AI può:
- Avviare processi di sistema (
os.system,subprocess.Popen,posix.system) all'insaputa dell'utente; - Aprire connessioni remote verso server di comando e controllo (C2) tramite primitive socket;
- Estrarre chiavi API per servizi cloud e token memorizzati nelle variabili d'ambiente della macchina di inferenza;
- Alterare o danneggiare il modello mentre viene addestrato ulteriormente (fine-tuning) o messo in produzione.
Verifica preventiva prima dell'inferenza
WeightArmor è progettato come modulo analitico locale all'interno della Armor Suite di MC Project Lab. Permette di stabilire una linea di demarcazione netta tra i file scaricati dall'esterno e l'ambiente computazionale interno, bloccando alla radice i rischi di supply chain poisoning prima che i modelli raggiungano cluster GPU o postazioni di lavoro.
Parte della Armor Suite di MC Project Lab
WeightArmor affianca LogArmor (sanitizzazione log agenti), Replay (audit trail crittografico) e MailArmor (ispezione email forense offline) per offrire una linea completa di sicurezza e sovranità locale sui dati.