Audit
Qu’est-ce qu’un audit ?
Un audit est un processus par lequel les développeurs inspectent le code et/ou l'algorithme sous-jacent qui composent les systèmes et les applications, leur permettant de repérer les bogues potentiels ou les points de défaillance avant le déploiement. Les audits sont généralement réalisés par des tiers, ce qui permet de garantir que la procédure est effectuée de manière impartiale et efficace.
L'audit est devenu une pratique courante dans l'espace blockchain, avec de nombreux projets s'appuyant sur cette technique pour assurer la sécurité des contrats intelligents de leurs protocoles décentralisés et donner à leurs utilisateurs ou détenteurs de jetons une tranquillité d'esprit supplémentaire.
Il existe deux manières d'auditer le code : manuelle et automatique. L'analyse manuelle est la méthode la plus efficace pour rechercher des erreurs de codage. Cependant, cela prend plus de temps et nécessite une équipe de développement de taille moyenne pour son exécution. L'analyse automatique du code permet une évaluation rapide mais efficace du code. Bien que cette dernière soit quelque peu préférée par les entreprises traditionnelles, l’analyse manuelle du code est cruciale pour les projets de cryptographie, car un lancement avec des vulnérabilités non découvertes pourrait entraîner des millions de pertes de fonds, en particulier pour les projets DeFi.
Un audit complet d’un contrat intelligent comprend souvent cinq étapes importantes :
- Convenir d'un cahier des charges ;
- Exécution de tests ;
- Exécuter des outils d'exécution symbolique automatisés ;
- Analyse manuelle du code ;
- Rapport.