Page du cours
Comprendre ce que Vous Signez1 sur 14
Leçon 1.1

Le libellé du bouton n'est pas la transaction

UTXO ACADEMY / CONCEPT MODELCALLDATADECODE INTENTVISUAL AID · NOT A SECURITY VERDICT
Chapitre technique

Le libellé du bouton n'est pas la transaction

Leçon technique approfondie
01
Modèle mental

Sur EVM, calldata encode fonction et paramètres. Une UI peut afficher 'swap' alors que le payload appelle un autre contrat ou accorde une autre autorité ; l'action réelle doit être reconstruite depuis le payload.

Ce concept est important parce que Décodez selector et paramètres au lieu de croire l'étiquette visuelle.

Inspectez les champs exacts du protocole qui créent une autorité ou modifient l'exécution. Comparez ces champs avec l'intention déclarée de l'utilisateur et la frontière de sécurité attendue.

02
Ce qui se passe réellement

Inspectez les champs exacts du protocole qui créent une autorité ou modifient l'exécution.

Au niveau du protocole et de l'exécution, il faut inspecter selector et arguments et target et native value et nested execution. Les identifiants de protocole restent non traduits car ils font partie du payload technique.

selector

Points d'inspection technique

arguments

Points d'inspection technique

target

Points d'inspection technique

native value

Points d'inspection technique

nested execution

Points d'inspection technique

03
Surface de défaillance

Considérez les contradictions, l'autorité excessive et les dépendances inexpliquées comme des signaux matériels de défaillance.

La conséquence pratique est que Comparez toujours action décodée et intention utilisateur. Inconnu ne signifie pas sûr.

  • Décodez selector et paramètres au lieu de croire l'étiquette visuelle.
  • Comparez toujours action décodée et intention utilisateur.
04
Critère de décision

Reliez chaque signal matériel à sa conséquence concrète sur les actifs, l'autorité ou la confiance.

La conséquence pratique est que Comparez toujours action décodée et intention utilisateur.

Escaladez lorsque les preuves sont contradictoires, incomplètes ou que la conséquence dépasse la politique courante.

05
Procédure de vérification

Vérifiez la requête au moyen de preuves indépendantes avant toute autorisation irréversible.

  1. 01

    Inspectez les champs exacts du protocole qui créent une autorité ou modifient l'exécution.

  2. 02

    Comparez ces champs avec l'intention déclarée de l'utilisateur et la frontière de sécurité attendue.

  3. 03

    Vérifiez la requête au moyen de preuves indépendantes avant toute autorisation irréversible.

  4. 04

    Consignez faits, hypothèses, inconnues et décision afin qu'un autre analyste puisse reproduire la revue.

  5. 05

    Escaladez lorsque les preuves sont contradictoires, incomplètes ou que la conséquence dépasse la politique courante.

06
Livrable analyste

Consignez faits, hypothèses, inconnues et décision afin qu'un autre analyste puisse reproduire la revue.

Décodez selector et paramètres au lieu de croire l'étiquette visuelle. et Comparez toujours action décodée et intention utilisateur.

Livrable analysteLe libellé du bouton n'est pas la transaction · Critère de décision
Le libellé du bouton n'est pas la transaction
LESSON VISUALLe libellé du bouton n'est pas la transactioncalldata intent
Le libellé du bouton n'est pas la transaction
CONTEXTE RÉEL · ENVIRONNEMENT DE REVUE DE SIGNATURELe libellé du bouton n'est pas la transactionCONCEPT → ENVIRONNEMENT RÉEL → DÉCISION OPÉRATIONNELLE
VISUAL MODEL / REQUEST FLOWcalldata-intent
N01N02N03N04N05N06REQUEST FLOWLe libellé du bouton n'est pas la transaction
CONCEPT → EVIDENCE → FAILURE MODE → VERIFICATION
Workbook technique

Objectif analyste

Décodez selector et paramètres au lieu de croire l'étiquette visuelle.

Mécanique
selectorcalldata[0:4]
argumentsABI-decoded parameters
targettransaction.to
native valuetransaction.value
nested executionmulticall / router subcalls
Signaux de défaillance
  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

Procédure de vérification
  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

Chaîne de raisonnement
  1. 01

    faits → éléments matériels

  2. 02

    preuves → conséquence / autorité

  3. 03

    conséquence → décision explicite + prochaine action

Livrable requisdecoded-intent record + mismatch list
Parcours du protocole

Suivez le chemin de décision de sécurité

calldata / intent
01Observer
  • selector: calldata[0:4]
  • arguments: ABI-decoded parameters
02Tracer
  • target: transaction.to
  • native value: transaction.value
  • nested execution: multicall / router subcalls
03Contester
  • UI intent != decoded method
  • unknown selector
  • unexpected recipient
04Vérifier
  • capture exact payload
  • resolve selector / ABI
  • decode every material parameter
05Résultat
  • decoded-intent record + mismatch list
Surface d'autoritéselector · arguments · target
Condition de défaillanceUI intent != decoded method
Cas pratique
decode-calldata
CAS / calldata-intent
ui ActionSwap 1 ETH
method Selector0x095ea7b3
decoded Methodapprove(address,uint256)
spender0xNew...
amountMAX_UINT256
native Value0
Tâche de l'analyste

Avant de répondre, identifiez l'autorité accordée, la frontière de confiance susceptible d'échouer et la conséquence irréversible.

Carte de preuves

Organisez avant de décider

Séparez identité, autorité, exécution et contexte avant toute décision de sécurité.

01
Identité

Qui ou quoi demande, reçoit ou représente une autorité ?

02
Autorité

Quelle capacité peut être accordée, conservée ou exercée ?

spender0xNew...
03
Exécution

Que fera réellement le payload, la route ou le système ?

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

Quels faits environnants peuvent changer la décision ?

ui ActionSwap 1 ETH
Exercice de terrain

Produisez une conclusion exploitable par un analyste

Dossier analyste local uniquement

Ne répondez pas de mémoire. Utilisez le cas, les champs du protocole et la procédure de vérification ci-dessus pour rédiger une conclusion reproductible.

Point d'attentionselector · arguments · target
Signal de défaillanceUI intent != decoded method
Vérifier d'abordcapture exact payload
Livrabledecoded-intent record + mismatch list
Critères de validation
  • Cite des preuves matérielles, pas l'apparence de l'interface.
  • Nomme l'autorité, la transition d'état ou la conséquence.
  • Fournit une prochaine action ou décision reproductible.
Notes de sécurité
  1. 01

    Décodez selector et paramètres au lieu de croire l'étiquette visuelle.

  2. 02

    Comparez toujours action décodée et intention utilisateur.

Carnet d'analyste

Construisez votre mémo de preuve

Dossier d'apprentissage local uniquement

Consignez votre raisonnement avant le contrôle et terminez par une décision ou une prochaine action explicite. Les notes restent sur cet appareil.

LOCAL STORAGE
Exercice de terrain

Développez les trois sections avant validation.

Ce module approfondit intention transactionnelle & calldata avec une théorie appliquée et un laboratoire décisionnel dédié.

Position dans le cours
1 sur 14
Terminer ouvre
Destination et valeur sont les premiers invariants
Progression
0/21 · 0%

Contenu du cours

Module 01Intention transactionnelle & calldata
Module 02Approvals & pouvoir de dépense
Module 03EIP-712, Permit & Permit2
Module 04Reconstruction de l'intention & décision
ÉvaluationÉvaluation