La mayoría de quienes pierden tokens ante un contrato malicioso no sufrieron un ataque en ningún sentido técnico. Autorizaron algo, y la autorización siguió funcionando mucho después de que la olvidaran. Esta guía explica qué es una autorización, cómo consultar las tuyas y, con la misma importancia, de qué no te protege comprobarlas.
Qué es realmente una autorización
Los tokens fungibles estándar no permiten que un contrato te quite tokens. Lo que haces es conceder una asignación: un permiso permanente para que una dirección gastadora concreta mueva hasta una cantidad determinada de un token determinado desde tu dirección, cuando quiera.
Tres propiedades de ese permiso importan, y las tres sorprenden a la gente:
- Persiste. La asignación no se consume con la transacción para la que la concediste. Permanece hasta que se agota o se modifica.
- Suele ser ilimitada. Las interfaces piden habitualmente el valor máximo posible, porque así evitan volver a preguntarte y ahorran gas. Eso significa que el permiso abarca todo tu saldo de ese token, incluidos los tokens que adquieras más adelante.
- Es específica de una dirección, no de una aplicación. Estás confiando en la dirección de un contrato. Si una interfaz está comprometida y te pide autorizar una dirección distinta, nada en el aspecto del sitio parecerá fuera de lugar.
El incidente de BadgerDAO es la ilustración más clara de nuestro rastreador. Los contratos del protocolo nunca fueron explotados. Los atacantes inyectaron código en el sitio web que pedía a los usuarios autorizaciones hacia una dirección que ellos controlaban, y las autorizaciones hicieron el resto.
Cómo consultar tus autorizaciones
Las autorizaciones son datos públicos en cadena. No necesitas ningún servicio especial para verlas, y deliberadamente no te enviamos a ninguno.
Todos los exploradores de bloques importantes ofrecen una vista de autorizaciones o de autorizaciones de tokens para una dirección. Pega tu propia dirección pública —la que empieza por 0x y compartes para recibir fondos— y verás la lista de direcciones gastadoras que tu cuenta ha autorizado, por token, con el importe de la asignación.
Es una consulta de solo lectura. No requiere conectar ninguna cartera, ni firma, ni clave. Si algo que dice mostrarte tus autorizaciones quiere que conectes una cartera antes de enseñártelas, ciérralo.
Cómo leer la lista
Buscas tres cosas:
- Gastadores que no reconoces. Una dirección que no puedas vincular a un protocolo que usaras deliberadamente.
- Protocolos que ya no usas. Una asignación concedida a un servicio que dejaste de usar hace dos años sigue viva hoy.
- Asignaciones ilimitadas sobre saldos grandes. La exposición es el saldo, no el importe con el que operaste en su momento.
Qué no te diremos que hagas
No vamos a decirte que revoques nada, y no enlazamos herramientas de revocación. Es una posición editorial deliberada, no prudencia por sistema.
Después de cualquier incidente público aparecen rápidamente sitios fraudulentos de «revocación», «recuperación» y «comprobación», se anuncian de forma agresiva y a menudo se posicionan bien justo para las búsquedas que hace una persona preocupada. Una publicación que envía habitualmente a sus lectores a interfaces de gestión de autorizaciones entrena precisamente el hábito del que dependen esos atacantes. Qué hacer con una autorización que no te gusta es una decisión tuya, tomada a través de una interfaz en la que ya confías y a la que llegas por una ruta que ya conoces.
De qué no te protege esto
Revisar las autorizaciones merece la pena, y por sí solo no es una estrategia de seguridad. No hace nada frente a:
- Una frase semilla comprometida. Si alguien tiene tu frase de recuperación, las asignaciones son irrelevantes: tiene la cuenta.
- Firmar una transacción maliciosa. Las autorizaciones regulan las transferencias de tokens por parte de un tercero; no impiden que autorices tú mismo una transferencia.
- Las firmas fuera de la cadena. Algunos esquemas de permisos y órdenes de mercado se basan en mensajes firmados en lugar de en asignaciones en cadena, y esos no aparecerán en una vista estándar de autorizaciones.
- Los activos en una plataforma de intercambio. Los tokens depositados en una plataforma con custodia no están en tu cartera y no tienen autorizaciones asociadas.
El hábito que merece la pena adquirir
Revisa tus autorizaciones de vez en cuando, desde tu propio marcador a un explorador de bloques que ya uses, cuando no haya pasado nada. El peor momento para aprender a manejar esa interfaz son los veinte minutos siguientes a leer que un protocolo que utilizas ha sido explotado, que es exactamente cuando estará esperándote una versión falsa de ella.
No es asesoramiento. Conisec informa solo a título informativo. Nada de este artículo es asesoramiento financiero, jurídico, fiscal ni de seguridad. Verifícalo con las fuentes primarias enlazadas más arriba antes de actuar.