Cours

Auditeur smart contracts et DApps

Trouver, prouver et expliquer les failles d'un protocole avant les attaquants. Méthode, DeFi, outils, rapport, en français.

Avancé · 133 leçons · 60 h 20 min · 500 € · Formateur : Elvis KONJOH

Auditeur smart contracts et DApps

Auditeur smart contracts et DApps est un parcours professionnel, en français, qui forme des auditeurs de sécurité capables de trouver, prouver et expliquer les failles d'un protocole avant qu'un attaquant ne le fasse.

Le parcours part d'un développeur Solidity et l'amène au niveau d'un auditeur indépendant : méthode de revue, EVM en profondeur, catalogue raisonné des vulnérabilités, DeFi, proxies, outils d'analyse statique, fuzzing et vérification formelle, preuves de concept et analyse d'incidents, sécurité de l'interface et des clés, rapport et métier. Chaque leçon explique un mécanisme, le montre avec un schéma animé pas à pas, puis le fait pratiquer : code vulnérable à lire, exploit à écrire dans Foundry, correctif à compléter, corrigé immédiatement. Les incidents réels (The DAO, Parity, Euler, Nomad, Curve, Bybit…) sont décortiqués transaction par transaction. Le programme Le métier d'auditeur — rôle, types de missions, sévérité, méthode, environnement, éthique. L'EVM pour auditeurs — stockage, mémoire, calldata, ABI, appels bas niveau, Yul, traces. Méthodologie de revue — périmètre, cartographie, invariants, checklists, notes, revue en couches. Vulnérabilités classiques (1) — réentrance sous toutes ses formes, contrôle d'accès, initialisation, déni de service, appels non vérifiés. Vulnérabilités classiques (2) — arithmétique et précision, signatures, aléa, temps, front-running, jetons non standard. DeFi (1) : AMM, oracles et coffres — manipulation de prix, prêts éclair, TWAP, Chainlink, glissement, ERC-4626. DeFi (2) : prêt, récompenses, gouvernance et ponts — liquidation, récompenses, attaques de gouvernance, cross-chain. Proxies, mises à jour et architecture — collisions, initialisation, UUPS, beacon, diamond, centralisation. Outillage avancé — Slither, Aderyn, Echidna, Medusa, invariants, Halmos, Certora, mutation. Preuves de concept et analyse d'incidents — de la piste à la preuve, tests de non-régression, traces, post-mortem. Sécurité de la DApp et des opérations — interface, signatures aveugles, clés, multisig, ERC-4337, L2. Rapport, concours et métier — rédaction, revue des correctifs, Code4rena, Sherlock, Cantina, Immunefi, carrière. Projet final : audit complet — un protocole à auditer de bout en bout, rapport et examen.

L'évaluation d'un module (45 minutes, 70 %) ouvre le suivant. 13 modules, 94 leçons et 26 classes en direct (mardi et jeudi à 19 h, heure de Paris, enregistrées) : ateliers de chasse aux failles, revues de rapports, analyses d'incidents. Le certificat demande les évaluations, l'examen final (90 minutes) et le rapport d'audit du projet final. Toutes les preuves de concept visent des contrats écrits pour le cours, sur une chaîne locale : jamais un contrat réel.

Ce que vous allez apprendre

Prérequis

Programme

  1. 1. Le métier d'auditeur de smart contracts
    • Ce que fait un auditeur (et ce qu'il ne fait pas)
    • Anatomie d'une mission d'audit
    • Le modèle de menace d'un protocole
    • Sévérité : impact × probabilité
    • Installer le poste de l'auditeur
    • Lire un dépôt inconnu en une heure
    • Éthique, confidentialité et divulgation responsable
    • Atelier — premier modèle de menace en direct
    • Atelier — lire un dépôt d'audit en une heure
    • Évaluation — Le métier d'auditeur
  2. 2. L'EVM pour auditeurs
    • Le stockage EVM au slot près
    • Mémoire, calldata et pointeurs : les pièges de copie
    • L'ABI et ses pièges pour l'auditeur
    • Appels bas niveau : ce que call ne vérifie pas
    • delegatecall et le contexte d'exécution
    • Lire l'assembleur Yul en revue de code
    • Traces et débogage d'exécution pour l'audit
    • Opcodes qui comptent pour la sécurité
    • Atelier — lire la mémoire et le stockage à la main
    • Atelier — disséquer une trace d'exploit
    • Évaluation — L'EVM pour auditeurs
  3. 3. Méthodologie de revue de code
    • Périmètre, commit figé et préparation de la revue
    • Cartographier le protocole : contrats, rôles et flux de fonds
    • Les invariants, cœur de la revue de code
    • La revue en couches : quatre passes sur le même code
    • Checklists et bases de connaissances de l'auditeur
    • Prendre des notes qui deviennent un rapport
    • Travailler avec l'équipe du protocole pendant l'audit
    • Étude de cas : revue complète d'un contrat de staking
    • Atelier — cartographier un protocole en direct
    • Atelier — écrire les invariants d'un coffre
    • Évaluation — Méthodologie de revue
  4. 4. Vulnérabilités classiques (1) : réentrance, accès et déni de service
    • Réentrance : les cinq formes et leur preuve dans Foundry
    • Se défendre de la réentrance et contrôler la défense
    • Contrôle d'accès : modifiers, rôles et propriété
    • Initialisation, constructeurs et scripts de déploiement
    • Déni de service : boucles, receveurs hostiles et égalités fragiles
    • Valeurs de retour et appels externes non vérifiés
    • Logique et états : phases, doubles réclamations et bornes
    • Atelier — revue de réentrance en direct
    • Atelier — accès, initialisation et DoS sur un vrai code
    • Évaluation — Vulnérabilités classiques (1)
  5. 5. Vulnérabilités classiques (2) : arithmétique, signatures, aléa et jetons
    • Arithmétique et précision : le sens de l'arrondi
    • Décimales et unités : les bugs d'échelle
    • Signatures : ecrecover, malléabilité, rejeu et permit
    • Aléa et temps : timestamp, prevrandao et Chainlink VRF
    • Front-running et MEV vus par l'auditeur
    • Les jetons non standard : comment ils cassent la comptabilité
    • Comptabilité interne contre balanceOf
    • Étude de cas chiffrée : arrondi et jeton à frais dans un coffre de prêt
    • Atelier — précision et arrondis, calculette en main
    • Atelier — signatures et jetons bizarres
    • Évaluation — Vulnérabilités classiques (2)
  6. 6. DeFi (1) : AMM, oracles, prêts éclair et coffres
    • Les AMM pour l'auditeur : réserves, soldes et liquidité concentrée
    • Manipulation de prix et prêts éclair : de bZx à Harvest
    • Oracles robustes : TWAP, Chainlink, séquenceur L2 et Pyth
    • Glissement, échéance et intégrations de swap à auditer
    • Coffres ERC-4626 : arrondis, inflation et conformité
    • Jetons LP : prix équitable, dons et réentrance en lecture
    • Revue DeFi pas à pas : cinq failles dans un contrat de prêt
    • Atelier — manipuler un oracle en local
    • Atelier — auditer un coffre ERC-4626
    • Évaluation — DeFi (1)
  7. 7. DeFi (2) : prêt, récompenses, gouvernance et ponts
    • Auditer un protocole de prêt : facteur de santé, intérêts et dette irrécouvrable
    • Auditer les liquidations : incitations, blocages et le cas Euler
    • Auditer les récompenses et le staking : l'accumulateur par jeton
    • Auditer la gouvernance on-chain : pouvoir de vote, quorum et timelock
    • Auditer les ponts et les messages cross-chain : vérification, rejeu et récepteurs
    • MEV et keepers : auditer les protocoles pilotés par des robots
    • Attaques économiques et composabilité : auditer les hypothèses sur les autres
    • Atelier — casser un protocole de prêt
    • Atelier — reconstituer l'attaque de gouvernance Beanstalk
    • Évaluation — DeFi (2)
  8. 8. Proxies, mises à jour et architecture
    • Revoir un proxy : la checklist de l'auditeur
    • Collisions de stockage : diff de layout entre versions
    • Initialisation des implémentations : prise de contrôle et versions
    • UUPS et la brique définitive
    • Transparent, beacon, diamond : sélecteurs et points uniques
    • Métamorphisme et CREATE2 : du code qui change à la même adresse
    • Risque de centralisation et pouvoirs d'administration
    • Atelier — diff de layout et mise à jour cassée
    • Atelier — prendre le contrôle d'une implémentation
    • Évaluation — Proxies et architecture
  9. 9. Outillage avancé : analyse statique, fuzzing et vérification formelle
    • Slither en profondeur : détecteurs, printers et triage
    • Écrire ses propres détecteurs : API Python de Slither, Aderyn et Semgrep
    • Fuzzing stateful avec Foundry : handlers, acteurs et variables fantômes
    • Echidna et Medusa : campagnes de fuzzing dédiées
    • Exécution symbolique avec Halmos : explorer tous les chemins
    • Vérification formelle avec Certora : règles, invariants et contre-exemples
    • Tests de mutation et fuzzing différentiel : mesurer la qualité d'une suite
    • Pipeline outillé d'un audit : du premier scan au finding rédigé
    • Atelier — Slither, du bruit aux findings
    • Atelier — invariants qui trouvent un vrai bug
    • Évaluation — Outillage avancé
  10. 10. Preuves de concept et analyse d'incidents
    • Pourquoi une preuve de concept : de la piste au finding
    • Structurer une PoC en test Foundry
    • Le test de non-régression et la revue de correctif
    • Lire une trace pour comprendre un incident
    • Méthode d'analyse post-incident et post-mortem sans blâme
    • Ce que les incidents publics enseignent à l'auditeur
    • Présenter une PoC dans un rapport d'audit
    • Atelier — de la piste à la preuve, en test local
    • Atelier — lire un post-mortem et en tirer une checklist
    • Évaluation — Preuves de concept et incidents
  11. 11. Sécurité de la DApp, des clés et des opérations
    • Auditer l'interface d'une DApp : ce que l'écran montre et ce qui est signé
    • Chaîne d'approvisionnement, DNS et hébergement du frontend
    • Signatures hors chaîne, blind signing et phishing
    • Clés, multisig et vérification des transactions : le cas Bybit
    • Backend, keepers et services hors chaîne
    • Comptes ERC-4337 : valider une UserOperation sans ouvrir le coffre
    • Alias d'adresse entre L1 et L2 : qui appelle vraiment
    • Atelier — revue d'un smart account et de son paymaster
    • Atelier — l'expéditeur réel d'un message L1 vers L2
    • Évaluation — Sécurité de la DApp, des clés et des opérations
  12. 12. Rapport d'audit, concours et métier
    • Anatomie d'un rapport d'audit professionnel
    • Rédiger un finding qui convainc
    • Recommandations actionnables et revue des correctifs
    • Communiquer avec le client : criticals, désaccords, confidentialité
    • Les concours d'audit : fonctionnement, choix et stratégie
    • Bug bounties : programmes, impacts et divulgation responsable
    • Construire sa carrière d'auditeur
    • Atelier — réécrire des findings ensemble
    • Atelier — stratégie de premier concours
    • Évaluation — Rapport, concours et métier
  13. 13. Projet final : audit complet d'un protocole
    • Projet final : le cahier des charges de CoffreRendement
    • Projet final, semaine 1 : cartographie, invariants et outils
    • Projet final, semaine 2 : chasse manuelle et preuves de concept
    • Projet final, semaine 3 : rapport et revue des correctifs
    • Atelier projet — triage des pistes en groupe
    • Restitution des rapports d'audit
    • Examen final — Auditeur smart contracts et DApps
    • Corrigé commenté du projet CoffreRendement
    • Après le certificat d'auditeur

S'inscrire à « Auditeur smart contracts et DApps »