Alle Guides
Schweregrad HochFehlkonfigurationen

Source Maps in der Produktion leaken deinen Quellcode

Source Maps (.js.map-Dateien) erlauben Browsern, minifizierten Code auf deinen originalen Quellcode zurückzuführen. Werden sie in der Produktion öffentlich ausgeliefert, kann jeder deine unminifizierte Codebasis samt Kommentaren rekonstruieren.

Was es ist

Build-Tools erzeugen Source Maps als Debugging-Hilfe. Wenn das minifizierte Bundle eine .map-Datei referenziert, die ebenfalls deployt ist, kann der Browser — und jeder — den originalen Quellcode herunterladen.

Das legt interne Logik, Benennungen, TODO-Kommentare und manchmal hartkodierte Werte offen, die verraten, wie dein Backend und deine Authentifizierung funktionieren.

Warum es wichtig ist

Lesbarer Quellcode macht es für Angreifer viel einfacher, Logikfehler, versteckte Endpoints und Validierung zu finden, die nur im Client läuft.

Er kann außerdem Secrets oder interne URLs leaken, die man im Bundle für 'versteckt' hielt.

So behebst du es

Deaktiviere Produktions-Source-Maps in Next.js

Schalte Browser-Source-Maps für Produktions-Builds aus.

// next.config.js
module.exports = { productionBrowserSourceMaps: false };
Oder halte sie privat

Brauchst du Source Maps für das Error-Monitoring, lade sie zu deinem Error-Tracker hoch (z. B. Sentry) und entferne sie aus dem öffentlichen Build, statt sie auszuliefern.

Bestätige, dass sie weg sind

Rufe nach dem Deploy eine der .map-URLs deines Bundles auf. Sie sollte 404 zurückgeben, nicht die Source-Map im JSON-Format.

FAQ

Sind Source Maps immer schlecht?

Nein — zum Debuggen sind sie unschätzbar wertvoll. Das Problem ist, sie in der Produktion öffentlich auszuliefern. Behalte sie stattdessen in deiner Monitoring-Pipeline.

Schützt Minifizierung meinen Code?

Nur oberflächlich. Mit einer öffentlichen Source Map wird die Minifizierung vollständig zu lesbarem Quellcode zurückverwandelt.

Ist deine App betroffen?

AppSafe prüft dies und Dutzende weitere Probleme in einem kostenlosen Scan.

Meine App gratis scannen