TL;DR : une commande vous dit combien d’agents, de serveurs MCP, de plugins et d’extensions IA tournent chez vous, et lesquels peuvent lancer des commandes ou lire vos clés. Chez nous : 62, dont 49 qui exécutent du code. Ça se répare en dix minutes, et la première étape est de regarder.
Depuis un an, on installe des agents comme on installait des extensions de navigateur en 2010 : une commande vue dans un fil, un plugin recommandé par quelqu’un, un serveur MCP ajouté pour essayer et jamais retiré. Chacun est raisonnable pris isolément. Personne ne tient la liste.
Geiger tient la liste. Il lit les fichiers de configuration de la machine, en déduit ce qui est installé, et étiquette chaque trouvaille selon ce qu’elle peut atteindre : exécuter du code, détenir des identifiants, lire tout le disque, lire tout le web, sortir sur le réseau. Licence MIT, aucune dépendance, aucun privilège demandé.
npx geiger-scan
npx geiger-scan --html rapport.html --json rapport.json
Ce qu’il a trouvé chez nous
Nous l’avons lancé sur la machine qui fabrique ce site : un poste de travail réel, avec Claude Code au quotidien, des dizaines de plugins et plusieurs autres agents installés au fil des essais. Une seconde d’exécution.

Soixante-deux trouvailles. Quarante-neuf peuvent exécuter du code, vingt et une peuvent lire tout le disque, et une détient un identifiant. Le rapport HTML est le même inventaire, en plus lisible.

La trouvaille qui pique est la clé. Un serveur MCP portait sa clé d’API en clair dans le fichier de configuration de l’agent, ce qui est parfaitement banal et parfaitement oublié. Voici ce que Geiger en dit, nom du serveur masqué par nos soins :
***** (Claude Code · global) MCP server
[EXECUTES] [HOLDS-SECRETS] [BROAD-FILESYSTEM]
origin: registry · github:*****
credential: "*****_API_KEY" : opaque value under a credential-named key · ~/.claude.json
fix: Rotate the credential(s) listed here and move them out of plaintext config,
use your platform's secret storage or an env manager.
Notez ce qu’il affiche : le nom de la clé et le fichier, jamais la valeur. C’est le genre de détail qui distingue un outil écrit par quelqu’un qui a réfléchi de celui qui recopie un fichier dans un rapport.
La partie qu’on avait oubliée
Le reste de l’inventaire est un miroir tendu. Sept autres agents dorment sur la machine, tous capables de lancer des commandes et de lire le disque : des outils installés pour un essai, un article, une comparaison, et jamais désinstallés.

Et trois extensions de navigateur, une par profil Chrome, qui peuvent lire et modifier chaque site visité.

Rien de tout cela n’est une faille. C’est un état des lieux, et il est exact.
Ce qu’il rate, et c’est notre mesure
Nous avons comparé sa liste à la réalité, et c’est là qu’on apprend quelque chose que le dépôt ne dit pas. Geiger a trouvé cinq serveurs MCP. Deux déclarés globalement, trois pour un projet. Sur la même machine, vingt-quatre autres sont déclarés par les plugins installés, dans leurs propres fichiers.
Il voit les plugins, il en compte vingt-quatre. Il n’ouvre pas leur configuration pour y trouver les serveurs qu’ils apportent. Résultat : les serveurs MCP les plus faciles à oublier, ceux qu’on n’a jamais ajoutés soi-même, sont exactement ceux qui manquent à l’inventaire. L’auteur documente honnêtement d’autres limites (il lit la configuration et non le comportement, il ne juge pas si un paquet est malveillant), mais pas celle-là.
Ce qu’on en pense
L’outil a trois jours et dix-sept étoiles, et il faut le dire aussi : Atomburst vend à côté un produit de sécurité d’entreprise, DomainGuard. Le dépôt l’assume dans sa FAQ, Geiger fait l’inventaire, le produit vend la politique. Un outil d’appel, donc, mais un outil d’appel gratuit, en MIT, sans télémétrie et sans compte.
Ça ne change rien à l’essentiel : personne d’autre ne fait ce travail, et la question qu’il pose est la bonne. Pas « êtes-vous attaqué », mais « savez-vous ce que vous avez installé ». Sur notre machine, la réponse honnête était non.
Le vrai coût de l’outil n’est pas la seconde d’exécution, c’est la demi-heure qui suit. Retirer les agents qu’on n’utilise plus, sortir la clé du fichier de configuration, épingler les serveurs MCP tirés d’une étiquette flottante. C’est ce qu’on a fait, et il faudra le refaire : le mode --diff compare deux relevés et dit ce qui est apparu depuis la dernière fois. C’est probablement sa meilleure idée.