# Moon Guard

> La garde qui bloque les commandes destructrices et la fuite de vos secrets. Désactivée par défaut depuis la version 0.2.2, elle s’active en une commande.

Moon Guard est une garde facultative qui inspecte les actions de l’agent avant leur exécution. Elle bloque les commandes destructrices, la lecture de votre session Moon AI et l’envoi de vrais secrets hors de votre machine.

> [!NOTE]
> **Désactivée par défaut**
>
> Depuis la version 0.2.2, Moon Guard est désactivée par défaut. Sans elle, l’agent vous demande toujours votre accord en mode normal, et ses outils de fichiers n’ont toujours pas accès au dossier de votre session ni à vos réglages Moon. Activez Moon Guard si vous utilisez le mode d’approbation automatique ou si vous travaillez sur un dépôt que vous ne connaissez pas.

## Activer ou désactiver Moon Guard

```bash title="Terminal"
moon guard on
moon guard off
moon guard       # voir l’état et son origine
```

Le réglage vaut pour les prochains lancements de `moon`. Pour un seul lancement, utilisez la variable `MOON_GUARD`, qui l’emporte sur le réglage :

```bash title="bash, zsh"
MOON_GUARD=on moon
```

```powershell title="PowerShell"
$env:MOON_GUARD = "on"
moon
```

`moon doctor` indique aussi si Moon Guard est activé.

## Ce qui est bloqué

Quand Moon Guard est actif, ces commandes sont refusées. L’agent reçoit un message du type « [Moon Guard] Commande bloquée : fork bomb. Exécutez-la vous-même hors de l’agent si vous êtes sûr. »

| Catégorie | Exemples |
| --- | --- |
| Suppression récursive d’une cible critique | `rm -rf /`, un dossier système, `~`, `$HOME`, `*`, `.` |
| Suppression récursive à cible opaque | `rm -rf $(…)`, chemin qui remonte hors du projet (`../../`) |
| Suppression de masse | `find … -delete`, `find … -exec rm` |
| Écriture directe sur un disque | redirection vers `/dev/sd*` ou `/dev/nvme*`, `dd of=/dev/…`, `mkfs` |
| Exécution de code téléchargé | sortie de `curl` ou `wget` envoyée à un shell ou à `python`, `perl`, `ruby`, `node` ; `eval $(curl …)` |
| Arrêt de la machine | `shutdown`, `reboot`, `halt`, `poweroff`, `systemctl reboot` |
| Fork bomb | fonction shell qui se relance sans fin |

Moon Guard bloque aussi :

- **la lecture de votre session et de vos réglages Moon** : le dossier d’état de Moon CLI, `~/.config/moon` et le trousseau du système, y compris par des parcours récursifs (`grep -r`, `find`, `tar`…), des jokers, des liens symboliques ou des noms courts Windows ;
- **l’envoi d’un vrai secret** restitué par Moon Blur : par une commande réseau, une requête DNS, un `git push` ou une autre opération Git distante, un interpréteur avec du code en ligne (`python -c`, `node -e`, `powershell -Command`…), une page ou une recherche web, ou un outil MCP.

## Ce qui est signalé

Ces commandes sont risquées mais courantes. Moon Guard affiche un avertissement et vous demande de confirmer ou de refuser ; en mode approbation automatique, elles passent sans confirmation :

- `rm -rf` sur une cible ordinaire ;
- `git push --force` et `git push --force-with-lease` ;
- `git reset --hard` ;
- `chmod 777` sur un chemin système ;
- `history -c` (effacement de l’historique du shell).

## Contenu externe marqué

Quand Moon Guard est actif, le contenu d’une page web lue par l’agent lui est présenté encadré comme du contenu externe non fiable : des données à analyser, jamais des instructions à suivre. Cela réduit le risque qu’une page piégée pousse l’agent à agir contre vous.

## Si Moon Guard ne se charge pas

Quand Moon Guard est activé, Moon CLI n’envoie rien au modèle tant que la garde n’est pas chargée. Si elle ne se charge pas, l’agent affiche : « La protection de Moon CLI (Moon Guard) ne s’est pas chargée : par sécurité, rien n’a été envoyé. Relancez « moon » ; si cela persiste, lancez « moon doctor ». »

## Limites

- Moon Guard lit le texte des commandes. Une commande obfusquée (variables, encodages) peut lui échapper : ce n’est pas un bac à sable.
- Elle complète vos confirmations, elle ne les remplace pas. Gardez le mode normal sur un projet que vous ne connaissez pas.
- Une commande bloquée reste possible : lancez-la vous-même, hors de l’agent, si vous êtes sûr de vous.

## Voir aussi

- [Modes de permission](https://realmoon.ai/documentation/moon-cli/utiliser/#modes)
- [Moon Blur dans Moon CLI](https://realmoon.ai/documentation/moon-cli/moon-blur/)
- [Configuration](https://realmoon.ai/documentation/moon-cli/configuration/#guard)

---

Documentation Moon AI › Moon CLI › Moon Guard. Page : https://realmoon.ai/documentation/moon-cli/moon-guard/. Modifiée le 5 novembre 2026.

© 2026 Stellarr Studio SAS. Tous droits réservés. Moon AI, Moon Blur et Stellarr Studio sont des marques déposées à l’INPI.
