← Todos los textos

Por qué un agente de IA nunca debería tener una clave privada

Una clave concede autoridad ilimitada y todo límite encima es software. Un nombramiento se retira; una clave copiada no se descopia.

Seguridad4 min de lecturaDeFiLoops

La forma más rápida de construir una cartera agéntica es generar una clave privada, dársela al agente y escribir algunas reglas sobre lo que puede hacer con ella. Casi todas las primeras versiones funcionan así, y el sector está ahora discutiendo cómo salir de ahí — Coinbase lo ha argumentado públicamente, y el razonamiento cabe en una frase.

Una clave privada no es un permiso. Es el permiso. Todo lo que ponga encima es una petición.

Lo que una clave concede en realidad

Before

Gasta hasta 500 USDC al mes. Solo estos tres protocolos. Nunca envíes a una dirección que no esté en la lista.

After

Firma cualquier transacción que esta cuenta pueda hacer, por cualquier importe, a cualquier dirección, en cualquier red, para siempre.

La columna izquierda la hace cumplir el código que resulte estar corriendo entre el agente y la red. La derecha la hace cumplir la matemática. Cuando ambas discrepan —por un fallo, un compromiso, un modelo persuadido o un proceso reiniciado con la configuración equivocada— la derecha gana siempre.

La asimetría que nadie planifica

Aquí está la parte que cambia la arquitectura y no la configuración.

Una clave no se puede descopiar.

Si una clave se filtra —una línea de log, un volcado de memoria, una dependencia comprometida, una copia de seguridad que no debía existir— todo el que tenga una copia tiene autoridad total, de forma permanente, y usted no puede saber cuántas copias hay. Rotarla significa mover todos los activos a una dirección nueva, lo cual es a su vez un conjunto de transacciones en las que ahora debe confiar.

Un nombramiento es lo contrario. Vive en la red, se comprueba en cada llamada y se retira con una transacción que no necesita la colaboración de nadie.

Una clave filtrada frente a un nombramiento retirado
Cuántas copias existen
Clave: incognoscible. Nombramiento: no es algo que se pueda copiar
Cómo se detiene
Clave: moviendo todos los activos. Nombramiento: una transacción desde su cartera
Con qué rapidez surte efecto
Clave: cuando se ha movido el último activo. Nombramiento: en la siguiente llamada
Ayuda de quién hace falta
Clave: gas suficiente en cada red, y tiempo. Nombramiento: de nadie
Si el operador es hostil
Clave: puede que ya tenga una copia. Nombramiento: no puede concederse uno

Qué sustituye a la clave

Circulan tres respuestas, y no son equivalentes.

  1. Partir la clave (MPC o multifirma)

    Nadie firma solo, y un motor de políticas decide qué se cofirma. Es la respuesta comercial dominante y una mejora genuina: ya no hay un único objeto cuyo robo termine la historia.

    Lo que no cambia es la capacidad de expresión. Lo que se cofirma sigue siendo una transacción arbitraria, así que el motor de políticas sigue siendo un filtro decidiendo si una dirección de destino es aceptable.

  2. Mantener la clave lejos del modelo

    Ponga la clave de firma en hardware o en un servicio aparte que el modelo no pueda leer, y deje que el modelo solo pida firmas. Mejor todavía: un modelo persuadido ya no puede exfiltrar la clave.

    Pero un modelo persuadido sí puede pedir lo que no debe, y algo tiene que juzgar la petición.

  3. No darle ni clave ni vocabulario para una dirección

    El agente es un contrato que su cuenta nombra. Lo que envía es un formulario fijo de casillas etiquetadas, tomadas de una lista cerrada de operaciones. No hay casilla para un destino ni para una carga útil; los destinos son roles, resueltos desde su cuenta cuando se ejecuta el paso.

    Un modelo persuadido no puede expresar “envíamelo a mí”, así que nada tiene que detectar que lo intentó.

Qué tenemos nosotros

Conviene ser concretos, porque “el agente es un contrato” invita a preguntar qué queda de nuestro lado.

El agente
Un contrato. Su cuenta lo nombra. Una clave simple no puede ser nombrada
El keeper
Una clave que tenemos. Lo único que puede hacer es decirle a ese contrato que haga una llamada
El pagador de comisiones
Paga el gas. No tiene activos ni permiso permanente de gasto en ningún sitio

Una clave de keeper robada no puede tomar su cuenta. El contrato rechaza en la red, antes de que ocurra la llamada: no apuntará a su cuenta directamente, no ejecutará las instrucciones que instalan permisos o cambian la propiedad, y no tocará una operación que usted no haya activado. Además está limitada por topes fijados en su cuenta que nada de nuestro lado puede subir.

La puerta de un solo sentido

Una propiedad más, porque es la otra mitad de “un nombramiento se puede retirar”.

Su cuenta nunca puede reapuntarse a un agente distinto. El primer nombramiento obliga, y el único cambio permitido es a ninguno.

Una cuenta cuyo agente se puede cambiar tiene dentro un rol: quien puede hacer el cambio. Ese rol es un objetivo, y el problema es que exista.

Es una restricción real para nosotros, no una función que disfrutemos. Significa que no podemos parchear un agente desplegado por debajo de usted. Un agente nuevo es algo a lo que usted se muda deliberadamente, con una cuenta nueva. Más lento para nosotros; ese es el punto.

Cómo evaluar cualquiera de estos

No hace falta fiarse de una página de seguridad. Pregunte qué puede escribir el agente.

Si la respuesta contiene una dirección, todos los controles que ese proveedor enumere son un filtro entre un modelo persuadible y su dinero — y los filtros se juzgan contra los ataques que alguien ya pensó. Si la respuesta no contiene una dirección, pregunte dónde se hace cumplir el tope de gasto y si puede irse con sus servidores apagados.

Esas dos preguntas separan los diseños más rápido que cualquier cantidad de documentación.