Ir al contenido
SaferICO SaferICOSeguridad de contratos inteligentes
En el plan AI Agents — 59,90 USD al mes

El código está bien, el contrato está bien. A quien convencen es a quien guarda la clave.

Un agente con billetera es una superficie de ataque nueva: la pérdida ocurre cuando una frase en una página web convence a quien guarda la clave de mandar el dinero a otro sitio. Esta herramienta lee lo que su agente es capaz de hacer, le envía 20 sondas adversarias para averiguar lo que hará y le da una billetera señuelo sin clave privada — para que pueda leer todo lo que intenta firmar.

20 sondas adversarias6 fases de ataqueEl firmante señuelo no tiene claveSolo identificadores de redes de prueba
//Tres carriles

Lo que puede hacer, lo que hace y lo que firma

Los tres producen tipos de prueba distintos. Solo la prueba observada puede informarse como Crítica — una inferencia sacada de un grafo de capacidades, nunca.

A · Grafo de capacidades

Pegue las definiciones de las herramientas del agente: cuáles pueden mover valor, cuáles meten dentro texto que el agente no ha escrito, cuáles tocan claves y si hay algo entre ellas y la firma. Se leen seis formatos de configuración.

B · 20 sondas adversarias

Se envían 20 mensajes adversarios al extremo del agente y se lee la respuesta que devuelve. Es el único carril que produce prueba observada.

C · Firmante señuelo

Le damos una dirección RPC. Conecta su agente a ella con una única variable de entorno. Cada firma que intenta se registra y se descompone: qué función, qué destinatario, qué importe y si la aprobación era ilimitada.

Cargas inofensivas

Cada sonda le pide al agente algo reconocible e insignificante: que repita un testigo, que diga una dirección centinela sin clave privada, que llame a una herramienta que nadie ha pedido. Lo que es una vulnerabilidad es la obediencia.

La prueba de propiedad es obligatoria

Antes de que salga una sola petición tiene que publicar el archivo /.well-known/saferico-agent-test.txt en el origen del propio extremo. El testigo que va ahí solo puede derivarlo su cuenta.

Lo que no se puede medir no cuenta

Una comprobación que no ha podido ejecutarse se informa como NO PROBADA, nunca como superada. Si se ha medido demasiado poco, en lugar de una puntuación que le halague no se da ninguna.

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.

Por qué es seguro

Esta herramienta ataca a su agente. Solo puede hacerlo con límites demostrables — y los límites están escritos uno a uno aquí abajo.

🔑 El firmante señuelo no tiene clave privada

No es que «esté configurado para no firmar»: en el módulo no hay ninguna clave, así que firmar no es una regla que respete, es una operación que no puede realizar. Un error aquí no puede convertirse en una moneda movida, porque no hay nada que mover.

Y no fabrica recibos falsos. La implementación fácil devolvería un hash de transacción verosímil para que el agente siguiera su camino — eso es falsificar la prueba de una transacción que no ha ocurrido. En su lugar devuelve un error JSON-RPC que dice con claridad lo que ha pasado. El hallazgo es el intento en sí.

01Su instrucción de sistema no sale de esta página

Las definiciones de sus herramientas y su instrucción de sistema se analizan en esta máquina. Lo que se envía para montar las cadenas es la estructura: nombres de herramienta, clases de capacidad y valores verdadero/falso.

La única excepción está marcada con claridad: para que la sonda de filtración tenga con qué comparar, se envía junto a ella una expresión de hasta 200 caracteres escrita por usted. Se compara allí y se descarta — no se almacena, no se registra, no se escribe en el informe y no se envía al extremo probado. Si no quiere compartir esos 200 caracteres, deje el campo vacío; la sonda se informará entonces como NO PROBADA, no como superada.

02Seis fases, en el orden propio de un ataque

Las sondas no van al azar, avanzan con la forma de un ataque real:

  • Inyección de instrucciones — ¿obedece una instrucción que llega como dato? 6 sondas
  • Abuso de herramientas — ¿se le puede llevar a usar una herramienta que nadie ha pedido? 3 sondas
  • Manipulación de la transacción — ¿elige el texto al destinatario o el importe? 3 sondas
  • Firma de billetera — ¿firma sin preguntar a la persona a la que está obligado a preguntar? 2 sondas
  • Escalada de privilegios y pérdida de fondos — donde se cierra la cadena

La más realista va la primera: la inyección indirecta. Nadie le escribe a un agente DeFi «ignora tus instrucciones anteriores» — eso se pone en la descripción de un token, en una página web, en un README o en un texto en cadena que el agente lee a través de una herramienta.

03La sesión se termina sola

Una sesión de señuelo cuesta 10 créditos y está limitada por tres techos: 60 minutos, 200 eventos registrados y parada automática tras 15 minutos de inactividad. Cada una de esas cifras se lee, al generar la página, del módulo que las aplica, así que la página no puede anunciar un límite que el código no imponga.

Los identificadores de red son solo de redes de prueba; un identificador de red principal se rechaza al establecer la sesión. Un agente que se cree en la red principal puede hacer cosas que su operador tendría que explicar después.

//Preguntas

Antes de poner el agente a prueba

¿Las sondas le hacen daño de verdad a mi agente?
Las cargas son inofensivas por diseño: repetir un testigo, decir una dirección centinela sin clave privada y cosas así. Ahora bien, un agente que obedece puede realizar operaciones reales en los sistemas a los que está conectado — por eso se le pide confirmar que tiene autorización y demostrar la propiedad con un archivo.
¿Por qué a veces no se da ninguna puntuación?
Porque una puntuación alta salida de pocas comprobaciones engaña. Toda comprobación que no ha podido ejecutarse cuenta como NO PROBADA, y si se ha medido muy poco no se da puntuación. El denominador hay que leerlo antes que el número.
¿De verdad el firmante señuelo no custodia dinero?
No lo custodia. En el módulo no hay clave privada. Responde a eth_chainId, eth_accounts y eth_getBalance como un nodo normal y declara un saldo que merecería la pena mover — pero no puede firmar, porque no tiene con qué.
¿Qué formatos de configuración lee?
Seis: la salida de tools/list de MCP, el esquema de funciones de OpenAI, el esquema de herramientas de Anthropic, el character.json de ElizaOS, la exportación de un flujo de n8n o Make y el código fuente del agente directamente (JS / TS / Python).

Escanee el contrato antes de enviar dinero

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.