Geprüfte Frameworks & Bibliotheken
Wir testen die Abdeckung über Fixtures auf diesen Frameworks. Neue Muster werden in jedem Builtin-Regel-Release ergänzt.
Häufigste erkannte CWE-Klassen
Diese CWE-Klassen treten in modernen Codebasen dieser Sprache am häufigsten auf. StaticCodeAudit liefert dedizierte Regeln für jede, gemappt auf OWASP Top 10 / ISO 27001 / ASVS, sofern relevant.
CWE-89
SQL-Injection
mysql_query("... " . $_GET['id']), $pdo->query() mit Concat, Laravel DB::raw() mit User-Input, WordPress $wpdb->query mit nicht-escapeden Variablen.
Erkannt von SCA-Regel: sql_injection_concat
CWE-79
Cross-Site Scripting (XSS)
echo $_GET['name'] ohne htmlspecialchars, Twig {{ var|raw }}, WordPress esc_attr bei User-Daten fehlt.
Erkannt von SCA-Regel: xss_raw_html
CWE-78
OS-Befehlsinjektion
system($cmd), exec(), shell_exec(), passthru() mit User-Input. PHPs Shell-Funktionen interpretieren standardmäßig Metazeichen.
Erkannt von SCA-Regel: command_injection_php
CWE-98
File Inclusion (RFI/LFI)
include $_GET['page'] oder require mit user-kontrollierten Pfaden. Erlaubt beliebiges Datei-Lesen, manchmal Remote Code Execution.
Erkannt von SCA-Regel: path_traversal_os_join
CWE-502
Unsichere Deserialisierung
unserialize($_GET['data']) auf User-Input. PHPs native Serialisierung ist ein bekannter Gadget-Vektor (phpggc).
Erkannt von SCA-Regel: unsafe_deserialization
CWE-798
Hartkodierte Zugangsdaten
DB-Zugangsdaten in commitetem config.php, WordPress wp-config.php in öffentlichem Repo, API-Keys als Konstanten.
Erkannt von SCA-Regel: hardcoded_secret
Verwundbar vs. sicher — drei kurze Beispiele
CWE-89
Erkannt von SCA-Regel: sql_injection_concat
// Verwundbar — direkte Konkatenation
$sql = "SELECT * FROM users WHERE id = " . $_GET['id'];
$result = $mysqli->query($sql);
// Sicher — Prepared Statement
$stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $_GET['id']);
$stmt->execute();
CWE-79
Erkannt von SCA-Regel: xss_raw_html
// Verwundbar — rohes echo
echo "<p>Hello, " . $_GET['name'] . "</p>";
// Sicher — htmlspecialchars mit ENT_QUOTES + UTF-8
echo "<p>Hello, " . htmlspecialchars($_GET['name'], ENT_QUOTES, 'UTF-8') . "</p>";
CWE-78
Erkannt von SCA-Regel: command_injection_php
// Verwundbar — Shell-Metazeichen-Missbrauch
system("convert " . $_FILES['img']['tmp_name'] . " /var/thumb.jpg");
// Sicher — escapeshellarg + 2-Arg-Form
$src = escapeshellarg($_FILES['img']['tmp_name']);
system("convert {$src} /var/thumb.jpg");
Was StaticCodeAudit erkennt (diese Sprache)
- SQL-Injection in PDO-Concat, mysqli ohne Prepared Statements, Laravel DB::raw, WordPress $wpdb-Concat
- XSS via rohes echo, Twig
|raw, fehlendehtmlspecialchars/esc_attr - Befehlsinjektion in
system,exec,shell_exec,passthru,popen - File Inclusion (LFI/RFI) via
include,requireauf user-kontrollierten Pfaden - Unsichere Deserialisierung via
unserializeauf User-Daten - Hartkodierte Zugangsdaten in committeter
config.php,wp-config.php,.env - Unsichere Session-Konfiguration (
session.cookie_secure,session.cookie_httponlyaus) - Open Redirect via
header("Location: " . $_GET['url']) - Path Traversal in
file_get_contents,fopenmit User-Pfaden - Unsichere Krypto (MD5/SHA1, mcrypt veraltet, hartkodierte Keys/IVs)
- Fehlendes CSRF-Token bei POST-Endpoints
- PHP-Fehleranzeige in Produktion aktiviert (
display_errors=On) - Veraltete APIs (mysql_*, ereg, split, php-fpm pm.user=root)
- CI/CD-Fehlkonfigurationen (.gitlab-ci, GitHub Actions, Composer-Scripts)
Auditieren Sie Ihren Code
Auditieren Sie Laravel, Symfony, WordPress und Legacy-PHP auf SQL-Injection, XSS, File Inclusion und Konfigurations-Drift — ohne Code in eine Drittanbieter-Cloud hochzuladen.
Demo-Binary herunterladen Geführte Demo buchen