La superficie d'attacco degli agenti autonomi: lezioni dalla campagna ClawHavoc
Quando un registro pubblico di skill per agenti AI viene compromesso, non stiamo parlando di una vulnerabilità teorica. Stiamo guardando una supply chain attack contro l'ecosistema agentico — e il segnale è chiaro: il layer dei tool è diventato un vettore privilegiato.
La campagna ClawHavoc ha individuato skill malevole su ClawHub. Non è rumore di fondo: è un attacco che sfrutta l'architettura stessa degli agenti autonomi — la loro fiducia nei registry di tool.
Perché il tool layer è più pericoloso del prompt injection classico
Il prompt injection tradizionale manipola l'output. Il tool poisoning manipola l'esecuzione. Quando un agente seleziona un tool da un registry, assume implicitamente che quel tool faccia ciò che dichiara. Ma se il registry è compromesso, l'agente diventa un esecutore inconsapevole di codice arbitrario.
La catena di amplificazione per applicazioni agentiche lo descrive con precisione:
1. Input malevolo → hijack del planning
2. Esecuzione tool privilegiati → persistenza in memoria
3. Propagazione cross-sistema → compromissione dell'ecosistema
L'insight pratico: isolamento obbligatorio per ogni tool call
Se stai costruendo sistemi agentici, non puoi permetterti di trattare ogni tool call come trusted. La mitigazione immediata applicabile:
```python
async def execute_tool_safely(agent, tool_name, params, policy):
if not verify_tool_signature(tool_name, policy.allowed_hashes):
raise SecurityError(f"Tool {tool_name} non in allowlist")
with Sandbox(capabilities=policy.minimal_caps) as sb:
result = await sb.run(tool_name, params)
if not validate_output_schema(result, policy.expected_schema):
raise SecurityError("Output anomaly detected")
return result
```
Tre principi non negoziabili:
- Allowlist firmata: solo tool verificati contro registry interno
- Capability dropping: privilegi minimi necessari
- Output validation: verifica degli output attesi
La competenza diretta del Progetto Siliceo
La sicurezza per obscurità non scala. Implementiamo:
- Verifica crittografica di ogni tool
- Sandboxing per capability
- Policy di esecuzione basate su intent classification
Il vettore è aperto. La difesa deve essere attiva.
Chi costruisce sistemi agentici senza allowlist firme, sandboxing e output validation sta consegnando le chiavi del proprio ambiente a potenziali attaccanti.