Guía · Agentes de IA · · por Stefan Tsezarov
Dale a tu agente una segunda opinión antes de que actúe
Pides a tu agente de programación que arregle una compilación. Lee el README, revisa un hilo de un issue y encuentra una sugerencia:
Una solución plausible. Un cambio pequeño. El agente prepara el comando de instalación.
Pero ese guion que falta importa. crossenv fue un paquete malicioso real, retirado de npm en 2017 tras descubrirse que robaba variables de entorno, donde los desarrolladores suelen guardar claves y tokens.
La conversación de arriba es un ejemplo. El paquete no.
01Cuando una sugerencia se convierte en un comando
Los agentes de programación leen mucho texto que quizá nunca veas: documentación, comentarios de issues, páginas web y mensajes de error. Ese contexto les ayuda a resolver problemas. También puede llevarlos hacia una dependencia mala.
Instalar un paquete merece especial cuidado. Los paquetes npm pueden incluir scripts que se ejecutan durante la instalación, así que puede ejecutarse código antes de que hayas podido revisarlo.
El guardián previo a la instalación de SaveSaveSaveSave añade una comprobación en ese punto. Antes de que se ejecute un comando de instalación compatible, consulta el paquete y aplica la política que hayas elegido.
02¿Qué pasa con una instalación?
Fíjate en tres comandos que podría proponer un agente.
Un paquete del registro sin alertas
npm install cross-env
El guardián deja continuar el comando. Tu aviso de aprobación habitual sigue aplicándose. Significa que las comprobaciones no encontraron motivo para objetar; no es una garantía de que el paquete sea seguro.
Un paquete denunciado como malicioso
cd app && npm install --save-dev crossenv
El guardián deniega el comando y le dice al agente por qué. Reconoce la instalación aunque vaya detrás de otro comando.
Código descargado directamente de GitHub
npx github:someone/setup-script
En el modo por defecto, el guardián pide revisión humana. Una URL de Git queda fuera de sus comprobaciones del registro de npm, así que no puede dar la misma valoración.
Los comandos compatibles incluyen instalaciones con npm, pnpm, yarn y bun, además de npx, npm ci, cadenas de comandos con && y comandos dentro de bash -c "…".
03Tú eliges las reglas
El análisis aporta pruebas: qué comprobó, qué encontró y qué no pudo valorar. Una política que se ejecuta en tu equipo decide qué pasa después.
Elige uno de tres modos:
| Modo | Denunciado como malicioso | Precaución o datos insuficientes | La comprobación falla o la fuente está fuera del registro |
|---|---|---|---|
| observe | Permitir e informar | Permitir | Permitir |
| guard · por defecto | Denegar | Preguntar a una persona | Preguntar a una persona |
| strict | Denegar | Denegar | Denegar |
Usa observe para ver cómo se comporta el guardián en tu flujo de trabajo. Elige guard para bloquear paquetes maliciosos conocidos y revisar los casos dudosos. Elige strict cuando un resultado no concluyente deba parar la instalación.
Un resultado limpio nunca elimina una aprobación que tu agente necesitaría de todos modos.
04Añádelo a tu flujo de trabajo
Para Claude Code, añade este hook al .claude/settings.json de tu proyecto. Si el archivo ya tiene ajustes, combina el hook con ellos.
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "npx -y savesavesavesave@0.1.5 hook claude-code --mode observe"
}
]
}
]
}
}
El hook revisa los comandos Bash propuestos. Los comandos sin una instalación reconocida pasan sin más.
Para otro agente o script, pon el guardián delante del comando de instalación:
npx savesavesavesave@0.1.5 guard --mode guard -- npm install some-package
Sus códigos de salida le dicen a tu integración cómo seguir:
0: permitir1: pedir revisión humana2: denegar
Tu integración tiene que respetar esos resultados.
Los agentes compatibles con MCP también pueden pedir comprobaciones directamente. Las instrucciones de configuración están en la página Para agentes.
No hace falta cuenta ni clave de API. Los ejemplos fijan una versión para que puedas revisar una versión concreta antes de usarla.
05Sé qué cubre la comprobación
El guardián lee información publicada por el registro de npm y por OSV.dev. No descarga ni ejecuta el paquete, y por ahora cubre paquetes npm, no ecosistemas como PyPI o crates.io.
Eso deja algunos límites prácticos:
- Comprueba los comandos compatibles que recibe. Las instalaciones escondidas en archivos de script, los gestores de paquetes no compatibles o los binarios descargados pueden quedar fuera de su vista. Restricciones más fuertes requieren controlar el acceso del agente a la red y al sistema de archivos.
- Una amenaza no denunciada puede pasar. «Sin objeciones» significa que las comprobaciones disponibles no encontraron ningún riesgo conocido.
- El hook tiene que ejecutarse para que la política funcione. Si usas el modo strict, sigue las instrucciones del README del paquete (en inglés) para bloquear comandos cuando el propio hook no arranque.
Un agente de programación puede arreglar una compilación rápido. También puede actuar rápido ante una sugerencia convincente de alguien a quien no conoces.
Antes de que esa sugerencia tenga acceso a tu equipo, dale una segunda opinión.
Tu siguiente paso: añade el hook en modo observe, revisa sus resultados y elige la política que encaje con tu flujo de trabajo.