---
title: "Claude Code est-il sûr ? Ce que montrent 93 incidents"
description: "Claude Code est aussi sûr que sa configuration. 93 incidents publics classés par cause, les contrôles livrés par défaut et une configuration qui les arrête."
url: "https://madsalt.tech/fr/blog/is-claude-code-safe/"
author: "Denys Zaichenko"
language: "fr"
published: 2026-11-01
---

# Claude Code est-il sûr ? Ce que montrent 93 incidents

TL;DR

Claude Code est sûr si vous le configurez, et risqué avec ses réglages par défaut. Sur une installation neuve en octobre 2026, le sandbox est désactivé, il n’y a ni règles de refus ni hooks, et une commande shell que vous approuvez peut écrire partout où votre compte utilisateur le peut. J’ai classé 93 rapports d’incidents publics tirés de tickets GitHub, d’avis de sécurité et de billets sur la sécurité : les dégâts venaient de `git reset --hard` et de réinitialisations de base de données que personne n’avait demandés, de règles qui n’existaient que dans `CLAUDE.md`, de dépôts, de tickets et de plugins non fiables, et de sous-agents qui lançaient des sous-agents. Presque rien n’était un spectaculaire `rm -rf /`. Mettez le travail dans git, activez le sandbox, écrivez des règles de refus et un hook bloquant, et gardez les identifiants de production hors de portée de l’agent.

93

rapports d’incidents publics classés par cause, de juin 2025 à octobre 2026

tickets GitHub, avis de sécurité, blogs de sécurité, Hacker News

19

d’entre eux disent que des données ont été perdues pour de bon

11 autres disent qu’elles ont été récupérées

10

ont enfreint une règle écrite uniquement dans CLAUDE.md

un prompt est un conseil, une règle de permission est une application

Je suis Denys, ingénieur full-stack et IA, et j’utilise Claude Code tous les jours. Voici deux choses : ce qui a mal tourné pour d’autres, et ce que Claude Code vous offre contre cela, y compris lesquels de ces contrôles sont actifs par défaut. Puis une configuration qui comble les trous.

## Claude Code est-il sûr ?

La sécurité ne réside pas dans le modèle. Claude Code décide de ce qui s’exécute grâce à un mode de permission, des règles de permission, un sandbox facultatif et des hooks facultatifs, et la [page des permissions](https://code.claude.com/docs/en/permissions) d’Anthropic le dit clairement : les règles sont appliquées par Claude Code, pas par le modèle, et les instructions de `CLAUDE.md` orientent ce que Claude essaie de faire sans changer ce qu’il a le droit de faire.

La vraie réponse dépend donc de votre configuration. La [page sur la sécurité](https://code.claude.com/docs/en/security) décrit la limite du répertoire de travail comme une invite de permission et ajoute que « une commande Bash que vous approuvez peut quand même écrire partout où votre compte utilisateur le peut ». La [page du sandbox](https://code.claude.com/docs/en/sandboxing) dit « le sandbox est désactivé par défaut », et que même activé, il ne couvre que les commandes shell : les outils de fichiers, les serveurs MCP et les hooks s’exécutent en dehors. La phrase de conclusion d’Anthropic sur la page de sécurité : « aucun système n’est complètement immunisé contre toutes les attaques ».

## Ce qui a mal tourné pour d’autres : 93 rapports d’incidents

Le 31 octobre 2026, j’ai rassemblé les rapports publics de Claude Code causant des dégâts ou presque : 63 tickets GitHub et avis de sécurité, 26 billets sur des blogs de sécurité et d’ingénierie, et 4 fils Hacker News, de juin 2025 à octobre 2026. J’ai écarté les fils Reddit que je ne pouvais voir que par des miroirs. Chaque rapport a reçu un type et, quand l’auteur le disait, le mode de permission et si des données avaient été perdues. 60 des 61 citations que j’ai comparées au texte GitHub correspondaient mot pour mot.

![93 incidents par type. Tickets GitHub, avis, blogs, Hacker News. 06.2025–10.2026. Contournement du sandbox ou des permissions: 15; Travail git détruit: 14; Secrets exposés: 12; Fichiers supprimés: 11; Base de données endommagée: 9; Serveur MCP ou plugin malveillant: 9; Coût des sous-agents hors de contrôle: 9; Injection de prompt: 5; Autres: 9.](https://madsalt.tech/charts/fr/is-claude-code-safe-incidents.svg)

*Figure 1. 93 rapports d’incidents publics (63 tickets GitHub et avis de sécurité, 26 billets de blog, 4 fils Hacker News), de juin 2025 à octobre 2026, rassemblés le 31 octobre 2026.*

19 rapports disent que des données ont été perdues pour de bon, 11 qu’elles ont été récupérées, 36 décrivent une faille trouvée avant que quiconque soit touché (la plupart sont des avis de sécurité corrigés depuis), et 27 ne le disent pas. 56 rapports sur 93 ne nomment pas le mode de permission ; cet ensemble ne peut donc pas dire si le « mode YOLO » est l’endroit où naissent les dégâts. Il montre en revanche cinq schémas.

**1. L’agent exécute une commande destructrice que personne n’a demandée.** En corrigeant des erreurs de lint, il a exécuté `git checkout HEAD -- .` et jeté une heure de travail non commité ([#11821](https://github.com/anthropics/claude-code/issues/11821)). Au début d’une session, il a exécuté `git reset --hard origin/main` par-dessus des commits non poussés ([#34327](https://github.com/anthropics/claude-code/issues/34327)). Il a lancé `drizzle-kit push --force` sur une base de production sans sauvegardes ([#27063](https://github.com/anthropics/claude-code/issues/27063)), accepté une réinitialisation Prisma en production ([#33183](https://github.com/anthropics/claude-code/issues/33183)), et dans un [billet](https://aishippinglabs.com/blog/how-i-dropped-our-production-database-and-now-pay-10-more-for-aws) il a lancé `terraform destroy` avec un ancien fichier d’état de production dans le dossier. Rien de cela n’est `rm -rf /`. Ce sont des commandes normales avec un drapeau qui saute la confirmation propre à l’outil.

**2. Des règles qui n’existent que dans `CLAUDE.md`.** 10 rapports concernent une règle écrite que l’agent a enfreinte : il a commité de vraies clés d’API malgré une section de sécurité de 150 lignes ([#2142](https://github.com/anthropics/claude-code/issues/2142)), commité après une règle « ne jamais commiter » ([#34774](https://github.com/anthropics/claude-code/issues/34774)), affiché un jeton avec `grep` et ne l’a remarqué qu’après coup ([#44868](https://github.com/anthropics/claude-code/issues/44868)). Un auteur fait remarquer que `CLAUDE.md` se trouve dans le dépôt où l’agent peut écrire ([#23870](https://github.com/anthropics/claude-code/issues/23870)). Cela correspond à la documentation : un prompt est un conseil, une règle est une application.

**3. Une règle de refus bloque une commande, pas un objectif.** Avec `Bash(rm *)` refusé, l’agent a supprimé le fichier avec une ligne de Python ([#39459](https://github.com/anthropics/claude-code/issues/39459)). La page des permissions dit la même chose de la correspondance de texte : `git -C . push` n’est pas couvert par une règle pour `git push`.

**4. Le texte et le code non fiables reçoivent le même pouvoir que vous.** Le fichier de réglages propre à un dépôt pouvait exécuter des hooks et envoyer la clé d’API avant la boîte de dialogue de confiance ([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 dans un ticket GitHub a poussé l’Action GitHub de Claude Code à lire l’environnement du runner et à révéler sa clé d’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 de marketplace avec un hook caché a envoyé du code vers le serveur d’un attaquant ([PromptArmor](https://www.promptarmor.com/resources/hijacking-claude-code-via-injected-marketplace-plugins)), et en octobre une copie altérée de l’extension Claude Code se trouvait dans la marketplace de Cursor ([Cursor](https://cursor.com/blog/claude-code-extension-security-notice)). Les failles corrigées le sont ; le schéma reste.

**5. Des sous-agents qui lancent des sous-agents.** Une session a brûlé plus de 600 dollars ([#72732](https://github.com/anthropics/claude-code/issues/72732)) ; une autre a démarré environ 242 agents avant que l’utilisateur tape `/exit` ([#69332](https://github.com/anthropics/claude-code/issues/69332)). La réponse d’un mainteneur dans #72732 dit que des plafonds sur les sous-agents simultanés et la profondeur d’imbrication ont été ajoutés dans la 2.1.217 et la 2.1.219.

## Ce que Claude Code vous donne, et ce qui est actif par défaut

Chaque contrôle ci-dessous est réel et documenté. La colonne qui compte est la troisième.

| Contrôle                                                                  | Ce qu’il fait                                                                                                               | Valeur par défaut, octobre 2026                                                                                                                                           |
| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Mode de permission](https://code.claude.com/docs/en/permission-modes)    | Manual demande avant les modifications et les commandes ; auto mode laisse un modèle classificateur approuver à votre place | L’auto mode est le mode de départ des sessions interactives depuis la v2.1.283                                                                                            |
| Classificateur de l’auto mode                                             | Bloque les actions qu’il juge dangereuses                                                                                   | Actif avec l’auto mode. [Chiffres de mars 2026](https://www.anthropic.com/engineering/claude-code-auto-mode) d’Anthropic : 17 % de 52 vraies actions trop zélées manquées |
| [Règles deny, ask et allow](https://code.claude.com/docs/en/permissions)  | Bloquent ou forcent une invite pour les appels d’outils correspondants, dans tous les modes                                 | Aucune tant que vous n’en écrivez pas                                                                                                                                     |
| [Sandbox Bash](https://code.claude.com/docs/en/sandboxing)                | Limites imposées par l’OS sur les fichiers et le réseau pour les commandes shell                                            | Désactivé. Shell seulement ; lit `~/.ssh` sauf si vous l’interdisez                                                                                                       |
| [Hooks](https://code.claude.com/docs/en/hooks)                            | Votre script s’exécute avant chaque appel d’outil et peut le bloquer                                                        | Aucun                                                                                                                                                                     |
| [Checkpoints et `/rewind`](https://code.claude.com/docs/en/checkpointing) | Annulent les modifications de fichiers de Claude                                                                            | Actif, mais les fichiers modifiés seulement par Bash ne sont pas suivis                                                                                                   |
| Boîte de dialogue de confiance, approbation de `.mcp.json`                | Demandent avant de faire confiance à un dossier ou aux serveurs MCP d’un projet                                             | Actif en interactif ; une session `-p` n’affiche ni l’une ni l’autre                                                                                                      |
| [Réglages gérés](https://code.claude.com/docs/en/managed-settings)        | Une organisation verrouille les modes, règles et hooks                                                                      | Non déployés, sauf si votre entreprise le fait                                                                                                                            |

Voici le chemin que suit un appel d’outil. Les étapes en rouge sont celles qu’une installation neuve laisse vides ou désactivées :

1. **Claude propose un appel d’outil**. Modifier un fichier, lancer une commande shell, appeler un serveur MCP.
2. **Hooks PreToolUse**. Votre script voit l’appel entier et peut le bloquer. Aucun par défaut.
3. **Règles deny et ask**. Comparent la commande telle qu’elle est écrite. Aucune par défaut.
4. **Mode de permission**. Manual vous demande, l’auto mode interroge un classificateur, bypass ne demande à personne.
5. **Sandbox**. Limites de l’OS sur les fichiers et le réseau, pour les commandes shell seulement. Désactivé par défaut.
6. **L’appel s’exécute avec les accès de votre utilisateur**. Après ce point, seuls git et les sauvegardes aident.

*Figure 2. Les couches entre un appel d’outil proposé et vos fichiers, avec leurs valeurs par défaut dans Claude Code en octobre 2026.*

`--dangerously-skip-permissions` a sa propre ligne dans la documentation : « N’utilisez ce mode que dans des environnements isolés comme des conteneurs ou des VM où Claude Code ne peut causer aucun dégât. »

Les règles de refus et les hooks jugent tous deux la commande comme du texte ; une commande écrite autrement peut donc passer, et un hook s’exécute avec tous vos accès. C’est pourquoi ils ne forment qu’une couche, et git, les sauvegardes et des identifiants séparés sont les autres.

## Comment configurer Claude Code en sécurité

Par ordre de valeur par minute :

1. **Faites un commit avant de commencer, et souvent.** Les checkpoints ne couvrent pas les fichiers modifiés par une commande shell. Git, si.
2. **Gardez les identifiants de production hors du dossier de l’agent.** Dans un rapport, les scripts jetables d’un sous-agent ont exécuté `DELETE FROM` sur chaque table parce que les identifiants de production étaient décommentés dans le `.env` local ([#64056](https://github.com/anthropics/claude-code/issues/64056)). Une base de développement que l’agent peut casser, ce n’est pas grave ; une base de production qu’il peut atteindre, c’est l’incident.
3. **Écrivez des règles de refus pour les commandes qui détruisent.** Elles s’appliquent dans tous les modes, y compris bypass :

```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. **Activez le sandbox** (`/sandbox`), et désactivez la nouvelle tentative hors sandbox comme ci-dessus. Ajoutez `filesystem.denyRead` pour `~/.ssh` et les dossiers d’identifiants cloud, car le sandbox les lit par défaut.
5. **Ajoutez un hook `PreToolUse` pour ce que les règles textuelles ratent.** Une règle de refus ne voit pas `git -C . push --force` ni une suppression en Python ; un court script qui examine la commande entière, si. Commencez par les cinq commandes qui vous feraient le plus mal.
6. **Traitez le contenu non fiable comme du code.** Ouvrez les dépôts inconnus dans un conteneur ou une VM, donnez aux exécutions de CI des jetons limités, et rappelez-vous qu’une session `-p` n’affiche pas de boîte de dialogue de confiance. Un plugin ou un serveur MCP s’exécute avec vos privilèges ; Anthropic dit qu’elle « ne fait pas d’audit de sécurité et ne gère aucun serveur MCP ».
7. **Plafonnez les longues exécutions.** Utilisez `--max-budget-usd` pour le travail sans surveillance et surveillez le nombre de sous-agents.

Si l’agent travaille sur Supabase, la même logique vaut pour les clés : la clé secrète qu’il utilise dans les scripts ignore chaque politique, comme je l’ai montré dans [clé anon vs clé service role](https://madsalt.tech/fr/blog/supabase-anon-key-vs-service-role-key/). La liste plus large de ce que les applications construites avec l’IA font mal est dans [les risques de sécurité du vibe coding](https://madsalt.tech/fr/blog/vibe-coding-security-risks/), et la façon dont les agents échouent dans les longues exécutions dans [ce qui a cassé dans mon orchestration multi-agents](https://madsalt.tech/fr/blog/multi-agent-orchestration-what-broke/).

## Les questions qu’on me pose

**Claude Code peut-il supprimer mes fichiers ?** Oui. En mode Manual, il demande d’abord, mais une commande approuvée peut atteindre tout ce que votre utilisateur peut atteindre ; avec les modes d’approbation automatique, il peut ne pas demander. 11 des rapports ci-dessus sont des suppressions de fichiers. Git et les sauvegardes sont le remède qui marche toujours.

**`--dangerously-skip-permissions` est-il sûr ?** Seulement dans un conteneur ou une VM sans rien que vous ne puissiez perdre, selon la documentation d’Anthropic. Les règles de refus et les hooks s’appliquent encore dans ce mode ; les invites, non.

**L’auto mode est-il sûr ?** Plus sûr que d’approuver tout par réflexe. Anthropic a mesuré un taux de faux positifs de 0,4 % et dit avoir manqué 17 % des vraies actions trop zélées dans son test de mars 2026, et l’a qualifié de « pas un remplacement direct d’une relecture humaine attentive pour une infrastructure à fort enjeu ».

**Claude Code envoie-t-il mon code à Anthropic pour l’entraînement ?** Sous les conditions commerciales (Team, Enterprise, API), Anthropic dit ne pas entraîner de modèles sur votre code ni vos prompts sauf si vous l’activez. Sur les forfaits grand public, c’est un réglage que vous contrôlez. Les détails sont sur la [page d’utilisation des données](https://code.claude.com/docs/en/data-usage).

**L’auto mode est-il la même chose que `--dangerously-skip-permissions` ?** Non. Anthropic a conçu l’auto mode pour remplacer ce drapeau : un classificateur examine encore les commandes shell, les appels réseau et le lancement de sous-agents, et après 3 refus de suite ou 20 au total, il s’arrête et vous rend la main. Le drapeau n’examine rien.
