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.