Zum Inhalt

Exposure Check

Sucht nach den klassischen Selbsthoster-Unfällen: Dateien und Verzeichnisse, die versehentlich im Web-Root landen und dort nichts verloren haben. Fast jeder Treffer ist ein echter Sicherheitsvorfall.

Nur für verifizierte Domains

Dieser Check fordert gezielt potenziell vertrauliche Pfade an. Das darf man nur auf der eigenen, im Workspace verifizierten Domain tun. Für nicht verifizierte Domains liefert der Check nur einen Hinweis und führt keinen Scan durch.

Check Was wird geprüft
Versionsverwaltung (.git) Ist /.git/HEAD oder /.git/config öffentlich erreichbar? Ein offenes .git/ legt den kompletten Quellcode inkl. History (und damit oft alte Secrets) offen.
Umgebungsdateien (.env) Sind /.env, /.env.local oder /.env.production abrufbar? Enthalten fast immer Datenbank-Passwörter und API-Keys im Klartext.
Backups & Datenbanken SQL-Dumps (backup.sql, dump.sql), Archive (.zip, .tar.gz) und SQLite-Dateien im Web-Root.
Konfig- & Metadateien .htpasswd, config.php.bak, .DS_Store und ähnliche verräterische Dateien.
Admin-Panels & Listings Öffentlich erreichbares phpMyAdmin, Traefik-Dashboard oder Verzeichnis-Listings (als Warnung).

Inhalts-Bestätigung statt Statuscode

Ein Treffer zählt nur, wenn der tatsächliche Inhalt zur erwarteten Signatur passt (z. B. [core] in einer Git-Config, KEY=VALUE in einer .env, ZIP- Magic-Bytes in einem Archiv). Eine generische 404- oder Single-Page-App- Seite, die auf jeden Pfad mit HTTP 200 antwortet, wird nicht fälschlich als Fund gewertet. Gefundene Inhalte werden nicht gespeichert — nur Statuscode, Größe und ein kurzer, neutralisierter Signatur-Schnipsel.

Grundregel

Die meisten Funde entstehen, weil das ganze Projektverzeichnis statt nur des Build-Outputs deployt wird. Lass CI/CD bauen und schick nur das Ergebnis (dist/, build/, public/) auf den Server — nie das Repository selbst. Der Erklärmodus enthält fertige nginx-/Apache-/Traefik-Regeln.