Sistemi di IA
Sicurezza degli agenti IA: strumenti, permessi e catena di approvvigionamento dei modelli
Sicurezza degli agenti IA significa limitare ciò che un agente può fare e sapere di cosa è fatto: dai a ogni agente solo gli strumenti e i permessi di cui il suo compito ha bisogno, richiedi che una persona approvi le azioni distruttive, tratta ogni documento e ogni risultato di uno strumento come input non attendibile e tieni un inventario dei modelli, dei dataset e del software da cui dipende.
Piano Free, nessuna carta richiesta.
Che cos’è una distinta base dell’IA (AI bill of materials)?
Una distinta base del software (SBOM) elenca i pacchetti di un’applicazione. Una distinta base dell’IA estende quel registro alle parti specifiche dell’IA: i modelli, le loro versioni e provenienze, i dataset usati per addestrarli o perfezionarli e il software che li esegue e li rende disponibili. Due formati del settore lo supportano. CycloneDX ha aggiunto una distinta base per il machine learning (ML-BOM) nella versione 1.5, rilasciata a giugno 2023, e SPDX 3.0 include un profilo AI e un profilo Dataset.
Qualunque sia il formato, i campi utili sono gli stessi: da dove proviene ogni modello, quale revisione esatta esegui, un hash che dimostri che non è cambiato, la sua licenza e le condizioni d’uso, i dataset su cui si basa, dove noti, e le librerie e il runtime di cui ha bisogno. È questo registro che ti permette di stabilire, il giorno in cui un modello o una libreria risultano compromessi, se il tuo prodotto è interessato. Oggi KROMSE non genera una distinta base dell’IA; è nella roadmap qui sotto.
Come delimitare strumenti e permessi di un agente
Un agente è un modello che può chiamare strumenti: leggere file, interrogare database, inviare messaggi, eseguire comandi. L’OWASP Top 10 for LLM Applications chiama il rischio che ne deriva «excessive agency», una capacità d’azione eccessiva, e lo riconduce a tre cause: funzionalità eccessive, permessi eccessivi e autonomia eccessiva. Ognuna ha una contromisura diretta: meno strumenti, credenziali più ristrette e una persona coinvolta nelle azioni che contano.
- Dai a ogni agente solo gli strumenti di cui il suo compito ha bisogno ed escludi gli strumenti generici, come l’accesso illimitato alla shell.
- Usa credenziali separate e con un ambito ristretto per ogni agente, in sola lettura ovunque sia possibile.
- Esegui le azioni nel contesto, e con i permessi, dell’utente per conto del quale l’agente agisce.
- Richiedi che una persona approvi le azioni distruttive o irreversibili: cancellare dati, inviare messaggi, effettuare pagamenti, fare deploy.
- Registra ogni chiamata a uno strumento con i relativi input, così che le azioni possano essere tracciate e riesaminate.
- Limita quante azioni può compiere un agente, e con quale frequenza.
Prompt injection attraverso strumenti e documenti
La prompt injection è un input che modifica il comportamento di un modello in modi non previsti da chi lo ha costruito. OWASP distingue l’iniezione diretta, digitata dall’utente, dall’iniezione indiretta, in cui il modello acquisisce istruzioni da contenuti esterni come un sito web o un file. Per un agente dotato di strumenti, l’iniezione indiretta è il rischio maggiore: all’attaccante non serve accedere all’agente, basta che l’agente legga qualcosa che ha scritto lui, come una pagina web, un’email o un ticket.
OWASP osserva che non è chiaro se esistano metodi di prevenzione infallibili, quindi la difesa è il contenimento. Tieni i contenuti non attendibili chiaramente separati dalle istruzioni, tieni i segreti fuori dal contesto del modello, convalida ciò che il modello produce prima che un altro sistema agisca di conseguenza e assicurati che un’istruzione iniettata non possa innescare un’azione che una persona non ha approvato. Se un agente legge contenuti pubblici, dai per scontato che una parte sia ostile.
File di modello non sicuri e catena di approvvigionamento dei modelli
I pesi di un modello sono file, e alcuni formati di file possono eseguire codice quando vengono caricati. Il formato pickle di Python, che la documentazione di Hugging Face descrive come il formato predefinito per i pesi dei modelli PyTorch, consente l’esecuzione di codice arbitrario durante il caricamento, quindi aprire un modello in formato pickle da una fonte non attendibile è paragonabile a eseguire un programma non attendibile. Safetensors è un formato per archiviare tensori progettato come alternativa sicura a pickle.
Tratta modelli e dataset come dipendenze. Scaricali da fonti di cui ti fidi, fissa la revisione esatta anziché un nome che può cambiare, verifica gli hash e preferisci formati che non possono eseguire codice. Dati di addestramento o un modello preaddestrato manomessi possono modificare il comportamento in modi che i test non mostrano; l’AI Act dell’UE cita l’avvelenamento dei dati e l’avvelenamento dei modelli tra gli attacchi che le misure per i sistemi di IA ad alto rischio devono affrontare, ove opportuno. Le librerie che caricano ed eseguono i modelli richiedono gli stessi controlli sulle vulnerabilità di qualsiasi altro pacchetto.
Quali norme UE riguardano i prodotti di IA?
Allo stesso prodotto di IA possono applicarsi due regolamenti. L’AI Act dell’UE, il regolamento (UE) 2024/1689 sull’intelligenza artificiale, disciplina i sistemi di IA in base al livello di rischio; il suo articolo 15 impone ai sistemi di IA ad alto rischio di conseguire un adeguato livello di accuratezza, robustezza e cibersicurezza. Il Cyber Resilience Act, il regolamento (UE) 2024/2847, stabilisce requisiti di cibersicurezza per i prodotti con elementi digitali. Ai sensi dell’articolo 12 del CRA, un prodotto che rientra nel suo ambito di applicazione ed è un sistema di IA ad alto rischio è considerato conforme ai requisiti di cibersicurezza dell’AI Act quando soddisfa i requisiti essenziali del CRA e ciò è dimostrato nella dichiarazione di conformità UE.
Se l’uno o l’altro regolamento si applichi dipende da cosa è il prodotto, da chi lo immette sul mercato e da come viene usato, e non è KROMSE a stabilirlo. Le basi sono le stesse per entrambi: conoscere i propri componenti, gestire le vulnerabilità, limitare ciò che le parti automatizzate del sistema possono fare e conservare le evidenze.
Disponibile oggi in KROMSE
Oggi KROMSE controlla il software attorno al tuo modello, non il modello stesso.
- Elenca i componenti dell’applicazione che chiama o esegue il modello e confronta i suoi lockfile con OSV.dev, comprese le librerie di machine learning e per agenti che dichiara.
- Segnala come critiche le dipendenze elencate nel database OpenSSF Malicious Packages.
- Trova con Gitleaks le credenziali committate, come le chiavi API, nel codice del commit scansionato; i valori vengono oscurati e mai conservati.
- Analisi del codice sorgente per 11 linguaggi, tra cui Python, TypeScript, JavaScript e Go.
- Scansiona le immagini container in un registry raggiungibile da internet alla ricerca di vulnerabilità, errori di configurazione e segreti, e controlla Terraform e Dockerfile per individuare errori di configurazione.
- Esporta una SBOM CycloneDX JSON e una SPDX JSON per ogni scansione. Elencano pacchetti software, non modelli né dataset.
In arrivo
Nella roadmap, non ancora disponibile. Le date sono obiettivi, non promesse; questa pagina viene aggiornata il giorno in cui una funzionalità diventa disponibile.
- In arrivo · Q1 2027Sicurezza di agenti e modelli IA. KROMSE produrrà una distinta base dell’IA (AI bill of materials), esaminerà gli strumenti e i permessi che i tuoi agenti possono usare e rileverà i file di modello non sicuri.
- In arrivo · Q4 2026 (novembre)Plug-in per agenti di programmazione IA. Un plug-in per gli agenti di programmazione basati sull’IA verificherà ogni pacchetto proposto dall’agente prima che entri nel codice, compresi i pacchetti che non esistono o che sono stati pubblicati solo pochi giorni prima.
- In arrivo · Q1 2027 (gennaio)Modulo AI Act dell’UE. Un modulo per l’AI Act dell’UE aggiungerà un inventario dei sistemi di IA, la classificazione del rischio e la documentazione, che una persona dovrà completare.
Domande frequenti
Che cos’è la sicurezza degli agenti IA?
È la pratica di limitare ciò che un agente IA può fare e di sapere da cosa è costruito. In concreto significa strumenti e credenziali con privilegi minimi, approvazione umana per le azioni distruttive, documenti e risultati degli strumenti trattati come input non attendibili, formati sicuri per i file di modello e un inventario dei modelli, dei dataset e del software da cui l’agente dipende.
Qual è la differenza tra una SBOM e una distinta base dell’IA?
Una SBOM elenca i componenti software di un prodotto, come i pacchetti e le loro versioni. Una distinta base dell’IA aggiunge le parti specifiche dell’IA: i modelli, le loro provenienze e revisioni, i dataset e il modo in cui sono stati usati. CycloneDX la supporta con la sua ML-BOM, aggiunta nella versione 1.5, e SPDX con i profili AI e Dataset di SPDX 3.0.
I file di modello pickle sono pericolosi?
Possono esserlo. Caricare un file pickle può eseguire codice arbitrario, quindi un modello in formato pickle proveniente da una fonte non attendibile va trattato come un programma non attendibile. Preferisci formati progettati per non eseguire codice, come safetensors, carica i modelli solo da fonti di cui ti fidi, fissa la revisione esatta e verificane l’hash.
Come proteggo un agente IA dalla prompt injection?
Dai per scontato che accadrà e contienila. Separa i contenuti non attendibili dalle istruzioni, tieni i segreti fuori dal contesto del modello, dai all’agente solo gli strumenti e i permessi di cui ha bisogno, convalida i suoi output prima che altri sistemi agiscano di conseguenza e richiedi che una persona approvi le azioni ad alto impatto. OWASP osserva che una prevenzione infallibile potrebbe non esistere.
KROMSE analizza modelli o agenti di IA?
No. KROMSE controlla il software attorno al modello: dipendenze, pacchetti malevoli, segreti committati, codice sorgente, immagini container e file di infrastruttura. Oggi non ispeziona i file di modello, non genera una distinta base dell’IA e non esamina i permessi degli agenti. Queste funzionalità sono nella roadmap.
Guide correlate
Fonti
- CycloneDX: Machine Learning Bill of Materials (ML-BOM)
- CycloneDX: annuncio del rilascio della versione 1.5
- Specifica SPDX 3.0.1: profilo AI
- OWASP Top 10 for LLM Applications 2025: LLM01 Prompt Injection
- OWASP Top 10 for LLM Applications 2025: LLM06 Excessive Agency
- Documentazione di Hugging Face Hub: scansione dei file pickle
- Hugging Face: documentazione di Safetensors
- Regolamento (UE) 2024/1689 (regolamento sull’intelligenza artificiale)
- Regolamento (UE) 2024/2847 (regolamento sulla ciberresilienza)