A quién le sirve. Quien deja que un agente de programación instale paquetes y quiere evitar que se cuele uno inventado o malicioso.
Qué hicieron
Un desarrollador pidió a tres modelos pequeños que corren en su portátil que escribieran 200 scripts de Python, dos veces cada uno, y comprobó cada orden de instalación contra el registro oficial de paquetes. Algunos nombres eran inventados. Un atacante podría registrar uno de esos nombres con código malicioso y esperar a que un agente lo instale. Entrenó un modelo que detecta nombres sospechosos sin conexión y puso un hook de Claude Code, un aviso automático que salta antes de cada instalación, para bloquear los que no existen.
Cómo salió
El 15,0 % de las instalaciones sugeridas eran de paquetes que nadie ha publicado: 1,7 % en tareas comunes y 30 % en tareas raras. Al repetir todo desde cero, 161 de los 162 nombres inventados volvieron a salir. Con los datos del estudio, el freno bloqueó las 212 instalaciones inventadas y paró por error 13 de 1.165 reales.
Conviene saber
Son modelos locales pequeños y tareas de Python: con otros modelos los números serán distintos. El propio autor dice que otro método ganó en precisión y que preguntarle al modelo si un paquete existe falla mucho.
Qué necesitas
- Claude Code o un agente similar que permita avisos automáticos antes de ejecutar órdenes
- Acceso al registro oficial de paquetes de tu lenguaje
- Conocimientos básicos de programación
- Un rato para probarlo con paquetes reales e inventados
Cómo hacerlo tú, paso a paso
- Decide qué órdenes quieres vigilar, por ejemplo la instalación de paquetes.
- Configura un hook de tu agente que se ejecute antes de esa orden.
- Haz que el hook consulte el registro oficial y compruebe que el paquete existe.
- Si no existe, que bloquee la orden y sugiera un paquete real parecido.
- Prueba con un paquete real, uno inventado y uno con errata en el nombre.
- Revisa de vez en cuando qué ha bloqueado para ajustar la regla.
Quiero un control de seguridad para el agente que programa por mí. Antes de cada orden de instalación de paquetes (por ejemplo [pip install]), comprueba en el registro oficial que el paquete existe y lleva publicado un tiempo razonable. Si no existe, bloquea la instalación, dime el nombre y sugiere uno real parecido. Si existe, déjalo pasar. Nunca instales nada que no hayas verificado. Has terminado cuando me muestres el control funcionando con un ejemplo de paquete inventado y otro real.
Consejos
- No confíes en preguntar al modelo si un paquete existe: se equivoca en los dos sentidos.
- Vigila más las tareas raras o muy específicas, donde se inventan más nombres.
- No registres tú nombres inventados ni publiques la lista: sería una pista para atacantes.
Preguntas frecuentes
¿Qué riesgo hay si el agente instala un paquete que no existe?
Que alguien lo haya registrado después con código malicioso. Por eso conviene comprobar que el paquete existe antes de instalarlo.
¿Me sirve si uso un modelo de pago grande?
El estudio es con modelos pequeños locales. El control de existencia funciona con cualquier agente, pero las cifras no se pueden extrapolar.
Fuentes
En el directorio desde el 1 de noviembre de 2026.