
CLI de solo lectura que inventaría agentes de IA, servidores MCP, plugins y extensiones en una máquina, informando sus capacidades y exposición con remediación en lenguaje sencillo.
Un contador Geiger para agentes de IA.
Un único comando de solo lectura que inventaría cada agente de IA, harness, servidor MCP, plugin y extensión de IA en una máquina — y te dice, en lenguaje sencillo, a qué puede acceder cada uno.
npx geiger-scan
Sin instalación. Sin cuenta. Sin telemetría. Lee configuraciones y directorios, no escribe nada (a menos que solicites --json yourfile.json).
En agosto de 2026, un arnés de agente de código abierto pasó de cero a más de 200.000 estrellas en GitHub en tres semanas. Su ecosistema de plugins superó los 13.000 repositorios en el mismo periodo. Los clientes de escritorio de un solo clic aparecieron el mismo día de su lanzamiento. Los carruseles de Instagram ahora enseñan a los oficinistas a instalarlo todo.
Cada una de esas instalaciones es un programa que puede ejecutar comandos, leer archivos y contener credenciales, configurado en dotfiles que nadie mira dos veces. Pregúntate lo que responde esta herramienta: ¿qué se está ejecutando realmente en esta máquina y a qué puede acceder? La mayoría de la gente no puede responderlo. Ahora es un solo comando.
GEIGER · a Geiger counter for AI agents
machine dev-laptop · 2026-09-06 12:24 UTC · read-only · no telemetry
──────────────────────────────────────────────────────────────
9 findings across 3 ecosystems · 7 can execute code · 1 credential in config files
claude-code (6)
Claude Code agent
[EXECUTES] [BROAD-FILESYSTEM] [NETWORK]
origin: registry · @anthropic-ai/claude-code
magic (Claude Code · global) MCP server
[EXECUTES] [HOLDS-SECRETS] [BROAD-FILESYSTEM]
origin: registry · @21st-dev/magic@latest
credential: "API_KEY" — opaque value under a credential-named key · ~/.claude.json
note: wrapped by a policy agent (domainguard-agent.exe) — enforcement layer in front of the server
hooks: UserPromptSubmit, PreToolUse hook
[EXECUTES]
note: hooks execute without a prompt each time their event fires
...
Salida real de una máquina real (valores redactados — ver más abajo).
| Ecosistema | Qué lee geiger |
|---|---|
| Claude Code | servidores MCP globales + por proyecto, hooks, plugins, skills, subagentes, apiKeyHelper |
| Hosts MCP | servidores MCP configurados en Claude Desktop, Cursor, Windsurf, VS Code (usuario + proyecto), Cline, Roo Code, Continue, Zed |
| Aplicaciones de IA e IDE | Cursor, Windsurf, Zed, Claude Desktop, ChatGPT Desktop, aplicación de escritorio Codex — se reportan por presencia, así que un cliente instalado con cero servidores MCP igual aparece |
| Otros agentes | Codex CLI, Gemini CLI, Kilo CLI, Grok Build, Aider, OpenCode, Qwen Code, DeepSeek Harness, Continue, GitHub Copilot CLI, Goose, JetBrains Junie, Open Interpreter, LM Studio, Ollama |
| Hooks | Claude Code (settings), Cursor (hooks.json), Codex (notify en config.toml), Gemini CLI (settings) — los comandos se listan, porque los hooks se ejecutan sin prompt |
| Git hooks | hooks activos en .git/hooks (se ignoran las muestras), redirecciones de core.hooksPath y merge drivers — git los ejecuta por sí mismo, y las herramientas de agentes se instalan aquí |
| Texto de skills y subagentes | lo que una skill realmente dice: su descripción, texto de instrucciones que intenta anular al agente u ocultarte trabajo, comandos con una forma hostil y formas de credenciales — un nombre en un listado de directorio no te dice nada |
| Extensiones de editor | extensiones de IA en VS Code / Insiders / Cursor |
| IDE de JetBrains | presencia de ajustes de AI Assistant / MCP por producto (los ajustes viven dentro del IDE — geiger te indica la pantalla correcta) |
| CLI globales | paquetes de agentes en raíces npm globales (se leen directamente — npm nunca se ejecuta) |
| Navegadores de IA | Comet, Dia, ChatGPT Atlas — el navegador es el agente, así que su presencia es un hallazgo |
| Extensiones de navegador | extensiones de IA en perfiles de Chrome / Edge / Brave / Vivaldi / Arc / Comet / Dia / Atlas / Firefox, con sus permisos concedidos |
Cada hallazgo incluye: qué es, de dónde vino (registro, tienda, git, script local, servidor remoto — o UNKNOWN-ORIGIN), qué puede hacer (EXECUTES, HOLDS-SECRETS, BROAD-FILESYSTEM, BROAD-WEB, NETWORK), y la ruta de evidencia para que puedas verificarlo a mano.
Geiger también reconoce envoltorios de políticas (agentes que colocan una capa de aplicación delante de los servidores MCP) y reporta ambas capas en lugar de ocultar el servidor real detrás del envoltorio.
--json
que indiques explícitamente.Node.js 18 o superior. Eso es todo. Node viene con npm y npx, y
geiger no tiene dependencias, así que no se instala nada más. Sin instalación
global, sin derechos de administrador, sin cuenta.
Si Node aún no está en la máquina, es un solo comando con el gestor de paquetes
que ya tengas — luego abre una nueva terminal para que npx esté en el path:
winget install OpenJS.NodeJS.LTS # Windows
brew install node # macOS (Homebrew)
sudo apt install nodejs npm # Debian / Ubuntu
Otras plataformas y gestores de versiones (nvm, fnm): https://nodejs.org/en/download
npx geiger-scan scan, print the report
npx geiger-scan --html report.html self-contained HTML report with per-finding
"what to do" remediation guidance
npx geiger-scan --json out.json machine-readable findings (schemaVersion 1)
npx geiger-scan --path D:\repo1 --path E:\repo2
also scan these project directories for
project-level agent and MCP configs
npx geiger-scan --home C:\Users\other scan a different home root (another user
profile, a mounted image)
npx geiger-scan --strict exit 2 if anything can execute code or
holds secrets
npx geiger-scan --diff baseline.json compare against an earlier --json
snapshot: what appeared, disappeared,
or escalated since then