Un examen du code source d’un contrat par un tiers, au regard des classes de vulnérabilités connues et du comportement attendu du protocole.
Pourquoi c’est important
Un audit prouve qu’une personne compétente a examiné le code, il ne constitue pas une garantie. Euler avait été audité à plusieurs reprises ; le défaut était une vérification manquante sur un chemin que les relecteurs n’avaient pas jugé porteur de risque. L’incident Curve n’aurait pas pu être détecté par une revue du code source, puisque le compilateur était en cause.
Ce que vous pouvez vérifier
Un rapport d’audit comporte une section de périmètre, et c’est la partie la plus instructive. Elle précise quel commit a été examiné, quels contrats entraient dans le périmètre et lesquels en étaient exclus. Le code déployé après le commit examiné n’a pas été audité, quel que soit le badge affiché sur le site.
Où cela est apparu
Dossiers du Registre des incidents qui reposent sur ce point : la réentrance Vyper de Curve Finance et l’attaque par donation contre Euler Finance.
Pas un conseil. Les définitions servent à comprendre, non à prescrire. Rien ici ne constitue un conseil financier, juridique, fiscal ou de sécurité.