Página do curso
Entenda o que Você Assina1 de 14
Lição 1.1

O botão não é a transação

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

O botão não é a transação

Lição técnica aprofundada
01
Modelo mental

Em EVM, calldata define função e parâmetros. O rótulo 'swap' na UI pode esconder outro call; decodifique o payload e compare com a intenção.

Este conceito importa porque Risco-chave: não trate o botão não é a transação como detalhe irrelevante.

Inspecione os campos exatos do protocolo que criam autoridade ou alteram a execução. Compare esses campos com a intenção declarada pelo usuário e com o limite de segurança esperado.

02
O que realmente acontece

Inspecione os campos exatos do protocolo que criam autoridade ou alteram a execução.

No nível de protocolo e execução, deve-se inspecionar selector e arguments e target e native value e nested execution. Identificadores de protocolo não são traduzidos porque fazem parte do payload técnico.

selector

Pontos técnicos de inspeção

arguments

Pontos técnicos de inspeção

target

Pontos técnicos de inspeção

native value

Pontos técnicos de inspeção

nested execution

Pontos técnicos de inspeção

03
Superfície de falha

Trate contradições, autoridade excessiva e dependências não explicadas como sinais materiais de falha.

A consequência prática é que Ação: verifique a evidência técnica de o botão não é a transação antes de autorizar. Desconhecido não equivale a seguro.

  • Risco-chave: não trate o botão não é a transação como detalhe irrelevante.
  • Ação: verifique a evidência técnica de o botão não é a transação antes de autorizar.
04
Critério de decisão

Converta cada sinal material na consequência concreta sobre ativos, autoridade ou confiança.

A consequência prática é que Ação: verifique a evidência técnica de o botão não é a transação antes de autorizar.

Escale quando a evidência for contraditória, incompleta ou a consequência exceder a política rotineira.

05
Procedimento de verificação

Verifique a solicitação com evidências independentes antes de qualquer autorização irreversível.

  1. 01

    Inspecione os campos exatos do protocolo que criam autoridade ou alteram a execução.

  2. 02

    Compare esses campos com a intenção declarada pelo usuário e com o limite de segurança esperado.

  3. 03

    Verifique a solicitação com evidências independentes antes de qualquer autorização irreversível.

  4. 04

    Registre fatos, premissas, incógnitas e decisão para que outro analista possa reproduzir a revisão.

  5. 05

    Escale quando a evidência for contraditória, incompleta ou a consequência exceder a política rotineira.

06
Entrega do analista

Registre fatos, premissas, incógnitas e decisão para que outro analista possa reproduzir a revisão.

Risco-chave: não trate o botão não é a transação como detalhe irrelevante. e Ação: verifique a evidência técnica de o botão não é a transação antes de autorizar.

Entrega do analistaO botão não é a transação · Critério de decisão
O botão não é a transação
LESSON VISUALO botão não é a transaçãocalldata intent
O botão não é a transação
CONTEXTO REAL · AMBIENTE DE REVISÃO DE ASSINATURAO botão não é a transaçãoCONCEITO → AMBIENTE REAL → DECISÃO OPERACIONAL
VISUAL MODEL / REQUEST FLOWcalldata-intent
N01N02N03N04N05N06REQUEST FLOWO botão não é a transação
CONCEPT → EVIDENCE → FAILURE MODE → VERIFICATION
Workbook técnico

Objetivo do analista

Risco-chave: não trate o botão não é a transação como detalhe irrelevante.

Mecânica
selectorcalldata[0:4]
argumentsABI-decoded parameters
targettransaction.to
native valuetransaction.value
nested executionmulticall / router subcalls
Sinais de falha
  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

Procedimento de verificação
  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

Cadeia de raciocínio
  1. 01

    fatos → evidência material

  2. 02

    evidência → consequência / autoridade

  3. 03

    consequência → decisão explícita + próxima ação

Entregável obrigatóriodecoded-intent record + mismatch list
Percurso do protocolo

Siga o caminho da decisão de segurança

calldata / intent
01Observar
  • selector: calldata[0:4]
  • arguments: ABI-decoded parameters
02Rastrear
  • target: transaction.to
  • native value: transaction.value
  • nested execution: multicall / router subcalls
03Questionar
  • 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
Superfície de autoridadeselector · arguments · target
Condição de falhaUI intent != decoded method
Caso aplicado
decode-calldata
CASO / calldata-intent
ui ActionSwap 1 ETH
method Selector0x095ea7b3
decoded Methodapprove(address,uint256)
spender0xNew...
amountMAX_UINT256
native Value0
Tarefa do analista

Antes de responder, identifique a autoridade concedida, o limite de confiança que pode falhar e a consequência irreversível.

Mapa de evidências

Organize antes de decidir

Separe identidade, autoridade, execução e contexto antes de uma decisão de segurança.

01
Identidade

Quem ou o que solicita, recebe ou representa autoridade?

02
Autoridade

Que capacidade pode ser concedida, mantida ou exercida?

spender0xNew...
03
Execução

O que o payload, rota ou sistema realmente fará?

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

Quais fatos ao redor podem mudar materialmente a decisão?

ui ActionSwap 1 ETH
Exercício de campo

Produza uma conclusão pronta para analista

Registro de analista apenas local

Não responda de memória. Use o caso, os campos do protocolo e o procedimento de verificação acima para escrever uma conclusão reproduzível.

Focoselector · arguments · target
Sinal de falhaUI intent != decoded method
Verificar primeirocapture exact payload
Entregáveldecoded-intent record + mismatch list
Critérios de conclusão
  • Cita evidência material, não a aparência da interface.
  • Nomeia a autoridade, transição de estado ou consequência.
  • Fornece uma próxima ação ou decisão reproduzível.
Notas de segurança
  1. 01

    Risco-chave: não trate o botão não é a transação como detalhe irrelevante.

  2. 02

    Ação: verifique a evidência técnica de o botão não é a transação antes de autorizar.

Caderno do analista

Construa seu memorando de evidências

Registro de aprendizagem apenas local

Registre seu raciocínio antes da verificação e finalize com uma decisão ou próxima ação explícita. As notas permanecem neste dispositivo.

LOCAL STORAGE
Exercício de campo

Desenvolva as três seções antes de concluir.

Este módulo aprofunda intenção transacional e calldata com teoria aplicada e um laboratório próprio.

Posição no curso
1 de 14
Ao concluir abre-se
Destino e valor são os primeiros invariantes
Progresso
0/21 · 0%

Conteúdo do curso

Módulo 01Intenção transacional e calldata
Módulo 02Approvals e autoridade de gasto
Módulo 03EIP-712, Permit e Permit2
Módulo 04Reconstrução de intenção e decisão
AvaliaçãoAvaliação