
Smart Contract Audits
Smart Contract Auditing, Penetration Testing und Netzwerksicherheit – fortschrittliche Blockchain Services der App-Agentur.
Beim Audit von Smart Contracts stehen Sicherheitsfragen besonders im Fokus. Wir analysieren und überprüfen die Smart Contracts Ihrer Blockchain-Anwendungen hinsichtlich Designproblemen, Code-Fehlern oder Sicherheitslücken. Ein solches professionelles Audit umfasst u. a. Spezifikation, Testszenarien, die Ausführung automatisierter Analysetools, die manuelle Überprüfung des Codes und ein detailliertes Reporting/Dokumentation.
Die Services der Blockchain-Agentur:

Smart Contract Audits – Dokumentation und Spezifikation
Eine wichtige Maßnahme im Auditierungsprozess ist es, die Architektur, das Design und den Aufbau des Projekts exakt zu beschreiben. So sind Whitepaper und DocStrings zwar nützliche Tools zur Erläuterung bestimmter Codeabschnitte, können jedoch keine gut geschriebene Spezifikation ersetzen. Daher besteht der erste Schritt eines guten Audits darin, sicherzustellen, dass das Projekt eine vollständige Spezifikation enthält, die als Rückgrat für den Auditprozess dient.
Code Freeze
„Code Freeze“ bedeutet, dass der Code weitgehend abgeschlossen ist und sich in der letzten Entwurfsphase befindet. Von Entwicklerseite wurden bereits alle Maßnahmen ergriffen, um die einwandfreie Funktionalität des Codes sicherzustellen. In diesem Stadium einigen sich Auditoren und Entwickler auf die finale Fassung des Codes; nachträgliche Änderungen sind nicht mehr Bestandteil der Prüfung.

Smart Contract Audits – Testing
Tests sind die einfachste Möglichkeit, Fehler zu erkennen. Unsere Tests reichen von Komponententests für einzelne Funktionen bis hin zu Integrationstests, die größere Codeblöcke adressieren. Ein engmaschiges Testing verringert die Fehleranzahl erheblich und stellt sicher, dass sich Entwickler und Prüfer auf die beabsichtigte Leistung und Funktionalität des Projekts geeinigt haben. Zudem ermöglicht das Testing den Auditoren einen Einblick in die erwartete Funktionalität des Projekts. Wurden alle Tests erfolgreich abgeschlossen, ist die Wahrscheinlichkeit gering, dass dennoch offensichtliche Probleme auftreten werden. Wenn Tests fehlschlagen, gibt dies gute Hinweise auf Fehler – und dem Entwicklerteam die Möglichkeit, kritische Teile im Code zu überarbeiten bzw. neu zu erstellen.
Testabdeckung
Die Überprüfung der Testabdeckung, also wie viel Code durch Tests ausgewertet wurde, ist der nächste wichtige Schritt. Bei einer großen Abdeckung wurden entsprechend mehr Funktionen getestet, was wiederum die Wahrscheinlichkeit unerwartet auftretender Probleme und Sicherheitslücken minimiert. So strebt die Qualitätssicherung im Allgemeinen eine Abdeckung von 100 % an; 85-90 % Abdeckung sind jedoch für die meisten Projekte angemessen. Ein Wert unter 75 % ist als kritisch anzusehen, dann sind weitere Tests durch das Projektteam angebracht.

Smart Contract Audits – automatisierte Analysen
Um sichereren, funktionierenden Code gewährleisten zu können, setzen wir auch automatisierte Fehlererkennungssoftware ein. Dies macht den Auditing-Prozess noch zuverlässiger und vereinfacht es, häufige Fallstricke im Code zu identifizieren. Ein effizienter Weg, um die Zeit für das Audit zu verkürzen und dadurch frei werdende Ressourcen zur Erkennung komplexerer Schwachstellen einzusetzen.
False Positives
Automatisierte Analysewerkzeuge sind nützliche Tools, liefern aber oft False Positives, also Fehler-Falschmeldungen. Dies liegt daran, dass die Tools nicht oder nicht ausreichend in der Lage sind, kontextbezogen zu entscheiden. Aus diesem Grund wird im Rahmen des Audits jeder False-Positive-Meldung manuell überprüft und dann aus den Berichtsergebnissen entfernt.