Antes de desplegar un contrato lo lee. Lea también la skill antes de instalarla. Un archivo de configuración que se instala con una sola línea puede abrir una shell, leer su almacén de credenciales y enviarlo a alguna parte — y nada de eso se ve en un README renderizado.
Los casos en los que el peligro no está en un juicio sobre la intención de alguien, sino en la forma de la configuración. Seis clases, 21 reglas.
Una shell como comando MCP. Una descarga canalizada directamente a la shell. Borrados recursivos que arrancan en / o en ~. Entornos aislados y peticiones de permiso desactivados con un parámetro. Ejecutables llamados desde directorios temporales que cualquier cosa de la máquina puede reescribir.
Claves de API vivas y material de clave privada escritos en un archivo que se comparte y se instala. Instrucciones que dirigen al agente a ~/.ssh, a ~/.aws o al archivo .env — que, junto a cualquier capacidad de salida, forman una ruta de filtración completa.
Extremos recolectores de usar y tirar. Webhooks de chat transportados dentro de una configuración — que son permisos de escritura dentro de una URL. Instrucciones para enviar el contenido de archivos, las variables de entorno o la conversación a una dirección remota.
Anulaciones de instrucciones. Reasignaciones de identidad. Órdenes escondidas en comentarios HTML — invisibles en la vista renderizada y completamente visibles para el modelo. Caracteres de ancho cero y de cambio de dirección, de modo que lo que lee el revisor y lo que recibe el modelo son dos documentos distintos.
Permisos de comando con comodines — donde una lista de permitidos deja de ser una lista de permitidos. Instrucciones que le dicen al agente que actúe sin pedir aprobación, que es exactamente la condición que necesita una instrucción inyectada para funcionar.
Paquetes sin fijar que se instalan y se ejecutan en cada arranque. Código traído de una rama en lugar de un commit — de modo que lo que se revisó y lo que se ejecuta pueden separarse con un solo push.
Las herramientas en sí (el escáner, los paneles, el espacio de trabajo de SAFI) funcionan por ahora con interfaz en inglés. Estas páginas se lo explican todo en español antes de que entre en ellas.
Hay que decirlo antes que nada, porque las dos cosas viven en el mismo sitio y la captura de pantalla de una no debe confundirse con la otra.
Significa que no se ha encontrado ninguno de estos patrones. NO significa que sea seguro ejecutar el archivo. Una skill puede ser hostil sin coincidir con nada conocido. Lea lo que instala.
El motor de Solidity ejecuta 201 detectores sobre un lenguaje que tiene especificación y sistema de tipos; ahí «esta función mueve dinero y puede llamarla cualquiera» es una propiedad decidible. Produce una puntuación.
Este escáner son 21 reglas que buscan patrones dentro de texto plano y JSON. Lo que hace peligrosa a una skill es la intención, y la intención no es decidible. Por eso produce superado / aviso / suspenso y a propósito no produce puntuación.
El texto se lee, se coteja y se descarta. No hay ninguna fila, ninguna caché ni ninguna línea de registro que lo lleve.
Aquí, hasta 128 KB. El nombre del archivo determina qué reglas se ejecutan — las reglas propias de una configuración no se disparan en un texto plano que se limita a citar esos patrones.
Esta página lee un archivo cada vez. Las mismas reglas están en la herramienta de línea de comandos: recorre un directorio, no pide clave de API y no envía nada a ninguna parte — npx saferico skill ./mi-skill
Las mismas reglas se ofrecen también a través de la herramienta MCP scan_agent_config, para que la comprobación se haga antes de instalar algo y no después.
Pegue la dirección del contrato y vea los poderes del propietario, la liquidez y el resultado de la simulación de venta antes de arriesgar nada. La pequeña tarifa por escaneo se le muestra antes de firmar — y con cualquier suscripción está incluida sin límite.