Sécurité
Dernière mise à jour : janvier 2025
Introduction : le problème des 20 milliards de dollars
Depuis les débuts de DeFi, des milliards ont été perdus à cause d'exploits. Les audits sont devenus une référence mais font toujours partie d'un cycle de vie de sécurité plus vaste qui comprend des primes de bogues, une vérification formelle et une surveillance active.
Qu'est-ce qu'un audit de contrat intelligent ?
Un audit est une revue de sécurité approfondie combinant une revue manuelle du code, une analyse automatisée et parfois une vérification formelle et une modélisation économique. Le résultat est un rapport hiérarchisé contenant des étapes correctives et des recommandations pour des déploiements plus sûrs.
- Révision manuelle du code
- Numérisation automatisée
- Vérification formelle (facultatif)
- Économique et amp; analyse de la théorie des jeux
- Rapport final et amp; correction
Processus d'audit : étapes et amp; Chronologie
Préparation préalable à l'audit
Les développeurs doivent geler le code, l'architecture du document, fournir des tests et définir une portée claire avant de les remettre aux auditeurs.
Analyse automatisée
Des outils comme Slither, Mythril, Echidna et Manticore génèrent des résultats automatisés. Ceux-ci sont précieux mais peuvent inclure des faux positifs et doivent être complétés par un examen manuel.
Révision et amp; Vérification formelle
Des auditeurs expérimentés effectuent des examens ligne par ligne et, lorsque cela est nécessaire, des méthodes formelles fournissent des garanties mathématiques à un coût élevé pour les systèmes critiques.
Rapport et amp; Correction
Les rapports classent les résultats par gravité et fournissent des correctifs exploitables ; la remédiation et le réaudit sont des étapes finales standard.
Vulnérabilités courantes des contrats intelligents
Comprendre les classes d'exploits typiques aide les équipes à prioriser les défenses : la réentrance, les erreurs de contrôle d'accès, les bogues entiers, la manipulation d'Oracle, les erreurs de logique métier et le MEV/front-running figurent tous en tête de liste.
Réentrée
La réentrance se produit lorsque des appels externes activent des rappels qui manipulent l'état du contrat - le modèle de contrôle-effets-interactions et ReentrancyGuard sont des défenses principales.
fonction retirer (montant uint256) public {
require(balances[msg.sender] >= montant);
soldes[msg.sender] -= montant ; // met d'abord à jour l'état
(bool success, ) = msg.sender.call{value: montant}("");
exiger (succès);
}
Échecs du contrôle d'accès
Les vérifications de rôle manquantes ou les clés d'administration mal exposées sont une cause fréquente de problèmes catastrophiques : la multi-signature, les timelocks et l'application du moindre privilège réduisent ce risque.
Manipulation Oracle
Les protocoles doivent s'appuyer sur les TWAP, les flux décentralisés et les contrôles d'intégrité pour limiter les attaques de manipulation de prix souvent orchestrées via des prêts flash.
Logique métier et amp; MEV
Les bogues de la théorie des jeux et le front-running (MEV) nécessitent une analyse économique minutieuse, une simulation et des stratégies d'atténuation tenant compte du pool de mémoire.
Les principaux cabinets d'audit et amp; Choisir un auditeur
Des entreprises de premier plan (Trail of Bits, OpenZeppelin, ConsenSys Diligence, Certora) fournissent des services de vérification technique et formelle approfondis. Les petites entreprises offrent une excellente couverture pour les budgets inférieurs : le bon auditeur dépend du profil de risque et du calendrier du projet.
Piste de bits
Spécialisé dans l'analyse technique approfondie et les outils formels – idéal pour les systèmes critiques à TVL élevée.
OpenZeppelin
Experts Solidity de confiance dotés d'outils écosystémiques complets et de services de défense.
Au-delà des audits : primes, surveillance et amp; Déploiements
Les audits doivent être complétés par des primes de bogues (Immunefi, HackerOne), une vérification formelle si nécessaire, des pratiques de déploiement minutieuses et une surveillance continue à l'aide d'outils tels que Forta, Tenderly et Defender.
- Les primes de bugs encouragent la découverte continue
- La vérification formelle donne des assurances mathématiques pour les systèmes critiques
- Des déploiements progressifs limitent le rayon d'explosion
- La surveillance en temps réel permet une réponse rapide aux incidents
Pour les investisseurs : comment lire les rapports d'audit
Recherchez plusieurs audits réputés, des conclusions critiques résolues, des programmes de primes publiques, des rapports récents et des preuves de surveillance active et de mises à niveau limitées dans le temps. Les signaux d’alarme incluent l’absence d’audits, de rapports cachés ou de problèmes critiques non résolus.
Conclusion : la sécurité en tant que processus et non en tant que produit
Les audits sont nécessaires mais pas suffisants. La sécurité est continue : combinez audits, bug bounties, surveillance, versions progressives et méthodes formelles pour les systèmes de grande valeur afin de garantir la sécurité des protocoles dans un paysage conflictuel.