Página del curso
Entiende lo que Firmas1 de 14
Lección 1.1

El botón no es la transacción

UTXO ACADEMY / CONCEPT MODELCALLDATADECODE INTENTVISUAL AID · NOT A SECURITY VERDICT
Capítulo técnico

El botón no es la transacción

Lección técnica profunda
01
Modelo mental

En EVM, calldata codifica función y parámetros. Una UI puede decir swap mientras el payload llama a otro contrato o concede otra autoridad; hay que reconstruir la acción desde el payload.

Este concepto importa porque Decodifica selector y parámetros antes de confiar en la etiqueta visual.

Inspecciona los campos exactos del protocolo que crean autoridad o modifican la ejecución. Compara esos campos con la intención declarada por el usuario y con el límite de seguridad esperado.

02
Qué ocurre realmente

Inspecciona los campos exactos del protocolo que crean autoridad o modifican la ejecución.

A nivel de protocolo y ejecución, debes inspeccionar selector y arguments y target y native value y nested execution. Los identificadores del protocolo no se traducen porque forman parte del payload técnico.

selector

Puntos técnicos de inspección

arguments

Puntos técnicos de inspección

target

Puntos técnicos de inspección

native value

Puntos técnicos de inspección

nested execution

Puntos técnicos de inspección

03
Superficie de fallo

Trata las contradicciones, la autoridad excesiva y las dependencias sin explicar como señales materiales de fallo.

La consecuencia práctica es que Compara siempre acción decodificada con intención declarada. Desconocido no equivale a seguro.

  • Decodifica selector y parámetros antes de confiar en la etiqueta visual.
  • Compara siempre acción decodificada con intención declarada.
04
Criterio de decisión

Convierte cada señal material en la consecuencia concreta que puede producir sobre activos, autoridad o confianza.

La consecuencia práctica es que Compara siempre acción decodificada con intención declarada.

Escala cuando la evidencia sea contradictoria, incompleta o la consecuencia supere la política rutinaria.

05
Procedimiento de verificación

Verifica la solicitud mediante evidencia independiente antes de cualquier autorización irreversible.

  1. 01

    Inspecciona los campos exactos del protocolo que crean autoridad o modifican la ejecución.

  2. 02

    Compara esos campos con la intención declarada por el usuario y con el límite de seguridad esperado.

  3. 03

    Verifica la solicitud mediante evidencia independiente antes de cualquier autorización irreversible.

  4. 04

    Registra hechos, supuestos, incógnitas y decisión para que otro analista pueda reproducir la revisión.

  5. 05

    Escala cuando la evidencia sea contradictoria, incompleta o la consecuencia supere la política rutinaria.

06
Entregable del analista

Registra hechos, supuestos, incógnitas y decisión para que otro analista pueda reproducir la revisión.

Decodifica selector y parámetros antes de confiar en la etiqueta visual. y Compara siempre acción decodificada con intención declarada.

Entregable del analistaEl botón no es la transacción · Criterio de decisión
El botón no es la transacción
LESSON VISUALEl botón no es la transaccióncalldata intent
El botón no es la transacción
CONTEXTO REAL · ENTORNO DE REVISIÓN DE FIRMASEl botón no es la transacciónCONCEPTO → ENTORNO REAL → DECISIÓN OPERATIVA
VISUAL MODEL / REQUEST FLOWcalldata-intent
N01N02N03N04N05N06REQUEST FLOWEl botón no es la transacción
CONCEPT → EVIDENCE → FAILURE MODE → VERIFICATION
Workbook técnico

Objetivo del analista

Decodifica selector y parámetros antes de confiar en la etiqueta visual.

Mecánica
selectorcalldata[0:4]
argumentsABI-decoded parameters
targettransaction.to
native valuetransaction.value
nested executionmulticall / router subcalls
Señales de fallo
  1. 01

    UI intent != decoded method

  2. 02

    unknown selector

  3. 03

    unexpected recipient

  4. 04

    hidden native value

  5. 05

    nested call changes authority

Procedimiento de verificación
  1. 01

    capture exact payload

  2. 02

    resolve selector / ABI

  3. 03

    decode every material parameter

  4. 04

    trace nested calls when present

  5. 05

    compare decoded action with user intent

Cadena de razonamiento
  1. 01

    hechos → evidencia material

  2. 02

    evidencia → consecuencia / autoridad

  3. 03

    consecuencia → decisión explícita + siguiente acción

Entregable requeridodecoded-intent record + mismatch list
Recorrido del protocolo

Sigue la ruta de decisión de seguridad

calldata / intent
01Observar
  • selector: calldata[0:4]
  • arguments: ABI-decoded parameters
02Trazar
  • target: transaction.to
  • native value: transaction.value
  • nested execution: multicall / router subcalls
03Cuestionar
  • UI intent != decoded method
  • unknown selector
  • unexpected recipient
04Verificar
  • capture exact payload
  • resolve selector / ABI
  • decode every material parameter
05Resultado
  • decoded-intent record + mismatch list
Superficie de autoridadselector · arguments · target
Condición de falloUI intent != decoded method
Caso práctico
decode-calldata
CASO / calldata-intent
ui ActionSwap 1 ETH
method Selector0x095ea7b3
decoded Methodapprove(address,uint256)
spender0xNew...
amountMAX_UINT256
native Value0
Tarea del analista

Antes de responder, identifica la autoridad que se concede, el límite de confianza que puede fallar y la consecuencia que se vuelve irreversible.

Mapa de evidencia

Ordena antes de decidir

Separa identidad, autoridad, ejecución y contexto antes de tomar una decisión de seguridad.

01
Identidad

¿Quién o qué solicita, recibe o representa autoridad?

02
Autoridad

¿Qué capacidad puede concederse, mantenerse o ejercerse?

spender0xNew...
03
Ejecución

¿Qué hará realmente el payload, la ruta o el sistema?

method Selector0x095ea7b3
decoded Methodapprove(address,uint256)
amountMAX_UINT256
native Value0
04
Contexto

¿Qué hechos del entorno pueden cambiar materialmente la decisión?

ui ActionSwap 1 ETH
Ejercicio de campo

Produce un hallazgo listo para un analista

Registro de analista sólo local

No respondas de memoria. Utiliza el caso, los campos del protocolo y el procedimiento de verificación anterior para escribir un hallazgo reproducible.

Focoselector · arguments · target
Señal de falloUI intent != decoded method
Verificar primerocapture exact payload
Entregabledecoded-intent record + mismatch list
Criterios de finalización
  • Cita evidencia material, no la apariencia de la interfaz.
  • Identifica la autoridad, transición de estado o consecuencia.
  • Aporta una siguiente acción o decisión reproducible.
Notas de seguridad
  1. 01

    Decodifica selector y parámetros antes de confiar en la etiqueta visual.

  2. 02

    Compara siempre acción decodificada con intención declarada.

Cuaderno del analista

Construye tu memo de evidencia

Registro de aprendizaje sólo local

Registra tu razonamiento antes del checkpoint y termina con una decisión o siguiente acción explícita. Las notas permanecen en este dispositivo.

LOCAL STORAGE
Ejercicio de campo

Desarrolla las tres secciones antes de completarlo.

Este módulo desarrolla intención transaccional y calldata mediante teoría aplicada y un laboratorio específico de decisión.

Posición en el curso
1 de 14
Al terminar se abre
Destino y valor son invariantes iniciales
Progreso
0/21 · 0%

Contenido del curso

Módulo 01Intención transaccional y calldata
Módulo 02Approvals y autoridad de gasto
Módulo 03EIP-712, Permit y Permit2
Módulo 04Reconstrucción de intención y decisión
EvaluaciónEvaluación