Aller au contenu
Plateforme privée et indépendante.Plateforme privée et indépendante : gratuite pour les clients, financée par une commission des prestataires.Financement
smart-contract.com

Guides

Audit DeFi : risques, méthode et coût d'un protocole

Audit DeFi : pourquoi un protocole DeFi est plus risqué, ce que couvre l'audit, les spécificités d'un audit Solidity, le calendrier, le coût et le réaudit.

Mis à jour le 26 septembre 202610 min de lecturePar l'équipe smart-contract.com

Un audit DeFi est une revue de sécurité indépendante des smart contracts d'un protocole de finance décentralisée (plateforme d'échange, marché de prêt, coffre, staking ou produits dérivés), centrée sur la façon dont des fonds peuvent être volés, bloqués ou mal évalués, à cause du code comme de la conception économique. Il va plus loin que l'audit d'un simple token, car les contrats DeFi détiennent les fonds mis en commun par les utilisateurs, dépendent de prix externes et interagissent avec d'autres protocoles.

Ce guide explique pourquoi la DeFi présente plus de risques, ce que couvre un audit de smart contract DeFi, ce qui change entre un audit Solidity et un audit Rust ou Move, comment se déroule la revue, ce qu'elle coûte selon le modèle public du site et ce qu'il faut faire après le rapport.

Pourquoi la DeFi est plus risquée

Un protocole DeFi concentre de la valeur et de la logique dans des contrats que chacun peut appeler, à tout moment, avec les montants que le marché permet. Une faille mineure dans un token simple peut vider un pool en une seule transaction. Les principales sources de risque :

  • Des fonds mis en commun. Les dépôts de nombreux utilisateurs se trouvent dans les mêmes contrats : une seule faille les expose tous.
  • La composabilité. Votre protocole appelle d'autres protocoles et il est appelé par eux. Leur comportement, leurs mises à jour et leurs défaillances font partie de votre risque.
  • Les oracles. Les prix déterminent ce que les utilisateurs peuvent emprunter, ce qu'ils reçoivent lors d'un échange et le moment où une position est liquidée. Un prix périmé, absent ou manipulé fausse ces décisions. Voir manipulation d'oracle.
  • La manipulation des prix et les flash loans. Un attaquant peut emprunter des montants très importants le temps d'une transaction, déplacer un prix, exploiter le protocole et rembourser le prêt. Voir flash loan.
  • Les liquidations. La logique de liquidation doit tenir dans des conditions extrêmes : mouvements de prix rapides, réseau encombré, positions minuscules, incitations ni trop faibles ni trop généreuses.
  • La conception économique. Un modèle de taux, une courbe de frais ou un système de récompenses peut être correct en tant que code et exploitable en tant que mécanisme économique.
  • La gouvernance. Un pouvoir de vote que l'on peut emprunter ou acheter pour un court instant, ou des propositions exécutées sans délai, peuvent devenir une voie d'attaque.
  • Les contrats évolutifs et les clés d'administration. Qui contrôle les mises à jour, la pause ou les paramètres contrôle le protocole. La gestion des clés, un multisig et un timelock font partie du modèle de sécurité.

Le guide des vulnérabilités courantes des smart contracts décrit plus en détail nombre de ces mécanismes.

Ce que couvre un audit de protocole DeFi

Un audit DeFi associe la revue ligne à ligne du code et l'analyse du protocole en tant que système financier. Une mission complète comprend généralement quatre volets :

  1. La revue manuelle. Contrôle d'accès, flux de fonds, comptabilité des parts et des dettes, arrondis, cas limites, appels externes, mécanismes de mise à jour et fonctions d'administration. C'est là que naissent la plupart des constats graves.
  2. Les invariants. L'auditeur et votre équipe s'accordent sur des propriétés qui doivent toujours être vraies, par exemple « la somme des soldes des utilisateurs ne dépasse jamais les actifs détenus » ou « une position saine ne peut pas être liquidée ». Voir invariant dans le glossaire.
  3. Le fuzzing et les tests d'invariants. Des outils génèrent un grand nombre de séquences de transactions aléatoires et vérifient que les invariants tiennent. La vérification formelle peut s'y ajouter pour les composants critiques si l'auditeur la propose.
  4. La revue économique. Des scénarios avec prix manipulés, flash loans, forte volatilité, faible liquidité et utilisateurs malveillants, pour vérifier que les incitations et les paramètres résistent.

Le livrable est un rapport dont les constats sont classés par gravité, chacun avec une explication, une preuve de concept si nécessaire et une correction recommandée, suivi d'un réaudit des corrections.

Audit Solidity, Rust ou Move : ce qui change

La plupart des protocoles DeFi tournent sur des chaînes EVM et sont écrits en Solidity, mais la revue change selon le langage. Le modèle public en tient compte avec un facteur de langage : Solidity 1,0, Move 1,25, Rust (Solana), Cairo et autres langages 1,3.

LangagePoints d'attention typiques d'une revue DeFi
Solidity (EVM)Réentrance, particularités des tokens (frais au transfert, rebasing, décimales inhabituelles), autorisations de dépense, disposition du stockage des proxys, arithmétique non vérifiée, sens des arrondis, appels vers des contrats non fiables
Rust (Solana)Validation des comptes, contrôle des signataires et des propriétaires, adresses dérivées du programme, appels entre programmes, réallocation et fermeture des comptes
Move (Sui, Aptos)Propriété des ressources et des objets, capacités et leurs détenteurs, politique de mise à jour des modules, accès aux objets partagés

Solidity bénéficie des outils les plus mûrs et du plus grand nombre de relecteurs, d'où son rôle de référence dans le modèle. Pour les autres langages, vérifiez que l'auditeur a publié des rapports sur votre écosystème : l'expérience d'un langage ne se transpose pas automatiquement à un autre.

Méthode et calendrier

Un audit DeFi suit les mêmes étapes que tout audit de smart contract, avec davantage de temps consacré à la conception et aux scénarios.

  1. Cadrage. Vous transmettez le dépôt, une empreinte de commit, la liste des contrats du périmètre, la documentation et les tests. L'auditeur estime l'effort et propose des dates.
  2. Lancement. Votre équipe présente aux auditeurs l'architecture, les rôles, les hypothèses économiques et les limites connues.
  3. Revue. Revue manuelle, outils, invariants et scénarios économiques, avec des questions posées à votre équipe au fil de l'eau.
  4. Rapport. Constats classés par gravité et corrections recommandées.
  5. Corrections et réaudit. Vos développeurs corrigent et l'auditeur vérifie chaque correction sur un nouveau commit.

Dans le modèle, un protocole DeFi Solidity de 1 500 nSLOC demande environ 6 jours d'auditeur avec un auditeur indépendant, et environ 8,5 jours d'auditeur, soit 2 semaines, avec un cabinet établi. Un protocole de 5 000 nSLOC demande environ 3 semaines à 2 auditeurs d'un cabinet établi. Ajoutez le temps des corrections et celui du réaudit. Le guide pour préparer un audit de smart contract aide à raccourcir chaque étape.

Combien coûte un audit DeFi

Dans le modèle indicatif public, le type de projet DeFi porte un facteur de 1,35, contre 1,0 pour le staking et 0,7 pour un token : à taille de code égale, un protocole DeFi demande environ un tiers de jours d'auditeur de plus qu'un contrat de staking. Les fourchettes ci-dessous supposent une urgence standard, des tests et une documentation partiels, et aucun facteur de risque supplémentaire sauf mention contraire.

CasAuditeurs indépendantsCabinets d'audit établis
Protocole DeFi, 1 500 nSLOC, Solidity4 800 à 8 400 EUR15 000 à 30 000 EUR
Le même, avec intégrations externes et contrats évolutifs5 600 à 9 800 EUR18 000 à 35 000 EUR
Même taille, Rust (Solana)6 400 à 11 000 EUR20 000 à 39 000 EUR
Protocole DeFi, 5 000 nSLOC, Solidity16 000 à 27 000 EUR49 000 à 95 000 EUR

Des mathématiques spécifiques (courbes de prix, modèles de taux, arithmétique en virgule fixe) ajoutent 20 % d'effort dans le modèle, les intégrations externes et les contrats évolutifs 10 % chacun. De bons tests et une bonne documentation réduisent l'effort de 10 % ; leur absence l'augmente de 20 %. Démarrer sous deux semaines coûte x1,25, sous une semaine x1,5.

Ce sont des ordres de grandeur, pas des devis. Saisissez vos propres données dans le calculateur de coût d'audit et consultez le guide sur le coût d'un audit de smart contract pour le détail des paramètres.

Le réaudit et l'après-audit

Le réaudit est la vérification de vos corrections par l'auditeur ; il représente environ 20 % du premier audit dans le modèle. Pour le cas Solidity de 1 500 nSLOC ci-dessus, audit et réaudit reviennent ensemble à environ 5 800 à 10 000 EUR avec un auditeur indépendant, ou 18 000 à 36 000 EUR avec un cabinet établi. Sans réaudit, le rapport décrit un code que vous ne déployez plus.

Après le déploiement, un rapport d'audit vieillit à chaque modification. Prévoyez :

  • Une surveillance : alertes sur les flux inhabituels, les écarts de prix, les retraits importants et les actions d'administration.
  • Un programme de bug bounty : une récompense publique pour les chercheurs qui signalent des failles de façon responsable.
  • Une pause et un plan de réponse : un moyen testé de suspendre les fonctions sensibles, détenu par un multisig, et un plan écrit indiquant qui fait quoi en cas d'incident.
  • De nouveaux audits pour les mises à jour importantes, les nouveaux modules ou les nouvelles chaînes.

Choisir ses auditeurs DeFi et garantir l'indépendance

Choisissez vos auditeurs sur une expérience DeFi vérifiable, pas seulement sur le prix total. Comparez les devis sur une base identique :

  • Des rapports publiés sur des protocoles proches du vôtre (AMM, prêt, coffres, dérivés), dans votre langage et sur votre chaîne.
  • L'effort : jours d'auditeur et nombre de relecteurs. Un prix très inférieur aux autres signifie généralement moins de jours.
  • La méthode : revue manuelle, invariants, fuzzing, revue économique, vérification formelle le cas échéant.
  • Le réaudit : inclus ou non, et dans quel délai.
  • L'indépendance : aucun rôle dans l'écriture du code.

Sur smart-contract.com, l'indépendance est appliquée par la base de données : une société qui détient un engagement de développement sur votre projet ne peut jamais être invitée à son audit, et un cabinet d'audit engagé sur un projet ne peut pas ensuite le développer. Le guide sur l'indépendance entre développeur et auditeur explique pourquoi. Vous pouvez parcourir les cabinets d'audit de l'annuaire, consulter la page du service d'audit de smart contract, ou commencer par le développement DeFi si les contrats ne sont pas encore écrits. Pour un protocole appelé à détenir des fonds importants, il est courant de faire réaliser plusieurs revues complémentaires.

À retenir

  • Un audit DeFi examine à la fois le code et la conception économique d'un protocole qui détient les fonds mis en commun par ses utilisateurs.
  • Oracles, flash loans, liquidations, gouvernance, contrats évolutifs et clés d'administration sont les risques propres à la DeFi.
  • Une mission complète associe revue manuelle, invariants, fuzzing et scénarios économiques, puis un réaudit.
  • Dans le modèle du site, la DeFi porte un facteur de 1,35 : un protocole Solidity de 1 500 nSLOC coûte environ 4 800 à 8 400 EUR avec un auditeur indépendant et 15 000 à 30 000 EUR avec un cabinet établi.
  • Prévoyez le réaudit (environ 20 %), puis une surveillance, un bug bounty et une procédure de pause testée.

Questions fréquentes

Combien coûte un audit DeFi ?

Selon le modèle indicatif public du site, un protocole DeFi Solidity de 1 500 nSLOC coûte environ 4 800 à 8 400 EUR avec un auditeur indépendant et 15 000 à 30 000 EUR avec un cabinet établi, en urgence standard avec des tests partiels. Un protocole de 5 000 nSLOC coûte environ 16 000 à 27 000 EUR et 49 000 à 95 000 EUR. Le calculateur de coût d'audit donne une fourchette pour votre propre code.

Pourquoi un audit DeFi coûte-t-il plus cher que l'audit d'un token ?

Le code DeFi détient des fonds mis en commun, s'appuie sur des oracles, interagit avec d'autres protocoles et met en œuvre une logique économique : taux d'intérêt, frais, liquidations. Les auditeurs doivent examiner le code et confronter la conception à des scénarios de manipulation. Le modèle le traduit par un facteur de 1,35 pour la DeFi, contre 0,7 pour un token et 1,0 pour le staking.

Un audit Solidity diffère-t-il d'un audit Rust ou Move ?

La méthode est la même, mais les points d'attention changent. En Solidity, la revue porte sur la réentrance, les particularités des tokens, les proxys et les arrondis ; en Rust sur Solana, sur la validation des comptes et des signataires ; en Move, sur la propriété des objets et les capacités. Les outils et les relecteurs étant plus nombreux pour Solidity, le modèle applique 1,25 pour Move et 1,3 pour Rust.

Un audit DeFi protège-t-il contre les attaques économiques ?

Seulement si le périmètre comprend une revue économique. Demandez explicitement à l'auditeur s'il testera la manipulation des prix, les scénarios de flash loan, le comportement des liquidations et la conception des incitations, et comment. Même alors, un audit réduit le risque sans le supprimer : les paramètres changent, les marchés bougent et les protocoles intégrés évoluent. Surveillance et bug bounty restent nécessaires.

Quand réserver un audit DeFi ?

Réservez-le plusieurs semaines avant la date de démarrage souhaitée, dès que le code peut être gelé, testé et documenté. Un démarrage sous deux semaines coûte x1,25 dans le modèle, sous une semaine x1,5. Prévoyez après le rapport le temps des corrections et du réaudit, et ne lancez pas le protocole sur le mainnet avant que les corrections soient vérifiées.

Prêt à faire examiner votre protocole ? Décrivez-le une seule fois et recevez des devis comparables de 6 auditeurs vérifiés et indépendants au maximum, gratuitement et sans engagement tant que vous n'avez pas choisi.

Décrivez votre projet une fois. Comparez en toute confiance.

Recevez des devis comparables de développeurs vérifiés, puis sécurisez votre code avec un auditeur indépendant.

Recevoir des devis

Gratuit pour les clients. Sans engagement.