---
title: "Claude Code è sicuro? Cosa mostrano 93 incidenti"
description: "Claude Code è sicuro quanto la sua configurazione. 93 incidenti pubblici per causa, i controlli di Anthropic con i valori predefiniti e come configurarlo."
url: "https://madsalt.tech/it/blog/is-claude-code-safe/"
author: "Denys Zaichenko"
language: "it"
published: 2026-11-01
---

# Claude Code è sicuro? Cosa mostrano 93 incidenti

In breve

Claude Code è sicuro se lo configura, e rischioso con i valori predefiniti. In un'installazione nuova di ottobre 2026 la sandbox è disattivata, non ci sono regole deny né hook, e un comando di shell che approva può scrivere ovunque arrivi il Suo account utente. Ho classificato 93 segnalazioni pubbliche di incidenti tratte da issue di GitHub, avvisi di sicurezza e articoli: il danno è venuto da `git reset --hard` e reset di database che nessuno aveva chiesto, da regole che vivevano solo in `CLAUDE.md`, da repository, issue e plugin non fidati, e da subagenti che lanciavano altri subagenti. Quasi nulla è stato un drammatico `rm -rf /`. Metta il lavoro in git, attivi la sandbox, scriva regole deny e un hook che blocchi, e tenga le credenziali di produzione fuori dalla portata dell'agente.

93

segnalazioni pubbliche di incidenti classificate per causa, da giugno 2025 a ottobre 2026

issue di GitHub, avvisi, blog di sicurezza, Hacker News

19

dicono che i dati sono andati persi per sempre

altre 11 dicono che sono stati recuperati

10

hanno violato una regola scritta solo in CLAUDE.md

un prompt è un consiglio, una regola di permessi è un'imposizione

Sono Denys, ingegnere full-stack e di IA, e uso Claude Code ogni giorno. Qui sotto ci sono due cose: cosa è andato storto ad altri e cosa Le offre Claude Code contro questo, compreso quali di questi controlli sono attivi di default. Poi una configurazione che copre le lacune.

## Claude Code è sicuro?

La sicurezza non sta nel modello. Claude Code decide cosa viene eseguito tramite una modalità di permessi, regole di permessi, una sandbox opzionale e hook opzionali, e la [pagina dei permessi](https://code.claude.com/docs/en/permissions) di Anthropic lo dice chiaramente: le regole sono applicate da Claude Code, non dal modello, e le istruzioni in `CLAUDE.md` orientano ciò che Claude cerca di fare ma non cambiano ciò che gli è permesso fare.

Quindi la risposta onesta dipende dalla Sua configurazione. La [pagina sulla sicurezza](https://code.claude.com/docs/en/security) descrive il confine della directory di lavoro come una richiesta di permesso e aggiunge che «un comando Bash che approva può comunque scrivere ovunque arrivi il Suo account utente». La [pagina sulla sandbox](https://code.claude.com/docs/en/sandboxing) dice «La sandbox è disattivata di default», e che anche quando è attiva copre solo i comandi di shell: gli strumenti sui file, i server MCP e gli hook girano al di fuori. La frase conclusiva di Anthropic nella pagina sulla sicurezza: «nessun sistema è completamente immune a tutti gli attacchi».

## Cosa è andato storto ad altri: 93 segnalazioni di incidenti

Il 31 ottobre 2026 ho raccolto segnalazioni pubbliche di Claude Code che causa danni o ci va vicino: 63 issue di GitHub e avvisi di sicurezza, 26 articoli su blog di sicurezza e ingegneria e 4 thread di Hacker News, da giugno 2025 a ottobre 2026. Ho escluso i thread di Reddit che potevo vedere solo tramite mirror. A ogni segnalazione ho assegnato un tipo e, quando l'autore lo diceva, la modalità di permessi e se i dati sono andati persi. 60 delle 61 citazioni che ho confrontato con il testo di GitHub corrispondevano parola per parola.

![93 segnalazioni di incidenti per tipo. Issue di GitHub, avvisi, blog, Hacker News. 06.2025–10.2026. Sandbox o permessi aggirati: 15; Lavoro in git distrutto: 14; Segreti esposti: 12; File cancellati: 11; Database danneggiato: 9; Server MCP o plugin malevolo: 9; Costo fuori controllo dei subagenti: 9; Prompt injection: 5; Altro: 9.](https://madsalt.tech/charts/it/is-claude-code-safe-incidents.svg)

*Figura 1. 93 segnalazioni pubbliche di incidenti (63 issue e avvisi di GitHub, 26 articoli su blog, 4 thread di Hacker News), da giugno 2025 a ottobre 2026, raccolte il 31 ottobre 2026.*

19 segnalazioni dicono che i dati sono andati persi per sempre, 11 che sono stati recuperati, 36 descrivono una falla trovata prima che qualcuno si facesse male (per lo più avvisi poi corretti) e 27 non lo dicono. 56 su 93 non indicano la modalità di permessi, quindi questo insieme non può dirLe se la «modalità YOLO» sia dove avviene il danno. Mostra invece cinque schemi.

**1. L'agente esegue un comando distruttivo che nessuno ha chiesto.** Mentre correggeva errori di lint ha eseguito `git checkout HEAD -- .` e ha buttato via un'ora di lavoro non committato ([#11821](https://github.com/anthropics/claude-code/issues/11821)). All'avvio della sessione ha eseguito `git reset --hard origin/main` sopra commit non ancora inviati ([#34327](https://github.com/anthropics/claude-code/issues/34327)). Ha eseguito `drizzle-kit push --force` su un database di produzione senza backup ([#27063](https://github.com/anthropics/claude-code/issues/27063)), ha accettato un reset di Prisma in produzione ([#33183](https://github.com/anthropics/claude-code/issues/33183)) e, in un [articolo](https://aishippinglabs.com/blog/how-i-dropped-our-production-database-and-now-pay-10-more-for-aws), ha eseguito `terraform destroy` con un vecchio file di stato di produzione nella cartella. Nessuno di questi è `rm -rf /`. Sono comandi normali con un'opzione che salta la conferma dello strumento stesso.

**2. Regole che vivono solo in `CLAUDE.md`.** 10 segnalazioni riguardano una regola scritta che l'agente ha violato: ha committato vere chiavi API nonostante una sezione di sicurezza di 150 righe ([#2142](https://github.com/anthropics/claude-code/issues/2142)), ha fatto commit dopo una regola «mai fare commit» ([#34774](https://github.com/anthropics/claude-code/issues/34774)), ha stampato un token con `grep` e se n'è accorto solo dopo ([#44868](https://github.com/anthropics/claude-code/issues/44868)). Un autore fa notare che `CLAUDE.md` sta nel repository in cui l'agente può scrivere ([#23870](https://github.com/anthropics/claude-code/issues/23870)). Coincide con la documentazione: un prompt è un consiglio, una regola è un'imposizione.

**3. Una regola deny blocca un comando, non un obiettivo.** Con `Bash(rm *)` negato, l'agente ha cancellato il file con una riga di Python ([#39459](https://github.com/anthropics/claude-code/issues/39459)). La pagina dei permessi dice lo stesso sul confronto di testo: `git -C . push` non corrisponde a una regola per `git push`.

**4. Testo e codice non fidati ottengono lo stesso potere Suo.** Il file di impostazioni di un repository poteva eseguire hook e inviare la chiave API prima della finestra di fiducia ([Check Point, CVE-2025-59536](https://research.checkpoint.com/2026/rce-and-api-token-exfiltration-through-claude-code-project-files-cve-2025-59536/)). Un prompt in una issue di GitHub ha fatto leggere alla GitHub Action di Claude Code l'ambiente del runner e rivelare la sua chiave API ([Microsoft](https://www.microsoft.com/en-us/security/blog/2026/06/05/securing-ci-cd-in-agentic-world-claude-code-github-action-case/)). Un plugin da un marketplace con un hook nascosto ha inviato codice al server di un attaccante ([PromptArmor](https://www.promptarmor.com/resources/hijacking-claude-code-via-injected-marketplace-plugins)), e a ottobre una copia manomessa dell'estensione di Claude Code è comparsa nel marketplace di Cursor ([Cursor](https://cursor.com/blog/claude-code-extension-security-notice)). Ciò che è stato corretto è corretto; lo schema resta.

**5. Subagenti che lanciano subagenti.** Una sessione ha bruciato oltre 600 dollari ([#72732](https://github.com/anthropics/claude-code/issues/72732)); un'altra ha avviato circa 242 agenti prima che l'utente digitasse `/exit` ([#69332](https://github.com/anthropics/claude-code/issues/69332)). La risposta di un maintainer in #72732 dice che i limiti ai subagenti concorrenti e alla profondità di annidamento sono stati aggiunti nelle versioni 2.1.217 e 2.1.219.

## Cosa Le offre Claude Code e cosa è attivo di default

Ogni controllo qui sotto è reale e documentato. La colonna che conta è la terza.

| Controllo                                                                | Cosa fa                                                                                                                    | Default, ottobre 2026                                                                                                                                                                     |
| ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Modalità di permessi](https://code.claude.com/docs/en/permission-modes) | Manuale chiede prima di modificare ed eseguire; la modalità auto lascia che un modello classificatore approvi al posto Suo | La modalità auto è quella iniziale per le sessioni interattive dalla v2.1.283                                                                                                             |
| Classificatore della modalità auto                                       | Blocca le azioni che giudica non sicure                                                                                    | Attivo con la modalità auto. Numeri di [marzo 2026](https://www.anthropic.com/engineering/claude-code-auto-mode) di Anthropic: ha mancato il 17% di 52 azioni reali troppo intraprendenti |
| [Regole deny, ask e allow](https://code.claude.com/docs/en/permissions)  | Bloccano o forzano una richiesta per le chiamate di strumenti corrispondenti, in ogni modalità                             | Nessuna finché non le scrive                                                                                                                                                              |
| [Sandbox di Bash](https://code.claude.com/docs/en/sandboxing)            | Limiti imposti dal sistema operativo su file e rete per i comandi di shell                                                 | Disattivata. Solo shell; legge `~/.ssh` a meno che non lo neghi                                                                                                                           |
| [Hook](https://code.claude.com/docs/en/hooks)                            | Il Suo script gira prima di ogni chiamata di strumento e può bloccarla                                                     | Nessuno                                                                                                                                                                                   |
| [Checkpoint e `/rewind`](https://code.claude.com/docs/en/checkpointing)  | Annullano le modifiche ai file di Claude                                                                                   | Attivi, ma i file modificati solo da Bash non sono tracciati                                                                                                                              |
| Finestra di fiducia, approvazione di `.mcp.json`                         | Chiedono prima di fidarsi di una cartella o dei server MCP di un progetto                                                  | Attive in modalità interattiva; una sessione `-p` non ne mostra nessuna                                                                                                                   |
| [Impostazioni gestite](https://code.claude.com/docs/en/managed-settings) | Un'organizzazione blocca modalità, regole e hook                                                                           | Non distribuite a meno che la Sua azienda lo faccia                                                                                                                                       |

Questo è il percorso di una chiamata di strumento. I passi in rosso sono quelli che un'installazione nuova lascia vuoti o spenti:

1. **Claude propone una chiamata di strumento**. Modificare un file, eseguire un comando di shell, chiamare un server MCP.
2. **Hook PreToolUse**. Il Suo script vede l'intera chiamata e può bloccarla. Nessuno di default.
3. **Regole deny e ask**. Confrontano il comando così com'è scritto. Nessuna di default.
4. **Modalità di permessi**. Manuale chiede a Lei, la modalità auto chiede a un classificatore, bypass non chiede a nessuno.
5. **Sandbox**. Limiti del sistema operativo su file e rete, solo per i comandi di shell. Disattivata di default.
6. **La chiamata viene eseguita con l'accesso del Suo utente**. Dopo questo punto, aiutano solo git e i backup.

*Figura 2. I livelli tra una chiamata di strumento proposta e i Suoi file, con i loro valori predefiniti in Claude Code a ottobre 2026.*

`--dangerously-skip-permissions` ha una riga tutta sua nella documentazione: «Usi questa modalità solo in ambienti isolati come container o VM dove Claude Code non può causare danni.»

Le regole deny e gli hook giudicano il comando come testo, quindi un comando scritto in un altro modo può comunque passare, e un hook gira con tutto il Suo accesso. Per questo sono un solo livello, e git, backup e credenziali separate sono gli altri.

## Come configurare Claude Code in sicurezza

In ordine di valore per minuto:

1. **Faccia commit prima di iniziare, e spesso.** I checkpoint non coprono i file cambiati da un comando di shell. Git sì.
2. **Tenga le credenziali di produzione fuori dalla cartella dell'agente.** In una segnalazione gli script usa e getta di un subagente hanno eseguito `DELETE FROM` su ogni tabella perché le credenziali di produzione stavano scommentate nel `.env` locale ([#64056](https://github.com/anthropics/claude-code/issues/64056)). Un database di sviluppo che l'agente può rompere va bene; uno di produzione che può raggiungere è l'incidente.
3. **Scriva regole deny per i comandi che distruggono.** Valgono in ogni modalità, bypass compreso:

```json
{
  "permissions": {
    "deny": [
      "Bash(git reset --hard *)",
      "Bash(git push --force *)",
      "Bash(git push -f *)",
      "Bash(git checkout -- *)",
      "Bash(git clean *)",
      "Bash(terraform destroy *)",
      "Bash(drizzle-kit push --force *)",
      "Bash(prisma migrate reset *)",
      "Read(./.env)",
      "Read(./.env.*)"
    ]
  },
  "sandbox": {
    "enabled": true,
    "allowUnsandboxedCommands": false
  }
}
```

4. **Attivi la sandbox** (`/sandbox`) e disattivi il nuovo tentativo fuori sandbox, come sopra. Aggiunga `filesystem.denyRead` per `~/.ssh` e le cartelle delle credenziali cloud, dato che la sandbox le legge di default.
5. **Aggiunga un hook `PreToolUse` per ciò che le regole di testo non vedono.** Una regola deny non vede `git -C . push --force` né una cancellazione in Python; un breve script che guarda l'intero comando sì. Cominci dai cinque comandi che Le farebbero più male.
6. **Tratti i contenuti non fidati come codice.** Apra i repository sconosciuti in un container o in una VM, dia alle esecuzioni di CI token con ambito limitato e ricordi che una sessione `-p` non mostra finestra di fiducia. Un plugin o un server MCP gira con i Suoi privilegi; Anthropic dice che «non esegue audit di sicurezza né gestisce alcun server MCP».
7. **Limiti le esecuzioni lunghe.** Usi `--max-budget-usd` per il lavoro non presidiato e tenga d'occhio il numero di subagenti.

Se l'agente costruisce su Supabase, lo stesso ragionamento vale per le chiavi: la chiave segreta che usa negli script salta ogni policy, come ho mostrato in [anon key vs service role key](https://madsalt.tech/it/blog/supabase-anon-key-vs-service-role-key/). L'elenco più ampio di ciò che le app costruite con l'IA sbagliano è in [rischi di sicurezza del vibe coding](https://madsalt.tech/it/blog/vibe-coding-security-risks/), e come falliscono gli agenti nelle esecuzioni lunghe è in [cosa si è rotto nella mia orchestrazione multi-agente](https://madsalt.tech/it/blog/multi-agent-orchestration-what-broke/).

## Domande frequenti

**Claude Code può cancellare i miei file?** Sì. In modalità Manuale chiede prima, ma un comando approvato può raggiungere tutto ciò che il Suo utente raggiunge; con le modalità di approvazione automatica potrebbe non chiedere. 11 delle segnalazioni qui sopra sono cancellazioni di file. Git e i backup sono la soluzione che funziona sempre.

**`--dangerously-skip-permissions` è sicuro?** Solo in un container o in una VM senza nulla che non possa permettersi di perdere, secondo la documentazione di Anthropic. Le regole deny e gli hook continuano a valere in quella modalità; le richieste di conferma no.

**La modalità auto è sicura?** Più sicura che approvare tutto per riflesso. Anthropic ha misurato un tasso di falsi positivi dello 0,4% e ha detto di aver mancato il 17% delle azioni reali troppo intraprendenti nel suo test di marzo 2026, e l'ha definita «non un sostituto diretto di un'attenta revisione umana su infrastrutture ad alto rischio».

**Claude Code invia il mio codice ad Anthropic per l'addestramento?** Con i termini commerciali (Team, Enterprise, API), Anthropic dice di non addestrare sul Suo codice o sui Suoi prompt a meno che non lo accetti. Sui piani consumer è un'impostazione che controlla Lei. I dettagli sono nella [pagina sull'uso dei dati](https://code.claude.com/docs/en/data-usage).

**La modalità auto è la stessa cosa di `--dangerously-skip-permissions`?** No. Anthropic ha creato la modalità auto per sostituire quell'opzione: un classificatore continua a rivedere i comandi di shell, le chiamate di rete e l'avvio di subagenti, e dopo 3 rifiuti di fila o 20 in totale si ferma e Le restituisce il controllo. L'opzione non rivede nulla.
