PHP Code-Audit: Sicherheit, Performance, Wartbarkeit
Wir prüfen Ihre PHP-Anwendung direkt im Quellcode, auch Teile, die mit KI-Tools entstanden sind. Sie erhalten eine priorisierte Liste mit konkreten Lösungen statt einer abstrakten Punktzahl.
Was ein PHP Code-Audit Ihnen sagt
Ein PHP Code-Audit beantwortet eine Frage: Wie riskant ist es, diese Anwendung weiter zu betreiben und weiterzuentwickeln? Wir lesen den Code, lassen statische Analyse laufen und prüfen jede Abhängigkeit. Danach bewerten wir jeden Fund danach, was er für Ihr Geschäft bedeutet, und nicht danach, wie ein Tool ihn einsortiert.
Die meisten Systeme, die wir prüfen, sind über Jahre gewachsen. Manche laufen seit PHP 5 oder 7, manche auf einer älteren Symfony-Version, manche als reines PHP ohne Framework. Andere wurden schnell mit KI-Assistenten gebaut. Die Frage ist immer dieselbe: Was muss zuerst angegangen werden, und was kann warten?
Der Bericht ist auch für sich allein nützlich. Sie können ihn Ihrem Team, einer neuen Entwicklerin oder einer anderen Agentur geben, und alle wissen, wo sie anfangen.
Wann Unternehmen ein Audit anfragen
- →Der einzige Entwickler ist gegangen, und niemand kennt den Zustand des Codes
- →Sie übernehmen oder kaufen eine PHP-Anwendung
- →Ein Penetrationstest hat Schwachstellen gefunden, und es fehlt ein Plan zur Behebung
- →Ein PHP- oder Symfony-Update ist überfällig, und niemand traut sich heran
- →Teile des Codes wurden mit KI-Tools erzeugt und nie geprüft
Was das Audit prüft
Sechs Bereiche, jeweils mit Tools und durch Lesen des Codes geprüft. Die Gewichtung richtet sich nach Ihrem System: Bei einem Onlineshop schauen wir genauer auf Checkout und Zahlung, bei einem internen Tool auf Berechtigungen und Datenzugriff.
Sicherheit
SQL-Injection, XSS, CSRF, Datei-Uploads, Login und Session-Handling, Berechtigungsprüfung auf jeder Route, Zugangsdaten im Repository und der Weg von Benutzereingaben durch die Anwendung.
Abhängigkeiten
Composer- und npm-Pakete: bekannte Sicherheitslücken, verwaiste Pakete, wie weit jedes Paket zurückliegt und wie lange Ihre PHP- und Framework-Versionen noch unterstützt werden. Einen ersten Eindruck vorab liefert der kostenlose Update-Check.
Architektur und Wartbarkeit
Struktur, Kopplung zwischen Modulen, doppelte Logik und toter Code. Wir markieren die Stellen, an denen eine Änderung Anpassungen in vielen Dateien nach sich zieht, und die Module, die am riskantesten anzufassen sind.
Performance
N+1-Abfragen, fehlende Indizes, ineffiziente ORM-Nutzung, Caching und teure Arbeit bei jedem Request. Wo es darauf ankommt, messen wir echte Requests, statt zu raten.
Tests und Auslieferung
Welche kritischen Abläufe durch Tests abgesichert sind, ob die Tests überhaupt laufen und wie Code in Produktion kommt: CI-Pipeline, Deployment, Konfiguration und Zugangsdaten je Umgebung.
KI-generierter Code
Code, der mit Copilot, Cursor, ChatGPT oder ähnlichen Tools entstanden ist, geprüft auf die typischen Fehler dieser Werkzeuge. Mehr dazu im nächsten Abschnitt.
Audit für KI-generierten Code und Vibe Coding
Immer mehr PHP-Anwendungen entstehen zum großen Teil mit KI-Assistenten, manchmal von Leuten, die beschreiben, was sie wollen, und übernehmen, was das Tool schreibt. Solche per Vibe Coding gebaute Software funktioniert oft in der Demo und scheitert dort, wo niemand hingeschaut hat: bei Sicherheit, Sonderfällen und Fehlerbehandlung.
KI-generierter Code sieht aufgeräumt aus, und genau das macht die Prüfung schwerer. Die Probleme sind selten Syntaxfehler. Es sind fehlende Prüfungen, erfundene APIs und Muster aus veralteten Beispielen. Ein Vibe-Code-Audit sucht gezielt danach.
Sie erhalten denselben Bericht wie bei jedem anderen Audit, ergänzt um einen eigenen Abschnitt zu KI-spezifischen Risiken und ein paar Prüfregeln, mit denen Ihr Team KI-generierten Code künftig selbst reviewen kann.
Typische Funde in KI-generiertem PHP-Code
- •Datenbankabfragen, die aus Strings zusammengesetzt werden statt über Prepared Statements oder das ORM
- •Routen und API-Endpunkte ohne Berechtigungsprüfung
- •Validierung, die nur im Frontend existiert
- •Pakete, die es nicht gibt, die nicht mehr gepflegt werden oder in veralteten Versionen installiert sind
- •API-Schlüssel und Passwörter im Repository
- •Fehlerbehandlung, die Fehler verschluckt oder interne Details an Nutzer ausgibt
Ablauf und Dauer des Audits
Das PHP Code-Audit läuft als unser Code-Readiness-Sprint: 1 bis 2 Wochen, je nach Größe der Codebasis. Er ist der Einstieg in die Zusammenarbeit mit uns und auch für sich allein nützlich. Ist das Ergebnis nicht brauchbar, bessern wir ohne Mehrkosten nach.
Erstgespräch und Zugang
In einem kostenlosen 30-minütigen Gespräch klären wir den Umfang und was Ihnen die meisten Sorgen macht. Danach brauchen wir Lesezugriff auf das Repository. Zugang zur Produktion ist nicht nötig.
Automatisierte Analyse
Statische Analyse, Scans von Abhängigkeiten und Sicherheitslücken, Kennzahlen zu Komplexität und Duplikaten. So entsteht eine Landkarte der Codebasis, und es zeigt sich, welche Bereiche genauer gelesen werden sollten.
Manuelle Prüfung
Wir lesen die kritischen Abläufe: Login, Berechtigungen, Zahlungen, Datenimporte und alles, was personenbezogene Daten verarbeitet. Tools zeigen Symptome, erst der Code zeigt die Ursache.
Bericht und Besprechung
Sie erhalten den schriftlichen Bericht und eine Arbeitssitzung mit Ihrem Team, in der wir die Funde durchgehen. Sofort-Fixes setzen wir, wo möglich, schon während des Sprints um.
Was Sie erhalten: Aufbau des Berichts
Jeder Bericht hat denselben Aufbau. Die Geschäftsführung kann ihn lesen, das Entwicklungsteam kann direkt damit arbeiten.
- 1
Zusammenfassung
Eine Seite in verständlicher Sprache: Gesamtzustand, größte Risiken und was zuerst passieren sollte.
- 2
Systemüberblick
PHP- und Framework-Versionen, zentrale Module, externe Dienste, Infrastruktur und wie der Code ausgeliefert wird.
- 3
Sicherheitsfunde
Jeder Fund mit Fundstelle im Code, Schweregrad, möglichem Angriffsweg und konkreter Lösung.
- 4
Stand der Abhängigkeiten
Veraltete und unsichere Pakete, Versionen ohne Support und eine empfohlene Reihenfolge für Updates.
- 5
Architektur, Tests und Performance
Fragile Module, Duplikate, Testabdeckung der kritischen Abläufe und gemessene Engpässe.
- 6
KI-generierter Code
Falls relevant: KI-spezifische Funde und Prüfregeln für Ihr Team.
- 7
Priorisiertes Backlog
Alle Funde nach Geschäftsrisiko sortiert, jeweils mit Aufwandsschätzung, bereit für Ihr Ticketsystem.
Werkzeuge und Methode
Wir kombinieren automatisierte statische Analyse mit manuellem Code-Review, denn Tools allein fehlt der Kontext.
Unsere Werkzeuge
- →PHPStan / Psalm (statische Analyse für PHP)
- →Composer audit und npm audit für bekannte Sicherheitslücken
- →SonarQube für Komplexität und Duplikate
- →Xdebug + Blackfire für PHP-Profiling
- →ESLint + TypeScript Strict Mode für den JavaScript-Teil
- →OWASP ZAP für grundlegende Schwachstellen-Scans
Funde nach Geschäftsrisiko sortiert
Tools sortieren Probleme nach Kategorie. Wir sortieren nach Geschäftsrisiko. Eine komplexe Funktion in einer Admin-Seite, die einmal im Monat genutzt wird, ist weniger dringend als eine einfachere im Checkout.
Jeder Fund enthält eine Aufwandsschätzung und einen Lösungsvorschlag, nicht nur eine Problembeschreibung.
Nach dem Audit
Sie entscheiden, wie es weitergeht. Ihr Team kann das Backlog selbst abarbeiten, die gemeinsame Besprechung ist dafür der Startpunkt.
Wenn niemand die Arbeit übernehmen kann, machen wir als Interims-Entwickler weiter: Wir beheben die Funde ohne Feature-Freeze, richten Quality Gates in der CI ein und halten die Abhängigkeiten aktuell.
PHP Code-Audit: häufige Fragen
Wie lange dauert ein PHP Code-Audit?+
1 bis 2 Wochen, je nach Größe der Codebasis und wie viele Bereiche Sie im Detail geprüft haben möchten. Den Umfang legen wir im Erstgespräch fest.
Was kostet ein Code-Audit?+
Das hängt von Größe und Zustand der Codebasis ab. Wir schätzen den Aufwand im Erstgespräch, und Sie bekommen vor dem Start ein konkretes Angebot.
Ist ein Code-Audit dasselbe wie ein Penetrationstest?+
Nein. Ein Penetrationstest greift die laufende Anwendung von außen an. Ein Code-Audit liest den Quellcode und findet die Ursachen, auch Probleme, an die ein Pentest nicht herankommt. Liegt bereits ein Pentest-Bericht vor, nutzen wir ihn als Grundlage.
Brauchen Sie Zugang zu unserem Produktivsystem?+
Nein. Für die meisten Audits reicht Lesezugriff auf das Repository. Bei Performance-Fragen helfen Zugriff auf Logs oder eine Staging-Umgebung.
Welche PHP-Versionen und Frameworks prüfen Sie?+
Aktuelle PHP-Versionen und ältere wie PHP 5 oder 7, mit Schwerpunkt auf Symfony und reinem PHP. Hat die Anwendung ein JavaScript-Frontend mit React oder Next.js, beziehen wir es auf Wunsch mit ein.
Prüfen Sie auch Code, der mit KI-Tools geschrieben wurde?+
Ja. Wir prüfen ihn wie jeden anderen Code und achten zusätzlich auf die typischen Fehler von KI-Assistenten. Welches Tool verwendet wurde, spielt keine Rolle.
Wie geht es nach dem Audit weiter?+
Ihr Team arbeitet das priorisierte Backlog ab, oder wir übernehmen als Interims-Entwickler und beheben die Funde, während die normale Entwicklung weiterläuft.
Fallstudie · B2C SaaS · Pre-Series-A
Next.js Performance-Rettung vor Series-A
Drei-Wochen-Audit + Refactor eines Next.js-App-Router-Builds, der bei 100 gleichzeitigen Nutzern zusammenbrach.
Fallstudie lesen →Wie steht es um Ihre PHP-Anwendung?
Vereinbaren Sie ein kostenloses 30-minütiges Erstgespräch. Wir sagen Ihnen, was uns auffällt und ob sich ein Audit für Sie lohnt.
