Zum Inhalt springen
AtheronLABS

Erkanntes Land: Vereinigte Staaten. Preise werden in US-Dollar angezeigt. Nicht richtig?

labs@atheron:~/insights/contract-audits$ audit --scope contracts/ --freeze

Contract-Audits

Was sie in einem Smart Contract abdecken und was sie übersehen.

Hält Ihr Contract Werte, ist ein Audit eines der wertvollsten Dinge, die Sie dafür kaufen können. Es ist auch eines der am meisten missverstandenen. Es ist ein sorgfältiger zweiter Blick auf ein festes Stück Code, kein Zertifikat, dass das ganze System sicher ist.

Sicherheit · Veröffentlicht 2. Oktober 2026 · 7 min read

Warum Smart Contracts auditiert werden

Die meiste Software lässt sich nach dem Fund eines Fehlers reparieren. Ein Smart Contract auf einer öffentlichen Chain meist nicht. ethereum.org hält fest, dass bereitgestellter Contract-Code meist nicht geändert werden kann, um Sicherheitslücken zu schließen, und schätzt, dass der durch Sicherheitsmängel in Smart Contracts gestohlene oder verlorene Wert leicht über 1 Milliarde US-Dollar liegt [1]. Der Code hält oft direkt Geld, ist für jeden öffentlich einsehbar, und ein Angreifer muss nur einen Fehler finden.

Diese Kombination ist der Grund, warum Contracts, die Werte halten, vor dem Deployment von Fachleuten außerhalb des Teams geprüft werden, das sie geschrieben hat. Die Frage ist nicht, ob Sie diese Prüfung brauchen, sondern was sie für Sie leisten kann und was nicht.

Was ein Audit tut

Ein Audit ist eine zeitlich begrenzte Prüfung einer bestimmten Version Ihrer Contracts durch Sicherheitsingenieure, die sie nicht geschrieben haben. Ein typischer Auftrag sieht so aus.

  1. 01

    Umfang

    Die Prüfer vereinbaren, welche Contracts bei welchem Commit im Umfang sind, und lesen Ihre Dokumentation dazu, was das System tun soll.

  2. 02

    Manuelle Prüfung

    Erfahrene Prüfer lesen den Code Zeile für Zeile und suchen nach bekannten Arten von Schwachstellen (Reentrancy, Fehler in der Zugriffskontrolle, ungeprüfte Aufrufe, Rechen- und Rundungsfehler) und nach Logik, die nicht zur erklärten Absicht passt.

  3. 03

    Automatisierte Analyse

    Statische Analysewerkzeuge, Fuzzer und manchmal formale Werkzeuge suchen nach Mustern und Randfällen, die ein Mensch übersehen könnte.

  4. 04

    Bericht

    Befunde werden nach Schweregrad aufgelistet, von kritisch bis informativ, jeder mit einer Erklärung und einer empfohlenen Korrektur.

  5. 05

    Prüfung der Korrekturen

    Ihr Team behebt die Befunde, und die Prüfer kontrollieren die Korrekturen. Der Abschlussbericht nennt, welche Befunde behoben, zur Kenntnis genommen oder offen gelassen wurden.

Die Schwachstellen, die Prüfer am häufigsten finden, in klarer Sprache

  • Reentrancy: Der Contract sendet Mittel oder ruft einen anderen Contract auf, bevor er seine eigenen Aufzeichnungen aktualisiert, und der andere Contract ruft zurück, um dieselben Mittel noch einmal zu nehmen.
  • Zugriffskontrolle: Eine Funktion, die einem Administrator vorbehalten sein sollte, kann jeder aufrufen, oder eine Administratorrolle lässt sich übernehmen.
  • Preismanipulation: Der Contract liest einen Preis aus einer Quelle, die ein Angreifer innerhalb einer Transaktion bewegen kann, etwa einem dünnen Handelspool.
  • Rundung und Genauigkeit: kleine Divisionsfehler, die ein Angreifer tausendfach wiederholt oder die einen ersten Einzahler die Anteile aller späteren verzerren lassen.
  • Fehler bei Upgrades: ein Proxy, der auf den falschen Code zeigt, Speicher, der zwischen Versionen kollidiert, oder ein Initialisierer, den jeder aufrufen kann.
  • Logik, die tut, was der Code sagt, aber nicht, was das Geschäft meinte: eine doppelt erhobene Gebühr, eine Frist, die verkehrt herum geprüft wird.

Was ein Audit nicht abdeckt

ethereum.org ist hier deutlich: Audits finden nicht jeden Fehler und sind vor allem als zusätzliche Prüfrunde gedacht [1]. Darüber hinaus beschränkt sich der Umfang der meisten Audits auf den Contract-Code. Viele Verluste kommen von woanders.

Meist außerhalb des Umfangs eines Audits
BereichWarum es zähltWas es stattdessen abdeckt
Code, der nach dem Audit geändert wurdeDer Bericht gilt für einen Commit. Eine spätere Änderung, so klein sie ist, ist nicht auditiert.Eine Prüfung der Korrekturen oder ein neues Audit bei jeder Änderung an auditiertem Code
Private Schlüssel und AdministratorkontenWer den Upgrade- oder Administratorschlüssel hält, kann das System oft ändern oder leeren.Multisig-Wallets, Hardwareschlüssel, Timelocks und schriftliche Verfahren
Website und BackendEin kompromittiertes Frontend kann Nutzer bitten, etwas Schädliches zu signieren.Sicherheitstests der Webanwendung und Kontrollen der Lieferkette
Orakel und externe DatenEin Contract, der einem Preis-Feed vertraut, ist nur so sicher wie der Feed.Designprüfung von Orakelwahl, Grenzen und Rückfallebenen
Ökonomisches DesignCode kann genau wie geschrieben funktionieren und trotzdem über Anreize oder Marktmanipulation ausnutzbar sein.Ökonomische und spieltheoretische Prüfung, Simulationen
Deployment und KonfigurationFalsche Konstruktorargumente oder Adressen können ein perfektes Audit zunichtemachen.Skriptbasierte, geprüfte Deployments und Verifizierung auf der Chain

Wie Sie einen Auditbericht lesen

  1. 01

    Prüfen Sie den Commit

    Der Bericht nennt die genaue geprüfte Version. Stellen Sie sicher, dass sie Byte für Byte mit dem übereinstimmt, was Sie bereitgestellt haben, und dass die bereitgestellten Contracts auf der Chain verifiziert sind.

  2. 02

    Lesen Sie Umfang und Annahmen

    Welche Contracts drin waren, welche nicht, und was die Prüfer über Administratoren, Orakel und andere Contracts angenommen haben.

  3. 03

    Sehen Sie sich den Status jedes Befunds an

    Behoben, zur Kenntnis genommen oder offen. Ein zur Kenntnis genommener kritischer Befund ist eine geschäftliche Entscheidung, die jemand erklären können sollte.

  4. 04

    Lesen Sie auch die informativen Hinweise

    Sie beschreiben oft Designentscheidungen, die die Prüfer riskant, aber nicht falsch fanden, und das ist nützlich für Ihre nächste Version.

Wie Sie sich vorbereiten, damit sich das Audit lohnt

Die Zeit von Prüfern ist knapp und teuer, also ist jede Stunde, die sie damit verbringen, unklaren Code zu verstehen oder Fehler zu finden, die Ihre Tests hätten finden sollen, eine Stunde, die den subtilen Problemen fehlt, für die Sie sie bezahlen. Der Leitfaden von OpenZeppelin zur Audit-Bereitschaft legt dar, was er vor einem Audit erwartet.

  • Dokumentation, die Absicht, Designentscheidungen und Annahmen erklärt, von einem README und Architekturnotizen bis zu Kommentaren an jeder Funktion [2].
  • Tests, die Randfälle und das Zusammenspiel mit anderen Contracts abdecken, mit dem Ziel von mindestens 90 % Codeabdeckung, und Fuzzing, wo es hilft [2].
  • Sauberer, lesbarer Code, der einem einheitlichen Stil folgt, bewährte Muster wie Checks-Effects-Interactions nutzt und Abhängigkeiten über einen Paketmanager einbindet statt sie zu kopieren [2].
  • Ausgereifter Code: getestet, dokumentiert und bereit zum Deployment, statt noch in Veränderung [2].

Wir ergänzen zwei eigene Gewohnheiten. Der Code wird für die Dauer des Audits bei einem markierten Commit eingefroren, und jede Korrektur danach durchläuft dasselbe Review und dieselbe Testsuite wie die ursprüngliche Arbeit, bevor die Prüfer sie sehen.

Checklisten und Standards und ihre Grenzen

Checklisten helfen beiden Seiten, sich darauf zu einigen, was geprüft wurde. Sie altern aber. Das Register Smart Contract Weakness Classification, lange eine gängige Referenz, gibt an, dass sein Inhalt seit 2020 nicht gründlich aktualisiert wurde und unvollständig sein kann, und verweist stattdessen auf die Spezifikation EEA EthTrust Security Levels und den Smart Contract Security Verification Standard [3]. Fragen Sie jeden Prüfer, gegen welchen Standard er prüft, und betrachten Sie eine Befundliste, die nur einem alten Register zugeordnet ist, mit etwas Vorsicht.

Keine Checkliste ersetzt Verständnis. Die Hinweise von Consensys Diligence gehen davon aus, dass die Abwehr bekannter Schwachstellen nicht genügt und die Contract-Entwicklung die Disziplin von Bereichen wie Finanzsystemen braucht: auf Fehler vorbereitet sein und sorgfältig ausrollen [4].

Sicherheit über das Audit hinaus

Ein Audit ist eine Momentaufnahme. Der Contract läuft jahrelang, der Code um ihn herum ändert sich, und Angreifer studieren ihn weiter. Die Praktiken unten halten ein System zwischen Audits sicher, und die meisten kosten wenig im Vergleich zu dem, was sie schützen.

  • Eigenschaftsbasierte Tests und Fuzzing, die weiterlaufen, während sich der Code ändert, neben Unit-Tests [1].
  • Formale Verifizierung für die kritischsten Invarianten, wo die Kosten gerechtfertigt sind [1].
  • Ein Bug-Bounty-Programm nach dem Start, damit Menschen, die ein Problem finden, für die Meldung bezahlt werden statt es auszunutzen [1].
  • Ein schrittweises Ausrollen: anfangs Grenzen für Einlagen oder Nutzer, die angehoben werden, während sich das System bewährt [4].
  • Ein Notfall-Pause und ein Upgrade-Weg, wenn das Design sie zulässt, kontrolliert über eine Multisig-Wallet mit Timelock, sodass Änderungen sichtbar sind, bevor sie wirksam werden.
  • Überwachung der Aktivität auf der Chain und Warnungen bei ungewöhnlichen Transaktionen, mit einem schriftlichen Plan, wer was tut, wenn etwas schiefgeht.

Zwei Web3-Projekte, nach unserer Preisliste berechnet

Die durchgerechneten Beispiele unten zeigen die Spanne nach unserer heutigen Preisliste, mit den Stunden je Rolle und dem Zahlungsplan. Die Entwicklung umfasst unsere eigenen Tests und interne Sicherheitsprüfung. Ein externes Audit, wo der Contract es rechtfertigt, wird von der Auditfirma angeboten und vorab zum Selbstkostenpreis berechnet, außerhalb der Meilensteine.

Durchgerechnetes Beispiel, jetzt berechnet

Ein Satz Smart Contracts

Token- oder Treuhand-Contracts mit Administratorrolle, vollständiger Testsuite, Fuzzing und Deployment-Skripten, bereit für ein externes Audit.

Entwicklung
≈ 20.700 USD bis 31.700 USD, delivered within 9 weeksCAD 29,500 to 45,100

Preise in Ihrer Währung sind Schätzungen zum heutigen Kurs der Bank of Canada. Alle Rechnungen werden in CAD oder USD gestellt.

Geschätzter Aufwand nach Rolle

Développement
70 to 107 h
Ingénieur chaîne de blocs
32 to 50 h
Développeur frontal
19 to 29 h
Ingénieur principal
16 to 25 h
Ingénieur assurance qualité
15 to 23 h
Gestionnaire de projet
14 to 22 h
Développeur frontal principal
11 to 17 h
Ingénieur
11 to 17 h
Développeur dorsal principal
8 to 12 h
Développeur frontal junior
8 to 11 h
Développeur dorsal
7 to 11 h
Architecte logiciel
4 to 7 h
Développeur dorsal junior
4 to 5 h
Ingénieur DevOps
3 to 5 h
Rédacteur technique
3 to 4 h
Concepteur de produits
2 to 3 h
Concepteur de produits principal
1 to 2 h

Wie bezahlt wird

Anzahlung 30%
CAD 8,850 to 13,530
Spécification 10%
CAD 2,950 to 4,510
Contrats et tests 30%
CAD 8,850 to 13,530
Déploiement sur réseau de test 10%
CAD 2,950 to 4,510
Réseau principal 10%
CAD 2,950 to 4,510
Holdback, 30 days after launch (10%)
CAD 2,950 to 4,510

Durchgerechnetes Beispiel, jetzt berechnet

Eine dApp mit ihren Contracts

Contracts plus eine Web-App mit Wallet-Anmeldung, einem Verwaltungsbereich, Benachrichtigungen und Analytics, mit individuellem Design und Supportplan.

Entwicklung
≈ 68.400 USD bis 105.000 USD, delivered within 22 weeksCAD 97,400 to 149,000

Preise in Ihrer Währung sind Schätzungen zum heutigen Kurs der Bank of Canada. Alle Rechnungen werden in CAD oder USD gestellt.

Geschätzter Aufwand nach Rolle

Développement
287 to 440 h
Développeur frontal
58 to 89 h
Gestionnaire de projet
50 to 76 h
Ingénieur assurance qualité
50 to 76 h
Ingénieur chaîne de blocs
47 to 71 h
Concepteur de produits
46 to 70 h
Développeur dorsal principal
41 to 62 h
Développeur dorsal
40 to 61 h
Ingénieur principal
37 to 57 h
Développeur frontal principal
35 to 54 h
Concepteur de produits principal
31 to 47 h
Développeur frontal junior
23 to 36 h
Architecte logiciel
21 to 32 h
Développeur dorsal junior
20 to 31 h
Ingénieur
16 to 24 h
Ingénieur DevOps
12 to 18 h
Rédacteur technique
9 to 13 h

Wie bezahlt wird

Anzahlung 20%
CAD 19,480 to 29,800
Découverte 3.5%
CAD 3,409 to 5,215
Spécification 6.3%
CAD 6,136.20 to 9,387.00
Maquettes approuvées 3.5%
CAD 3,409 to 5,215
Fonctions principales 10.5%
CAD 10,227 to 15,645
Développement complet 7%
CAD 6,818 to 10,430
Contrats et tests 19.1%
CAD 18,603.40 to 28,459.00
Tests et corrections 3.5%
CAD 3,409 to 5,215
Déploiement sur réseau de test 6.3%
CAD 6,136.20 to 9,387.00
Mise en ligne 3.5%
CAD 3,409 to 5,215
Réseau principal 6.8%
CAD 6,623.20 to 10,132.00
Holdback, 30 days after launch (10%)
CAD 9,740 to 14,900

Einen Prüfer auswählen

  1. 01

    Lesen Sie ihre öffentlichen Berichte

    Seriöse Firmen veröffentlichen frühere Berichte. Achten Sie auf klare Befunde, vernünftige Schweregrade und ehrliche Abschnitte zum Umfang.

  2. 02

    Fragen Sie, wer die Arbeit macht

    Namen und Erfahrung der Prüfer in Ihrem Auftrag zählen mehr als die Marke.

  3. 03

    Vereinbaren Sie den Umfang schriftlich

    Welche Contracts, welcher Commit, welche Annahmen und ob eine Prüfung der Korrekturen enthalten ist.

  4. 04

    Passen Sie den Aufwand dem Risiko an

    Ein Contract, der erhebliche Werte halten wird, kann mehr als ein unabhängiges Audit rechtfertigen. Ein einfacher Contract auf auditierten Bibliotheken braucht vielleicht weniger.

  5. 05

    Buchen Sie früh

    Gute Prüfer sind Wochen im Voraus ausgebucht. Planen Sie das Audit, wenn Sie mit dem Bau beginnen, nicht wenn Sie fertig sind.

Wir bauen und testen Contracts, prüfen sie intern, helfen Ihnen, einen Prüfer zu wählen und zu briefen, und beheben die Befunde. Wir auditieren nicht unsere eigene Arbeit und nennen das unabhängig.

// sources

Woher die Zahlen kommen.

Jede Statistik in diesem Ratgeber verlinkt hierher. Preise kommen aus unserem Rechner, nicht aus einer Quelle.

  1. [1]ethereum.org, Smart contract security, 2026. ethereum.org/en/developers/docs/smart-contracts/security/
  2. [2]OpenZeppelin, Audit readiness guide. learn.openzeppelin.com/security-audits/readiness-guide
  3. [3]SWC Registry, Smart Contract Weakness Classification. swcregistry.io/
  4. [4]Consensys Diligence, Smart Contract Security Best Practices: General philosophy. consensysdiligence.github.io/smart-contract-best-practices/general-philosophy/

// questions

Kurze Antworten.

Heißt ein Audit, dass der Contract sicher ist?

Nein. Es heißt, dass Fachleute eine Version des Codes geprüft haben und ihre Befunde bearbeitet wurden. Es senkt das Risiko; es beseitigt es nicht.

Brauchen wir ein Audit für eine private Chain?

Die Begründung ist schwächer, wenn die Teilnehmer bekannt sind und die Contracts nach Vereinbarung aktualisiert werden können, aber eine sorgfältige Prüfung lohnt sich trotzdem bei allem, was Werte hält oder Verpflichtungen abwickelt.

Wer bezahlt das Audit?

Der Kunde, über uns: Ein externes Audit ist ein Drittkostenpunkt, der vorab zu dem berechnet wird, was die Auditfirma verlangt, außerhalb der Meilensteine.

// weiter

Haben Sie ein Projekt im Kopf?

Geben Sie es in den Rechner und erhalten Sie in wenigen Minuten eine Spanne. Oder erzählen Sie uns davon, und wir melden uns mit Fragen.

Audits von Smart Contracts: was sie abdecken und was sie übersehen | Atheron Network Labs