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.
Activer ou désactiver Moon GuardLien vers la section Activer ou désactiver Moon Guard
moon guard on
moon guard off
moon guard # voir l’état et son origineLe 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 :
MOON_GUARD=on moon$env:MOON_GUARD = "on"
moonmoon doctor indique aussi si Moon Guard est activé.
Ce qui est bloquéLien vers la section 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 , find |
| É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 |
| Arrêt de la machine | shutdown, reboot, halt, poweroff, systemctl |
| 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,
~/et le trousseau du système, y compris par des parcours récursifs (.config/ moon 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 pushou une autre opération Git distante, un interpréteur avec du code en ligne (python -c,node -e,powershell…), une page ou une recherche web, ou un outil MCP.-Command
Ce qui est signaléLien vers la section 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 -rfsur une cible ordinaire ;gitetpush --force git;push --force-with-lease git;reset --hard chmod 777sur un chemin système ;history -c(effacement de l’historique du shell).
Contenu externe marquéLien vers la section 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 pasLien vers la section 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 ». »
LimitesLien vers la section 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.