Zum Inhalt springen

Prüfregel · RSC-SEC-095

package.json öffentlich abrufbar

SicherheitSchweregrad: MittelCWE-200OWASP A05-2021

Prüft, ob unter `/package.json` die Projektdatei mit Name und Abhängigkeitsliste ausgeliefert wird.

Warum das zählt

Die package.json ist die Inventarliste eures Projekts: jede Bibliothek mit Versionsbereich, oft dazu Skripte, interne Paketnamen und der Node-Stand. Öffentlich ist das eine fertige Zielliste — wer eine bekannte Schwachstelle in einer eurer Bibliotheken sucht, muss euren Stack nicht mehr raten.

So entsteht es fast immer: Bei Vite und Create React App wird alles aus `public/` unverändert ausgeliefert, und die Datei ist beim Aufräumen dort gelandet — oder das Deploy-Verzeichnis zeigt auf die Projektwurzel statt auf `dist/`. Bei generierten Apps passiert das leise, weil die Vorschau davon nichts zeigt.

Selbst nachprüfen: `curl -s https://eure-domain.de/package.json | head`. Kommt JSON mit `dependencies` zurück, ist die Datei öffentlich. Der Scan liest sie nur ab — er leitet aus den Versionsbereichen bewusst keine Schwachstellen ab, denn `^18.2.0` ist keine installierte Version.

Prüfstufe

Außen-Scan (anonym)

So behebt ihr es

Die Datei aus dem Veröffentlichungsverzeichnis entfernen — `public/` bereinigen bzw. das Deploy-Verzeichnis auf den Build-Ordner (`dist/`, `build/`, `.next/`) stellen.

Eigene App kostenlos prüfen