Mettere in sicurezza agenti e strumenti
- Applica il privilegio minimo — concedi a un agente solo l'accesso richiesto dal suo compito
- Riconosci il problema del vicesceriffo confuso: un agente prende in prestito la tua autorità
- Sovrapponi le cinque difese che riducono il raggio d'azione quando un agente viene ingannato
- Decidi quali azioni richiedono un human-in-the-loop
- Convalida gli input degli strumenti così che un argomento errato o manipolato non possa essere eseguito
Nel momento in cui un'IA può compiere azioni (chiamare strumenti, eseguire codice, contattare API), eredita un modello di sicurezza. L'obiettivo non è rendere il modello impossibile da ingannare — è assicurarsi che anche se viene ingannato, non possa fare grandi danni.
Il principio fondamentale: il privilegio minimo
Concedi a un agente l'accesso minimo richiesto dal suo compito, niente di più.
- Un riassuntore di documenti ha bisogno della lettura, non della scrittura o della rete.
- Un revisore ha bisogno di leggere il codice e pubblicare un commento — non di fare push o deploy.
- Limita l'ambito di strumenti, chiavi API e accesso ai file per ogni compito. Un agente con un ambito ristretto che subisce un'injection può fare solo danni ristretti.
Il problema del vicesceriffo confuso
Un agente agisce spesso con la tua autorità (i tuoi token, le tue sessioni). Se un input controllato da un attaccante lo manovra, l'attaccante prende in prestito i tuoi privilegi — un "vicesceriffo confuso". Difesa: non concedere all'agente un'autorità ambientale di cui non ha bisogno, e richiedi credenziali esplicite e con ambito ristretto per gli strumenti sensibili.
Livelli di difesa
Sovrapponili — nessuno da solo è sufficiente. Ogni livello presuppone che quelli sopra di esso possano fallire.
- Esegui codice e operazioni sui file in container o directory effimere, senza accesso al sistema più ampio o ai segreti. Se l'agente viene ingannato, gioca dentro una scatola.
- Decidi quali comandi, quali domini e quali percorsi sono consentiti — nega il resto. In Claude Code, sono i permessi (/docs/claude-code/permissions).
- Richiedi un'approvazione esplicita per azioni irreversibili o sensibili: inviare denaro, inviare email, eliminare, fare deploy o modificare la configurazione di produzione.
- Non lasciare che un solo agente detenga contemporaneamente segreti, legga contenuti non affidabili ed effettui chiamate in uscita arbitrarie — quella combinazione è la via dell'esfiltrazione.
- Registra quali strumenti l'agente ha effettivamente invocato e con quali argomenti, così puoi verificarne il comportamento e cogliere le derive.
Metti l'allowlist per iscritto
"Mettere in allowlist la superficie pericolosa" è facile da approvare con un cenno e facile da saltare. In Claude Code è concreto: un settings.json che consente l'insieme ristretto di comandi e domini richiesto dal compito e nega il resto. Parti restrittivo e allarga solo quando un compito reale si blocca.
Un blocco di permessi Claude Code a privilegio minimo
{
"permissions": {
"allow": [
"Read",
"Edit",
"Bash(npm test:*)",
"Bash(npm run build:*)",
"Bash(git status)",
"Bash(git diff:*)"
],
"deny": [
"Bash(git push:*)",
"Bash(rm:*)",
"Bash(curl:*)",
"Read(./.env)",
"Read(./secrets/**)"
]
}
}La lista deny prevale su allow, quindi il blocco di .env e secrets/** regge anche se viene concesso un Read ampio. Vedi permessi per la sintassi completa delle regole e la precedenza.
Gli strumenti hanno schemi — convalidali
Gli input degli strumenti prodotti dal modello possono essere errati o manipolati. Convalida gli argomenti prima di eseguirli e restituisci gli errori come risultati, così che l'agente si riprenda invece di riprovare alla cieca.
Mettiti alla prova
0/3- Privilegio minimo prima di tutto: limita l'ambito di strumenti, chiavi e accesso ai file per ogni compito così che un agente ingannato possa fare solo danni ristretti
- Un agente agisce con la tua autorità — non concedergli privilegi ambientali di cui non ha bisogno (il problema del vicesceriffo confuso)
- Sovrapponi i cinque livelli: sandbox, allowlist, human-in-the-loop, separare le zone di fiducia, registrare e revisionare
- In Claude Code, le regole deny battono le regole allow — blocca esplicitamente i percorsi .env e secrets
- Convalida gli argomenti degli strumenti prima di eseguirli e restituisci gli errori come risultati, così che l'agente si riprenda invece di riprovare alla cieca