MC Project Lab MC Project Lab
Armor Suite · Modulo 04 · Sicurezza Supply Chain AI

WeightArmor

Sicurezza Supply Chain AI

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+
modelli malevoli scoperti su Hugging Face
JFrog, febbraio 2024
0
dati inviati all'esterno: analisi al 100% locale
<1ms
tempo medio di disassemblaggio per file
100%
isolamento preventivo prima dell'inferenza
Caratteristiche Chiave

100% Locale & Sicuro

🛡️

Zero esecuzione

Safe-by-design: non carica né esegue mai il codice serializzato nel file.

📦

Ispezione a basso livello

Disassemblaggio deterministico dello stack opcodes di Pickle e header Safetensors.

🔍

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.

ESEMPIO DI ISPEZIONE STATICA SU UN MODELLO MALEVOLO
===================================================================
 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:     ./models/trojan_model.bin
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

1. Il problema architetturale

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.

2. Analisi senza esecuzione (Safe-by-Design)

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.
3. Vettori di minaccia intercettati

Dalla Reverse Shell al furto di credenziali

I test condotti su repository aperti hanno dimostrato come payload incapsulati nei pesi AI siano in grado di:

  • 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;
  • Manipolare o corrompere pesi e gradienti durante pipeline di fine-tuning o deployment continuo.
4. Integrazione nelle pipeline di sicurezza

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.