Pagina del corso
Comprendi ciò che Firmi1 di 14
Lezione 1.1

Il pulsante non è la transazione

UTXO ACADEMY / CONCEPT MODELCALLDATADECODE INTENTVISUAL AID · NOT A SECURITY VERDICT
Capitolo tecnico

Il pulsante non è la transazione

Lezione tecnica approfondita
01
Modello mentale

Su EVM la calldata codifica funzione e parametri. Un UI può mostrare 'swap' mentre il payload chiama altro; decodifica e confronta con l'intento.

Questo concetto è importante perché Rischio chiave: non trattare il pulsante non è la transazione come un dettaglio irrilevante.

Ispeziona i campi esatti del protocollo che creano autorità o modificano l'esecuzione. Confronta questi campi con l'intento dichiarato dall'utente e con il confine di sicurezza previsto.

02
Cosa accade realmente

Ispeziona i campi esatti del protocollo che creano autorità o modificano l'esecuzione.

A livello di protocollo ed esecuzione, occorre ispezionare selector e arguments e target e native value e nested execution. Gli identificatori di protocollo non vengono tradotti perché fanno parte del payload tecnico.

selector

Punti tecnici di ispezione

arguments

Punti tecnici di ispezione

target

Punti tecnici di ispezione

native value

Punti tecnici di ispezione

nested execution

Punti tecnici di ispezione

03
Superficie di guasto

Tratta contraddizioni, autorità eccessiva e dipendenze non spiegate come segnali materiali di errore.

La conseguenza pratica è che Azione: verifica le evidenze tecniche di il pulsante non è la transazione prima di autorizzare. Sconosciuto non equivale a sicuro.

  • Rischio chiave: non trattare il pulsante non è la transazione come un dettaglio irrilevante.
  • Azione: verifica le evidenze tecniche di il pulsante non è la transazione prima di autorizzare.
04
Criterio decisionale

Collega ogni segnale materiale alla conseguenza concreta su asset, autorità o fiducia.

La conseguenza pratica è che Azione: verifica le evidenze tecniche di il pulsante non è la transazione prima di autorizzare.

Escala quando le evidenze sono contraddittorie, incomplete o la conseguenza supera la policy ordinaria.

05
Procedura di verifica

Verifica la richiesta mediante evidenze indipendenti prima di qualsiasi autorizzazione irreversibile.

  1. 01

    Ispeziona i campi esatti del protocollo che creano autorità o modificano l'esecuzione.

  2. 02

    Confronta questi campi con l'intento dichiarato dall'utente e con il confine di sicurezza previsto.

  3. 03

    Verifica la richiesta mediante evidenze indipendenti prima di qualsiasi autorizzazione irreversibile.

  4. 04

    Registra fatti, assunzioni, incognite e decisione affinché un altro analista possa riprodurre la review.

  5. 05

    Escala quando le evidenze sono contraddittorie, incomplete o la conseguenza supera la policy ordinaria.

06
Output richiesto all'analista

Registra fatti, assunzioni, incognite e decisione affinché un altro analista possa riprodurre la review.

Rischio chiave: non trattare il pulsante non è la transazione come un dettaglio irrilevante. e Azione: verifica le evidenze tecniche di il pulsante non è la transazione prima di autorizzare.

Output richiesto all'analistaIl pulsante non è la transazione · Criterio decisionale
Il pulsante non è la transazione
LESSON VISUALIl pulsante non è la transazionecalldata intent
Il pulsante non è la transazione
CONTESTO REALE · AMBIENTE DI REVISIONE FIRMEIl pulsante non è la transazioneCONCETTO → AMBIENTE REALE → DECISIONE OPERATIVA
VISUAL MODEL / REQUEST FLOWcalldata-intent
N01N02N03N04N05N06REQUEST FLOWIl pulsante non è la transazione
CONCEPT → EVIDENCE → FAILURE MODE → VERIFICATION
Workbook tecnico

Obiettivo dell'analista

Rischio chiave: non trattare il pulsante non è la transazione come un dettaglio irrilevante.

Meccanica
selectorcalldata[0:4]
argumentsABI-decoded parameters
targettransaction.to
native valuetransaction.value
nested executionmulticall / router subcalls
Segnali di errore
  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

Procedura di verifica
  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

Catena di ragionamento
  1. 01

    fatti → evidenza materiale

  2. 02

    evidenza → conseguenza / autorità

  3. 03

    conseguenza → decisione esplicita + prossima azione

Deliverable richiestodecoded-intent record + mismatch list
Percorso del protocollo

Segui il percorso della decisione di sicurezza

calldata / intent
01Osserva
  • selector: calldata[0:4]
  • arguments: ABI-decoded parameters
02Traccia
  • target: transaction.to
  • native value: transaction.value
  • nested execution: multicall / router subcalls
03Metti in dubbio
  • UI intent != decoded method
  • unknown selector
  • unexpected recipient
04Verifica
  • capture exact payload
  • resolve selector / ABI
  • decode every material parameter
05Risultato
  • decoded-intent record + mismatch list
Superficie di autoritàselector · arguments · target
Condizione di erroreUI intent != decoded method
Caso applicato
decode-calldata
CASO / calldata-intent
ui ActionSwap 1 ETH
method Selector0x095ea7b3
decoded Methodapprove(address,uint256)
spender0xNew...
amountMAX_UINT256
native Value0
Compito dell'analista

Prima di rispondere, identifica l'autorità concessa, il confine di fiducia che può fallire e la conseguenza irreversibile.

Mappa delle evidenze

Organizza prima di decidere

Separa identità, autorità, esecuzione e contesto prima della decisione di sicurezza.

01
Identità

Chi o cosa richiede, riceve o rappresenta autorità?

02
Autorità

Quale capacità può essere concessa, mantenuta o esercitata?

spender0xNew...
03
Esecuzione

Cosa farà realmente il payload, la route o il sistema?

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

Quali fatti circostanti possono cambiare la decisione?

ui ActionSwap 1 ETH
Esercizio sul campo

Produci un risultato pronto per un analista

Registro analista solo locale

Non rispondere a memoria. Usa il caso, i campi del protocollo e la procedura di verifica sopra per scrivere un risultato riproducibile.

Focusselector · arguments · target
Segnale di erroreUI intent != decoded method
Verifica primacapture exact payload
Deliverabledecoded-intent record + mismatch list
Criteri di completamento
  • Cita evidenza materiale, non l'aspetto dell'interfaccia.
  • Identifica autorità, transizione di stato o conseguenza.
  • Fornisce una prossima azione o decisione riproducibile.
Note di sicurezza
  1. 01

    Rischio chiave: non trattare il pulsante non è la transazione come un dettaglio irrilevante.

  2. 02

    Azione: verifica le evidenze tecniche di il pulsante non è la transazione prima di autorizzare.

Taccuino dell'analista

Costruisci il tuo memo delle evidenze

Registro di apprendimento solo locale

Registra il ragionamento prima della verifica e concludi con una decisione o prossima azione esplicita. Le note restano su questo dispositivo.

LOCAL STORAGE
Esercizio sul campo

Sviluppa tutte e tre le sezioni prima di completare.

Questo modulo approfondisce intento transazionale e calldata con teoria applicata e un laboratorio dedicato.

Posizione nel corso
1 di 14
Completandolo si apre
Destinazione e valore sono i primi invarianti
Progresso
0/21 · 0%

Contenuto del corso

Modulo 01Intento transazionale e calldata
Modulo 02Approval e autorità di spesa
Modulo 03EIP-712, Permit e Permit2
Modulo 04Ricostruzione dell'intento e decisione
ValutazioneValutazione