Gewinne:
- Fähigkeit zu verstehen, dass künstliche Intelligenz den Handlungsspielraum des Prüfers erweitert, ihn aber nicht ersetzt, und beim Scannen von Kategorien und beim Finden von Entwürfen nützlich ist.
- In der Lage sein zu erkennen, dass künstliche Intelligenz die ursprüngliche Schwachstelle und den Fehler in der Geschäftslogik übersehen hat und dass eine fließende „sichere“ Aussage keine Garantie ist
- Fähigkeit, Feststellungen nach Schweregrad zu klassifizieren und zu verstehen, dass die endgültige Genehmigung und fachliche Verantwortung beim zuständigen Prüfer liegt.
Das Sicherheitsaudit (systematische Prüfung eines Smart Contracts auf Schwachstellen) ist die verantwortungsvollste Aufgabe von Web3. Eine einzige Zeile, die ein Wirtschaftsprüfer übersieht, kann zu Verlusten in Millionenhöhe führen. In dieser Einheit lernen Sie, wie Sie KI als Prüfungsassistent einsetzen; Wir werden von der Generierung von Hinweisen bis zum Verfassen einer Ergebnisübersicht lernen. Aber der kritischste Satz ist dieser: KI kontrolliert nicht; Es ist ein Assistent, der den Blick des Prüfers schärft. Die endgültige Genehmigung liegt beim zuständigen Wirtschaftsprüfer, der die fachliche Verantwortung übernimmt.
Warum Auditing sicherheitskritisch ist
Ein Prüfbericht versichert dem Projekt und den Investoren, dass „dieser Kodex überprüft wurde“. Wenn diese Zusicherung falsch ist, sind die Folgen katastrophal: ausgenutztes Protokoll, verlorene Finanzierung, gescheitertes Projekt. Daher ist der Einsatz von KI bei der Inspektion der sorgfältigste Teil dieses Moduls. KI erweitert den Wirkungsbereich des Auditors (erinnert sich an mehr Muster, liest schneller), ersetzt den Auditor jedoch nicht.
Warum geht es nicht? Denn:
- Die KI kann die einzigartige/neue Schwachstelle, die nicht in den Trainingsdaten enthalten ist, nicht erkennen.
- KI übersieht oft den Fehler in der Geschäftslogik des Protokolls – dass der Code technisch korrekt, aber wirtschaftlich verwertbar ist.
- KI kann falsche Sicherheit geben, indem sie in fließender Sprache „sicher“ sagt; Das ist das gefährlichste Ergebnis.
Ebenen des Einsatzes von KI zur Kontrolle
1. Erster Scan und Mustererinnerung. KI durchläuft bekannte Schwachstellenmuster wie eine Checkliste: Wiedereintritt, Zugriffskontrolle, Oracle-Manipulation, Front-Running. Dadurch wird sichergestellt, dass der Prüfer keine Kategorien übersieht.
2. Code-Erklärung. Indem der KI eine komplexe Funktion in einfacher Sprache erklärt wird, kann der Prüfer die Logik schnell erfassen. aber die Beschreibung wird immer mit dem Code verglichen.
3. Verfassen eines Entwurfs der Ergebnisse. Wenn der Prüfer eine Schwachstelle findet, spart KI Zeit beim Verfassen des Berichtsentwurfs (Beschreibung, Auswirkung, Lösungsvorschlag).
4. Generierung einer Gegenhypothese. Fragen Sie die KI: „Wie kann diese Funktion missbraucht werden?“ „Fragen“ erinnert uns an die aggressive Perspektive.
Achtung: Nur weil die KI sagt „Ich habe keine Schwachstellen in diesem Code gefunden“, heißt das NICHT, dass „dieser Code sicher ist“. Der Beweis der Abwesenheit ist nicht gleichbedeutend mit der Abwesenheit von Beweisen. Die Tatsache, dass die KI etwas nicht finden kann, macht es für den Prüfer nicht unnötig, diesen Bereich zu untersuchen.
Schweregrade finden
Prüfungsfeststellungen werden nach ihrem Schweregrad klassifiziert. AI sollte dieses Framework beim Generieren von Entwürfen verwenden:
Ebene
Bedeutung
Beispiel
kritisch
Fondsverlust/Sperrung direkt möglich
Abhebung von Geldern mit Wiedereintritt
hoch
Unter bestimmten Bedingungen schwerwiegende Auswirkungen
Unautorisierter Druck (Mint)
mittel
Begrenzte Auswirkungen oder schwieriger Zustand
Kleiner Verlust mit Oracle-Abweichung
niedrig
Geringes Risiko, Verstoß gegen gute Praktiken
Fehlende Veranstaltungsübertragung
Informationen
Nichtsicherheit, Lesbarkeit
Fehlende NatSpec
Schwache Eingabeaufforderung / Starke Eingabeaufforderung
Schwache Eingabeaufforderung:
Ist dieser Vertrag sicher?
Diese Frage zwingt die KI zu einem absoluten, ungerechtfertigten Urteil wie „Ja/Nein“ – genau das, was wir nicht wollen.
Kraftvolle Aufforderung:
Ihre Rolle: Assistent des Senior Smart Contract Auditors. Scannen Sie den folgenden Vertrag zur Sicherheit. Gehen Sie nacheinander die folgenden Kategorien durch: Wiedereintritt, Zugriffskontrolle, Ganzzahloperationen, Eingabevalidierung, Oracle/externe Daten, Front-Running, Gaslimit. Für jeden ERKENNTNIS: (1) relevante Codezeile, (2) Risikoursache, (3) geschätzter Schweregrad (Kritisch/Hoch/Mittel/Niedrig), (4) Lösungsvorschlag. Dies sind Hypothesen, die bestätigt werden müssen; Geben Sie kein „sicheres“ Urteil ab. Markieren Sie die Bereiche, bei denen Sie sich nicht sicher sind, und sagen Sie „Vom Prüfer bestätigen lassen“.
Vier kopierbare Vorlagen
1) Kategorienbasiertes Durchsuchen:
Durchsuchen Sie diesen Vertrag nach den folgenden Kategorien: Wiedereintritt, Zugriffskontrolle, Ganzzahlüberlauf, Eingabevalidierung, Oracle-Abhängigkeit, Front-Running, DoS/Gas. Sagen Sie für jede Kategorie: „Es besteht/besteht kein Risiko/Ich bin mir nicht sicher“ und verbinden Sie Ihre Begründung mit der Zeile im Code. Treffen Sie kein endgültiges Urteil.
2) Gegenhypothese aus Sicht des Angreifers:
Denken Sie wie ein Angreifer: Wie kann diese Funktion missbraucht werden? Schreiben Sie jedes Szenario Schritt für Schritt und geben Sie an, welche Bedingungen erforderlich sind. Bei diesen Szenarien handelt es sich um die zu prüfenden Hypothesen; Generieren Sie KEINEN tatsächlichen Exploit-Code, sondern beschreiben Sie lediglich das Risiko.
3) Entwurf des Ergebnisberichts:
Melden Sie den folgenden verifizierten Befund in formeller Prüfsprache: Titel, Schweregrad, Beschreibung, Auswirkung, betroffener Code, Schritte zur Reproduktion, vorgeschlagene Lösung. Verwenden Sie eine maßvolle und technische Sprache; Übertreibung. Gehen Sie davon aus, dass die Feststellung vom Prüfer bestätigt wird, und erfinden Sie keine neue Feststellung.
4) Überprüfung beheben:
Nachfolgend finden Sie eine Schwachstelle und den vom Entwickler vorgenommenen Fix. Prüfen Sie, ob der Fix die Schwachstelle tatsächlich schließt; Markieren Sie, ob dadurch eine neue Nebenwirkung oder Schwachstelle entsteht. Sagen Sie nicht auf jeden Fall „geschlossen“. Beenden Sie mit „muss durch Tests bestätigt werden“.
Drei Minikoffer (in Zahlen)
Fall 1 – KI verhinderte das Wechseln zwischen Kategorien. Ein Wirtschaftsprüfer wollte sich auf einen 400-Zeilen-Vertrag konzentrieren und die Orakelkategorie überspringen. Der Kategorienscan von AI gab eine Warnung aus, dass „Preisdaten aus einer einzigen Quelle stammen und manipuliert werden können“. Der Prüfer untersuchte es und stellte fest, dass es sich tatsächlich um ein mittleres Risiko handelte. Lektion: KI sorgt für Abdeckungsdisziplin.
Fall 2 – Falsche „sichere“ Zusicherung. Ein anderes Team fragte die KI: „Ist das sicher?“ er fragte; „Es scheint kein nennenswertes Problem zu geben“, sagte AI. Die Inspektion der Besatzung verlief leicht. Dann entdeckte der unabhängige Prüfer einen Fehler in der Geschäftslogik: eine Berechnung, die technisch korrekt war, deren Anreize jedoch ausgenutzt werden konnten. Lektion: KI übersieht Geschäftslogikfehler; Man kann ihm nicht zutrauen, dass er „sicher“ sagt.
Fall 3 – Durch die Erstellung des Berichts wurden 3 Stunden eingespart. Der Prüfer verbrachte den halben Tag damit, acht Feststellungen manuell zu melden. Nachdem ich die verifizierten Ergebnisse der KI übergeben und den offiziellen Entwurf ausgedruckt hatte, verkürzte sich die Zeit um ca. 3 Stunden; Der Prüfer widmete der Vertiefung Zeit. Lektion: KI ist bei der Berichterstattung sicher und effizient, da die Ergebnisse bereits menschlich verifiziert wurden.
Schwachstelle in der Geschäftslogik: Der blinde Fleck der KI
Die teuersten Schwachstellen entstehen oft nicht durch einen technischen Fehler im Code, sondern durch die Ausnutzbarkeit der Geschäftslogik: Rounding-Ausnutzung eines Prämienkontos, Flash-Loan-Hijacking einer Stimme, sofortige Manipulation eines Preises. Dies sind Fälle, in denen der Code „richtig“ funktioniert, das Protokoll jedoch wirtschaftlich ausgetrickst werden kann. KI wird solche Fehler wahrscheinlich übersehen – insbesondere protokollspezifische. Daher ist die Überprüfung der Geschäftslogik der arbeitsintensivste Bereich des Prüfers und am wenigsten auf KI angewiesen.
Hinweis: Fragen Sie die KI: „Wie können die wirtschaftlichen Anreize dieses Protokolls genutzt werden?“ und nutzen Sie die aufkommenden Szenarien als Ausgangspunkt – aber denken Sie daran, dass Sie und Ihr Team die eigentliche Analyse durchführen sollten.
Häufige Fehler
- Fragen Sie die KI: „Ist es sicher?“ Fragen und vertrauen Sie auf Ihr Ja. Ein absolutes Urteilsvermögen ist nicht erforderlich.
- Stoppen der Überprüfung, wenn die KI sagt „Ich konnte es nicht finden“. Abwesenheit ist kein Beweis.
- Delegieren der Überprüfung der Geschäftslogik an KI. Es ist sein größter blinder Fleck.
- Keine Verwendung unabhängiger Tools (Slither usw.). KI allein reicht nicht aus.
- Den von der KI erstellten Befund in den Bericht aufnehmen, ohne ihn zu überprüfen. Gefahr von Halluzinationen.
- Der Versuch, der KI die Kontrollverantwortung zu übertragen. Die Verantwortung liegt beim Sachverständigen.
Zusammenfassend
- Audit ist sicherheitskritisch; KI erweitert den Handlungsspielraum des Prüfers, ersetzt ihn aber nicht.
- KI übersieht die ursprüngliche Schwachstelle und den Fehler in der Geschäftslogik. „Sicher“ zu sagen ist keine Garantie.
- Die Befunde werden nach Schweregrad klassifiziert; KI ist bei der Erstellung von Entwürfen nützlich.
- Gegenhypothese und Kategorienscreening bewahren die Disziplin der Inklusion.
- Die endgültige Genehmigung und fachliche Verantwortung liegt stets beim zuständigen Prüfer.
Anwendungsaufgabe
Suchen Sie nach einem Mustervertrag, der eine bekannte Schwachstelle enthält (zu Bildungszwecken stehen Beispiele für „gefährdete Verträge“ in Open Source zur Verfügung). Wenden Sie die Eingabeaufforderung „Kategoriebasiertes Scannen“ auf die KI an. Beachten Sie, ob die KI: (1) die tatsächliche Schwachstelle gefunden hat, (2) erfundene/falsche Ergebnisse geliefert hat, (3) absolute Urteile wie „sicher“ gefällt hat. Vergleichen Sie es dann mit einem statischen Analysetool.
Checkliste
- [ ] Fragen Sie die KI: „Ist es sicher?“ Stattdessen habe ich einen kategoriebasierten Scan durchgeführt.
- [ ] Ich habe jeden Befund als Hypothese behandelt.
- [ ] Ich habe die Überprüfung der Geschäftslogik selbst/im Team durchgeführt.
- [ ] Ich habe es mit einem unabhängigen statischen Analysetool kreuzvalidiert.
- [ ] Ich habe bestätigt, dass die KI keine Befunde fabriziert.
- [ ] Ich habe die Befunde nach Schweregrad klassifiziert.
- [ ] Ich habe akzeptiert, dass die endgültige Genehmigung beim zuständigen Prüfer liegt.