Install
brew tap ashlrai/phantom
brew trust --formula ashlrai/phantom/phantom
brew install ashlrai/phantom/phantomPour qui
Si vous avez branché un agent de codage IA à votre développement quotidien et que le .env de votre projet contient de vrais secrets, les journaux, les échos d'erreur et les extraits de contexte peuvent tous devenir des voies de fuite. Phantom convient à celles et ceux qui ont besoin d'une frontière nette entre « l'application continue de recevoir les vraies valeurs » et « l'agent ne voit jamais la valeur du secret », ainsi qu'aux équipes qui veulent distribuer et faire tourner les secrets de façon centralisée sans les pousser dans la chaîne d'outils de chacun.
Sa forme est « proxy local + serveur MCP » : les secrets du projet sont remplacés par des espaces réservés phm_ à portée limitée, l'application récupère les vraies valeurs via un proxy local authentifié, et le côté agent n'accède qu'à des outils MCP aveugles aux valeurs, destinés à l'inventaire, au diagnostic et aux requêtes contrôlées. La condition d'emploi est que vous acceptiez de laisser un processus proxy tourner en permanence sur votre machine et de faire entrer la réécriture du .env dans votre propre processus de gestion de versions — cette étape ne se saute pas d'un revers de main.
Trois minutes pour un premier essai
La voie officielle recommandée est Homebrew. L'installation macOS donnée par le dépôt est un enchaînement en trois étapes : d'abord tap, puis trust, enfin install ; vous obtenez deux exécutables, phantom et phantom-mcp, correspondant à la version v0.7.9 indiquée par le dépôt.
brew tap ashlrai/phantom
brew trust --formula ashlrai/phantom/phantom
brew install ashlrai/phantom/phantom
Prérequis : Homebrew doit déjà être installé sur macOS ; si vous renoncez à Homebrew et compilez les sources vous-même, le dépôt fige la version de la chaîne d'outils de compilation, votre environnement de build doit donc disposer de la chaîne d'outils Rust correspondante.
Viennent ensuite deux étapes de configuration, dans l'ordre. D'abord, entrez dans le répertoire du projet et lancez phantom init ; notez bien qu'il s'agit d'une opération d'écriture — elle réécrit le .env de ce projet en remplaçant les vraies valeurs de clés par des espaces réservés phm_ ; le point de contrôle est de vérifier avant l'exécution que le .env est sauvegardé ou versionné, puis de comparer dans la sortie de la commande le nombre de remplacements avec celui attendu. La seconde étape écrit la configuration pour le client concerné :
phantom init
phantom setup --client claude
Ensuite, utilisez l'étape en lecture seule pour une vérification à faible risque : phantom list affiche votre inventaire de secrets sans montrer aucune valeur. Le signal de succès observable est que le terminal liste les noms des entrées et qu'aucun caractère de vrai secret n'apparaît derrière ; ensuite, faites relire le dépôt par l'agent : il obtient des choses qui commencent par phm_ et non les vraies valeurs.
Pour la référence complète des commandes et des options, consultez le dépôt officiel https://github.com/ashlrai/phantom-secrets
Cas d'usage
Premier cas : donner à l'agent un canal « il voit l'inventaire, pas les valeurs ». Les outils MCP côté agent sont aveugles aux valeurs et couvrent trois usages : inventaire, diagnostic et requêtes contrôlées ; le dépôt positionne ces outils comme des vérifications de capacité, d'état et d'état du dépôt, qui ne déclenchent aucune action côté fournisseur. Vous pouvez donc laisser l'agent répondre sans hésiter à « quels sont les secrets configurés dans ce projet, le chemin actuel fonctionne-t-il, quels fichiers du dépôt référencent des espaces réservés » — l'agent ne renvoie pas les valeurs des secrets et ne modifie pas au passage les ressources cloud pendant ses vérifications.
Second cas : laisser le code applicatif continuer à fonctionner avec les vraies valeurs, tout en gardant ces valeurs hors de vue de l'agent. La substitution a lieu au moment de l'initialisation : les vraies valeurs de clés du .env deviennent des espaces réservés phm_ à portée limitée, l'application lit les variables d'environnement comme d'habitude, et les requêtes qu'elle envoie sont prises en charge par le proxy local, qui récupère les vraies valeurs après authentification. Le point d'entrée des requêtes contrôlées côté proxy partage la même contrainte « aucune valeur » que les points d'entrée d'inventaire et de diagnostic : l'application fonctionne donc, et l'agent n'obtient toujours pas les secrets eux-mêmes. Attention : la documentation du dépôt indique seulement que le proxy est un proxy local « authentifié », sans détailler la forme exacte de l'authentification ; sur ce point, fiez-vous à la description du dépôt.
Limites d'usage
Premièrement, phantom init réécrit le .env : c'est une véritable opération d'écriture. Sauvegardez ou versionnez avant d'exécuter, et ne collez pas le diff avant/après tel quel dans un canal public.
Deuxièmement, la nature aveugle aux valeurs des outils côté agent garantit seulement « pas de valeurs visibles », pas « peut tout faire ». Le dépôt les positionne comme des vérifications de capacité, d'état et d'état du dépôt, et ne déclenche pas d'action fournisseur à votre place ; les vrais appels cloud ont lieu sur le chemin de requête que l'application envoie via le proxy local — lors d'un diagnostic, il faut distinguer ces deux segments.
Troisièmement, ce n'est pas un outil sans risque : il doit lire le .env local et les fichiers de configuration du client, et le proxy local envoie des requêtes à des fournisseurs tiers, les secrets continuent donc de circuler entre votre machine et ce fournisseur. Vous accepter ou non ce chemin dépend de la question de savoir si votre organisation autorise son existence côté agent.
Quatrièmement, les modes d'installation et les descriptions des commandes du dépôt évoluent avec les versions : avant une mise à niveau, revenez vérifier sur le dépôt officiel.