Wichtigste Erkenntnisse

  • Eine Sicherheitsprüfung von Smart Contracts bietet eine detaillierte Analyse des Smart Contracts eines Projekts, indem der Code auf Sicherheitsanfälligkeiten, Ineffizienzen und Risiken untersucht wird, bevor er bereitgestellt wird.

  • Audits folgen typischerweise einem vierstufigen Prozess: Codeeinreichung, Bericht über erste Erkenntnisse, Überarbeitungen des Projektteams und ein endgültiger öffentlicher Bericht, der ausstehende Probleme festhält.

  • Häufige Sicherheitsanfälligkeiten, nach denen Prüfer suchen, sind Reentrancy-Probleme, Fehler bei der Zugangskontrolle, Integer-Überlauf oder -Unterlauf, Oracle-Manipulation und Angriffsvektoren für Flash-Kredite.

  • Ein Audit reduziert bestimmte Risiken, garantiert jedoch keine Sicherheit. Branchendaten aus 2024 zeigen, dass der Großteil der gestohlenen Gelder aus Off-Chain-Vorfällen stammt, wie z.B. kompromittierte private Schlüssel und Infrastruktur, die nicht im Umfang eines Standard-Code-Audits liegen.

  • Das Lesen des Prüfberichts selbst und das Achten auf kritische und wichtige Erkenntnisse ist ein wichtiger Schritt bei der Bewertung eines DeFi-Projekts.

Binance Academy courses banner

Einführung

Sicherheitsprüfungen von Smart Contracts sind gängige Praxis im Ökosystem der dezentralen Finanzen (DeFi). Wenn Sie in ein Blockchain-Projekt investiert haben, kann Ihre Entscheidung teilweise auf den Ergebnissen einer Überprüfung des Smart Contract-Codes beruhen.

Während die meisten Menschen verstehen, dass Audits für die Sicherheit wichtig sind, nehmen sich weniger die Zeit, zu verstehen, was sie tatsächlich abdecken und wo ihre Grenzen liegen. Dieser Artikel erklärt die Methoden, typischen Erkenntnisse und wichtigen Einschränkungen von Sicherheitsprüfungen von Smart Contracts, um Ihnen zu helfen, informiertere Entscheidungen zu treffen.

Was ist ein Smart Contract Audit?

Eine Sicherheitsprüfung eines Smart Contracts untersucht und kommentiert den Smart Contract-Code eines Projekts. Diese Verträge sind typischerweise in der Programmiersprache Solidity geschrieben und über ein Code-Repository wie GitHub verfügbar. Sicherheitsprüfungen sind insbesondere für DeFi-Projekte von großem Wert, die erwarten, Blockchain-Transaktionen im Wert von Millionen von Dollar zu verarbeiten oder eine große Anzahl von Nutzern zu bedienen. Audits folgen normalerweise einem vierstufigen Prozess:

  • Smart Contracts werden dem Prüfungsteam zur ersten Analyse vorgelegt.

  • Das Prüfungsteam präsentiert die Ergebnisse dem Projektteam zur Maßnahmen.

  • Das Projektteam nimmt Änderungen basierend auf den identifizierten Problemen vor.

  • Das Prüfungsteam veröffentlicht einen endgültigen Bericht, in dem alle ausstehenden Fehler und bereits abgeschlossene Arbeiten festgehalten werden.

Für viele Krypto-Nutzer sind Sicherheitsprüfungen von Smart Contracts zu einem Standardkriterium bei der Bewertung neuer DeFi-Projekte geworden. Angesehene Prüfungsanbieter werden als Branchenbenchmarks angesehen, und ihre Berichte haben Gewicht in der Community.

Warum benötigen wir Sicherheitsprüfungen für Smart Contracts?

Mit großen Werten, die in oder durch Smart Contracts gesperrt oder transaktiert sind, werden sie attraktive Ziele für böswillige Angriffe. Kleinere Programmierfehler können zu erheblichen Verlusten führen. Da Blockchain-Transaktionen nicht umkehrbar sind, ist es weitaus effektiver, Sicherheitsanfälligkeiten vor der Bereitstellung zu verhindern, als nach einem Angriff eine Wiederherstellung zu versuchen.

Einschränkungen von Audits für Smart Contracts

Ein Audit reduziert das Risiko von On-Chain-Sicherheitsanfälligkeiten, aber es ist wichtig zu verstehen, was es nicht abdeckt. Laut Halborns Bericht über die 100 größten DeFi-Hacks 2025 stammten etwa 80,5 % des im Jahr 2024 gestohlenen Wertes aus Off-Chain-Vorfällen, einschließlich kompromittierter privater Schlüssel, Übernahmen von Admin-Konten und Infrastrukturangriffen. Diese Risiken liegen vollständig außerhalb des Umfangs einer Standardüberprüfung des Smart Contract-Codes. Darüber hinaus können Flash-Kreditangriffe, die 83,3 % der in 2024 berechtigten On-Chain-Ausnutzungen ausmachten, manchmal wirtschaftliche oder logische Fehler in einem Protokoll ausnutzen, die vorhanden, aber nicht in einem Audit identifiziert wurden. Unabhängige akademische Forschungen haben auch wenig statistische Beweise dafür gefunden, dass eine Auditierung zuverlässig die Wahrscheinlichkeit zukünftiger Sicherheitsverletzungen verringert, teilweise weil Projekte weiterhin ihren Code nach Abschluss des Audits aktualisieren.

Hochriskante Bereiche wie Brückensicherheitsanfälligkeiten, Verwaltung von Schlüsselmanagement und API-Infrastruktur erfordern typischerweise separate Sicherheitsüberprüfungen über ein Audit von Smart Contracts hinaus. Ein glaubwürdiges Projekt wird diese Bereiche durch Multi-Signatur-Wallets für Treasury- und Admin-Funktionen, Hardware-Wallet-Speicher für kritische Schlüssel und laufende Bug-Bounty-Programme angehen, zusätzlich zu den Prüfungen seiner Verträge.

Wie man einen Smart Contract auditieren kann

Der Prozess eines Smart Contract Audits ist über Anbieter hinweg größtenteils ähnlich, obwohl der genaue Ansatz variiert. Ein typischer Workflow umfasst:

  • Bestimmung des Umfangs: Die Spezifikationen des Smart Contracts, der beabsichtigte Zweck und die gesamte Architektur werden vom Projekt bereitgestellt. Eine klare Spezifikation hilft den Prüfern, die Ziele und Einschränkungen des Codes zu verstehen.

  • Bereitstellung eines ersten Angebots basierend auf der Menge an Code und der Komplexität, die damit verbunden ist.

  • Durchführung von Tests: sowohl manuelle als auch automatisierte Testmethoden werden typischerweise angewendet. Die genauen Werkzeuge und Methoden hängen vom Prüfungsteam ab.

  • Erstellung eines ersten Entwurfsberichts mit identifizierten Fehlern, der dem Projektteam zur Rückmeldung und Behebung übergeben wird.

  • Veröffentlichung des endgültigen Berichts, der alle vorgenommenen Korrekturen widerspiegelt und auf alle ungelösten Probleme hinweist.

Methoden zur Prüfung von Smart Contracts

Gas-Effizienz

Smart Contract Audits konzentrieren sich nicht nur auf Sicherheit. Sie untersuchen auch Effizienz und Optimierung. Einige Verträge führen eine komplexe Reihe von Transaktionen aus, um ihre beabsichtigte Funktion zu erfüllen. In Netzwerken, in denen Transaktionsgebühren erheblich sein können, senken gut optimierte Verträge die Kosten für die Nutzer und zeigen ein höheres Maß an Entwicklerkompetenz an. Ineffizienter Code bringt auch mehr potenzielle Fehlerquellen mit sich.

Vertragssicherheitsanfälligkeiten

Der Großteil der Prüfungsarbeit besteht darin, Verträge auf Sicherheitsanfälligkeiten zu überprüfen. Häufige Probleme sind:

  • Reentrancy-Probleme: Wenn ein Smart Contract einen externen Aufruf zu einem anderen Vertrag macht, bevor sein eigener Zustand aktualisiert wird, kann der externe Vertrag rekursiv in den ursprünglichen zurückrufen, auf Arten, die er nicht sollte.

  • Integer-Überläufe und -Unterläufe: Arithmetische Operationen, die die Speicherkapazität des Datentyps überschreiten oder unterschreiten, was zu falschen Werten führt.

  • Fehler bei der Zugangskontrolle: Funktionen, die auf autorisierte Adressen beschränkt sein sollten, jedoch über keine ordnungsgemäße Zugangskontrolle verfügen, wodurch unbefugte Aufrufer privilegierte Operationen ausführen können. Branchendaten identifizieren schwache Eingangsvalidierung und Zugangskontrolle als häufigste Ursache für direkte Vertragsausnutzungen.

  • Oracle- und Preismanipulation: Verträge, die auf ein einzelnes dezentrales Austauschpaar für Preisdaten angewiesen sind, können innerhalb einer einzigen Transaktion manipuliert werden. Robuste Oracle-Implementierungen verwenden zeitgewichtete Durchschnittspreise (TWAPs) oder mehrere unabhängige Preisquellen.

  • Front-Running-Möglichkeiten: Schlecht strukturierter Code kann bevorstehende Markttransaktionen aufdecken, auf Arten, die es anderen ermöglichen, die Informationen zu ihrem eigenen Vorteil auszunutzen.

Um diese Probleme zu finden, führen Prüfer Break-Tests durch, indem sie böswillige Angriffe auf den Vertrag simulieren und sowohl automatisierte Analysetools als auch manuelle Codeüberprüfungen verwenden.

Plattform-Sicherheit

Die meisten Audits bewerten auch die breitere Umgebung, die die Verträge hostet, einschließlich aller APIs, die verwendet werden, um mit der DApp zu interagieren. Ein Projekt kann technisch anfällig für Denial-of-Service-Angriffe auf Anwendungsebene sein, oder seine Weboberfläche kann anfällig für Kompromittierungen sein, was dazu führen kann, dass Nutzer unwissentlich mit bösartigen Verträgen interagieren.

Was ist ein Prüfbericht?

Der Prüfbericht wird am Ende des Prüfungsprozesses veröffentlicht. Zur Transparenz wird von Projekten erwartet, dass sie ihre Ergebnisse mit der Community teilen. Berichte kategorisieren typischerweise Probleme nach Schweregrad, wie kritisch, wichtig, geringfügig und informativ. Jedes Problem enthält auch einen Status, der angibt, ob das Projekt das Problem behoben, anerkannt oder die Behebung abgelehnt hat.

Ein Standardbericht enthält eine Zusammenfassung für das Management, spezifische Empfehlungen, Beispiele für redundanten oder suboptimalen Code und eine vollständige Aufschlüsselung, wo Programmierfehler vorliegen. Projekte erhalten Zeit, um auf die Ergebnisse zu reagieren, bevor die endgültige Version veröffentlicht wird.

Selbst wenn Sie keinen technischen Hintergrund haben, ist es sinnvoll, das Audit selbst zu überprüfen. Achten Sie auf die Schwere der ungelösten Probleme und darauf, ob das Projektteam klare Antworten auf kritische oder wichtige Erkenntnisse gegeben hat.

Was kostet ein Smart Contract Audit?

Die Kosten für ein Audit hängen von der Anzahl der zu überprüfenden Verträge, ihrer Komplexität und dem Ruf des Prüfungsanbieters ab. Ab 2024-2025 kann ein einfaches Audit für einen kleinen, einfachen Vertrag bei etwa 5.000 $ beginnen, während ein großes oder komplexes DeFi-Protokoll 50.000 $ oder mehr kosten kann. Einige Prüfungsanbieter bieten auch automatisierte Scanning-Tools an, die häufige bekannte Probleme zu geringeren Kosten kennzeichnen können, obwohl diese im Allgemeinen als Ergänzung zur manuellen Überprüfung betrachtet werden, nicht als Ersatz dafür.

FAQ

Bedeutet ein Smart Contract Audit, dass ein Projekt sicher ist?

Nicht unbedingt. Ein Audit reduziert das Risiko bestimmter Arten von On-Chain-Sicherheitsanfälligkeiten, die zum Zeitpunkt der Überprüfung identifiziert wurden, garantiert jedoch keine Sicherheit. Audits decken keine Off-Chain-Risiken ab, wie z.B. kompromittierte private Schlüssel oder Admin-Konten, die in den letzten Jahren für den Großteil der DeFi-Verluste verantwortlich waren. Projekte aktualisieren auch weiterhin ihren Code nach einem Audit, und Änderungen nach dem Audit sind nicht mehr abgedeckt. Betrachten Sie ein Audit als ein wichtiges Signal unter mehreren, wenn Sie ein Projekt bewerten, nicht als definitives Gütesiegel.

In welcher Programmiersprache sind die meisten Smart Contracts geschrieben?

Die Mehrheit der Smart Contracts auf Ethereum und EVM-kompatiblen Netzwerken (einschließlich BNB Chain) ist in Solidity geschrieben. Prüfer sind in der Regel erfahren in Solidity und verwenden eine Kombination aus automatisierten Tools und manueller Codeüberprüfung, um Verträge, die darin geschrieben sind, zu untersuchen. Einige Netzwerke verwenden alternative Smart Contract-Sprachen; zum Beispiel verwenden Sui und Aptos Move.

Was ist ein Reentrancy-Angriff?

Ein Reentrancy-Angriff tritt auf, wenn ein Smart Contract einen externen Aufruf zu einem anderen Vertrag macht, bevor er seinen eigenen internen Zustand aktualisiert. Der aufgerufene Vertrag kann dann in den ursprünglichen Vertrag zurückrufen und mit ihm interagieren, als ob die erste Transaktion nie begonnen hätte, da sich der Zustand des ursprünglichen Vertrags noch nicht geändert hat. Dies kann einem Angreifer erlauben, Gelder wiederholt in einer einzigen Transaktion abzuziehen. Der DAO-Hack von 2016 ist das am häufigsten zitierte historische Beispiel für diese Art von Ausnutzung.

Worauf sollte ich in einem Prüfbericht achten?

Beginnen Sie mit der Zusammenfassung für einen Überblick über die Ergebnisse. Überprüfen Sie dann kritische oder wichtige Probleme und prüfen Sie, ob das Projektteam diese gelöst hat. Seien Sie vorsichtig, wenn kritische oder wichtige Erkenntnisse als "anerkannt" oder "werden nicht behoben" ohne klare Erklärung aufgeführt werden. Überprüfen Sie auch, wann das Audit durchgeführt wurde und ob es seitdem signifikante Änderungen am Code gegeben hat, da nach dem Audit vorgenommene Änderungen nicht im ursprünglichen Bericht abgedeckt sind.

Was ist der Unterschied zwischen automatisierten und manuellen Smart Contract-Audits?

Automatisierte Prüfungswerkzeuge scannen den Code schnell und in großem Maßstab nach bekannten Mustern und häufigen Sicherheitsanfälligkeiten. Sie sind nützlich, um unkomplizierte Probleme zu kennzeichnen, können jedoch komplexe Logikfehler, wirtschaftliche Ausnutzungen oder subtile Sicherheitsanfälligkeiten, die einzigartig für das Design eines Protokolls sind, übersehen. Manuelle Prüfungen beinhalten erfahrene Sicherheitsforscher, die den Code gründlich lesen und analysieren. Ein qualitativ hochwertiges Audit kombiniert typischerweise beide Ansätze, indem es automatisierte Tools verwendet, um oberflächliche Probleme zu bereinigen und menschlichen Prüfern die Möglichkeit gibt, sich auf komplexe Logik und Randfälle zu konzentrieren.

Abschlussgedanken

Sicherheitsprüfungen von Smart Contracts sind ein fester Bestandteil der Einführung eines glaubwürdigen DeFi-Projekts geworden. Sie bieten eine unabhängige Überprüfung des Codes und helfen, Sicherheitsanfälligkeiten zu identifizieren, bevor sie ausgenutzt werden können. Der Umfang eines Standard-Audits beschränkt sich jedoch auf den Vertragscode selbst. Off-Chain-Risiken, einschließlich kompromittierter Schlüssel und Infrastruktur, machen mittlerweile den Großteil des in DeFi-Ausnutzungen verlorenen Wertes aus. Bei der Bewertung eines Projekts ist es informativer, den Prüfbericht direkt zu überprüfen und die breiteren Sicherheitspraktiken des Projekts zu berücksichtigen, als die Existenz eines Audits allein als Signal für Sicherheit zu betrachten.

Weiterführende Literatur

  • Was ist die formale Verifizierung von Smart Contracts?

  • Vier Wege, um DYOR zu DeFi-Yield-Farmen

  • Wie man Betrügereien in der dezentralen Finanzen (DeFi) erkennt

  • Was sind häufige Sicherheitsanfälligkeiten bei Brücken?

  • Was sind Flash-Kredite in DeFi?


Haftungsausschluss: Dieser Inhalt wird Ihnen auf einer "as is"-Basis für allgemeine Informationen und/oder Bildungszwecke bereitgestellt, ohne jegliche Art von Darstellung oder Gewährleistung. Er sollte nicht als finanzielle, rechtliche oder andere professionelle Beratung ausgelegt werden, noch ist er dazu gedacht, den Kauf eines bestimmten Produkts oder einer Dienstleistung zu empfehlen. Sie sollten sich um eigene Ratschläge von geeigneten Fachberatern bemühen. Wenn der Inhalt von einem Drittanbieter bereitgestellt wird, beachten Sie bitte, dass die darin geäußerten Ansichten dem Drittanbieter gehören und nicht notwendigerweise die von Binance Academy widerspiegeln. Die Preise digitaler Vermögenswerte können volatil sein. Der Wert Ihrer Investition kann fallen oder steigen, und Sie erhalten möglicherweise nicht den investierten Betrag zurück. Sie sind allein verantwortlich für Ihre Investitionsentscheidungen und Binance Academy haftet nicht für Verluste, die Ihnen entstehen könnten. Weitere Informationen finden Sie in unseren Nutzungsbedingungen, Risiko-Hinweisen und den Bedingungen von Binance Academy.