Was ein Audit wert ist
Ein Audit ist eine Code-Prüfung mit Methode und Bericht. Es als Sicherheitssiegel zu behandeln ist der häufigste Fehler in diesem Markt, und der Bericht sagt das meistens selbst.
Die Kurzfassung
- Ein Audit sucht bekannte Schwachstellenklassen: Reentrancy, Überlauf, mangelhafte Zugriffskontrolle, fehlerhafte Arithmetik.
- Befunde werden nach Schwere eingestuft, und ein Bericht sagt nur etwas, wenn man liest, was gefunden und was behoben wurde.
- Ein Audit des Codes sagt nichts darüber, ob die Ökonomie hinter dem Code funktionieren kann.
- Ein Siegel ist Marketing; der Bericht ist das Dokument, und beide erzählen oft Verschiedenes.
- Abgegebene Eigentumsrechte beseitigen das Admin-Risiko und die Möglichkeit zu patchen, in einem Zug.
Woraus die Arbeit besteht
Ein Auditor liest den Quellcode, lässt Werkzeuge darüber laufen und versucht, ihn zum Fehlverhalten zu bringen: ob sich eine Funktion in einer Reihenfolge aufrufen lässt, die der Autor nicht vorgesehen hat, ob ein Wert überlaufen kann, ob eine Adresse abheben kann, die es nicht dürfte. Heraus kommt eine Liste von Befunden mit Schweregraden und meist die Antwort des Teams auf jeden davon.
Das ist wertvoll und begrenzt. Es verteuert einen geradlinigen Angriff. Es kann die Abwesenheit von Fehlern nicht beweisen und behauptet das auch nicht: Lesen Sie den Haftungsausschluss eines beliebigen Berichts, dort steht genau das.
Die Frage, die Audits meist auslassen
Korrektheit des Codes und Tragfähigkeit des Geschäfts sind verschiedene Themen. Ein Vertrag kann makellos etwas Untragbares tun: Einen festen Satz zu zahlen, den man nicht finanzieren kann, ist kein Fehler, sondern ein Entwurf, den der Code perfekt umsetzt.
Manche Auditoren äußern sich trotzdem zum Modell, und wenn sie es tun, ist das der wichtigste Absatz im Dokument. Es ist auch der Absatz, der am seltensten auf der Startseite auftaucht, die auf den Bericht verlinkt.
Wie Sie einen in fünf Minuten lesen
Öffnen Sie den Bericht statt des Siegels. Suchen Sie die Befundtabelle, lesen Sie jeden Eintrag mit hoher und kritischer Schwere und prüfen Sie die Reaktion: behoben, zur Kenntnis genommen oder bestritten. Sehen Sie dann im Abschnitt zum Umfang nach, welche Verträge und welcher Stand tatsächlich geprüft wurden.
Prüfen Sie zuletzt das Datum. Ein Audit erfasst eine Version des Codes zu einem Zeitpunkt, und ein später ausgerollter Vertrag muss nicht der geprüfte sein.
Was das am Lesen von TurboLoop ändert
- Es gibt drei Auditdokumente, und zwei davon lohnen sich zu öffnen statt zu zählen.
- SolidityScan bewertete das Protokoll mit 99,99 ohne kritische, hohe, mittlere oder niedrige Befunde: ein Code-Ergebnis, kein ökonomisches.
- HazeCrypto reichte bis zur Ökonomie: Der Bericht hält einen Befund hoher Schwere zum ROI-Modell fest und schreibt, dass Dividenden aus den Einzahlungen anderer Nutzer bezahlt werden.