Zum Inhalt springen
DSGVO-konform. Gehostet in DE.
14 Tage kostenlos testen →

Skript-Integrität — Magecart- & Skimming-Watch

Eingeschleuster Schadcode in fremden Skripten ist die typische Signatur von Web-Skimming (Magecart): Ein Drittanbieter-Skript wird unbemerkt verändert und liest fortan Zahlungsdaten direkt aus dem Checkout aus. XICTRAQ lernt beim Scan den SHA-256-Hash jedes externen Skripts als Baseline; ein Cron prüft diese Hashes laufend und alarmiert, sobald sich ein Skript unbemerkt ändert. Zusätzlich meldet der Scan einer Checkout-Seite neue externe Formular-Ziele — ein klassisches Zeichen für abfließende Zahlungsdaten. Verfügbar ab dem Business-Plan.

# Überwachte Skripte auf einen Blick

Im Skript-Integritäts-Panel einer Website sehen Sie jede gelernte Baseline: die Skript-URL, den ausliefernden Host, einen Kurz-Hash (SHA-256), die Dateigröße in Bytes und ob aktuell ein offener Drift-Alert besteht. Formular-Ziele auf Checkout-Pfaden erscheinen als eigener Eintrag mit dem Kontext „form_action“.

Skript-Integrität (live)
Im Demo-Account ansehen →
Defacement-Watch (live)
Im Demo-Account ansehen →

# So funktioniert die Überwachung

Hash-Baseline beim Scan

Bei jedem Scan liest XICTRAQ das geladene HTML, findet jedes externe Dritt-Skript (gleiche Hosts wie die Seite selbst und XICTRAQ-eigene Skripte werden ausgenommen) und lädt dessen Inhalt serverseitig nach, um den SHA-256-Hash zu bilden (`results.html.sri.script_hashes` mit URL, Host, Bytes und SHA-256). Pro Skript wird dieser Hash als Baseline gelernt — der Soll-Zustand: solange das Skript exakt diesen Hash liefert, gilt es als unverändert. Pro Scan werden bis zu 12 externe Skripte abgerufen (Latenz-Deckel); jeder Abruf liest maximal 512 KB.

Baseline nur für eigene, verifizierte Websites

Eine Baseline wird ausschließlich fortgeschrieben, wenn der Scan zu einer Website in Ihrem Konto gehört, die als verifiziert markiert ist. Schnellchecks fremder URLs erzeugen keine Baseline — das verhindert, dass die Überwachung mit Skripten von Seiten Dritter zugemüllt wird. Ein einmal gelernter Baseline-Hash wird nie automatisch überschrieben; nur ein bewusstes „Bestätigen“ schreibt ihn fort. So verschluckt der Watcher auch keinen Skimmer, der dauerhaft im Skript verbleibt.

Drift-Cron prüft laufend

Alle zehn Minuten ruft ein Cron-Job die überwachten Skripte erneut ab (bis zu 150 Skripte pro Lauf, älteste Prüfung zuerst) und bildet den SHA-256-Hash neu. Weicht der Hash von der gelernten Baseline ab, ist das ein „Drift“ — die typische Signatur eines unbemerkt ausgetauschten Skripts (Web-Skimming). Der Felder-Vertrag zeigt pro Eintrag `drift_count`, den Kurz-Hash `sha256_short`, `first_seen_at`, `last_seen_at` und `last_hash_at`, sodass Sie nachvollziehen können, wann sich zuletzt etwas geändert hat.

Alert über Ihre Kanäle — nur einmal

Wird ein Drift erkannt, löst XICTRAQ einen Sicherheits-Alert über alle aktivierten Kanäle aus (E-Mail, Slack, Teams, Discord, Telegram, Webhook, Browser-Push — konfigurierbar unter Einstellungen → Benachrichtigungen). Ein Drift wird pro Eintrag nur EINMAL alarmiert (Feld `alerted=true`), bis Sie ihn bestätigen — kein Dauerfeuer bei jedem Cron-Lauf. Die Schwere richtet sich nach dem Fund: eine Skript-Hash-Änderung kommt als „warning“, ein neues externes Formular-Ziel auf einem Checkout-Pfad als „critical“ herein.

Auch ein verschwundenes Skript wird gemeldet

Ist ein überwachtes Skript beim Cron-Lauf nicht mehr erreichbar (kein 2xx-Status, leerer Body), meldet XICTRAQ das einmalig als Warnung mit dem zurückgegebenen Statuscode. Ein verschwundenes oder ausgetauschtes Skript ist genauso verdächtig wie eine reine Inhaltsänderung — auch das wird pro Eintrag nur einmal alarmiert.

Sofort-Prüfung auf Knopfdruck

Sie müssen nicht auf den nächsten Cron-Lauf warten: Die Sofort-Prüfung holt die Skripte einer Website (bis zu 60) umgehend erneut ab und vergleicht die Hashes — praktisch direkt nach einem geplanten Deployment, um zu sehen, ob die Baseline noch passt oder bestätigt werden muss.

Bestätigen = neue Baseline, Verwerfen = Überwachung beenden

Haben Sie das Skript bewusst aktualisiert (z. B. ein legitimes Deployment), bestätigen Sie den Drift mit „Bestätigen“ (acknowledge): Der aktuelle Hash wird als neue Baseline übernommen und der Alert geschlossen. Mit „Verwerfen“ (dismiss) beenden Sie die Überwachung dieses Eintrags ganz — sinnvoll bei Skripten, die Sie nicht länger beobachten möchten.

Bestätigen oder Verwerfen — der Unterschied
„Bestätigen“ behält den Eintrag in der Überwachung und merkt sich nur den neuen Hash als Soll-Zustand. „Verwerfen“ nimmt den Eintrag dauerhaft aus der Überwachung. Bei einem unerwarteten Drift, den Sie sich nicht erklären können, prüfen Sie das Skript zuerst inhaltlich, bevor Sie bestätigen — ein bestätigter Drift gilt fortan als legitim.

# Checkout- & Formular-Integrität

Skimming zielt fast immer auf den Bezahlvorgang. Deshalb beobachtet XICTRAQ nicht nur die Skript-Hashes, sondern auch, wohin Formulare ihre Daten senden — speziell auf Checkout-Pfaden.

Neue externe Formular-Ziele

Der Scan erfasst die Ziel-Hosts aller Formulare (`results.html.sri.form_action_hosts`) sowie ob ein Checkout-Pfad erkannt wurde (`results.html.sri.checkout_path`). Taucht plötzlich ein neuer, fremder Host als Formular-Ziel auf — also ein Ziel, an das Eingaben gesendet werden, das vorher nicht da war —, ist das ein klassisches Zeichen für abfließende Zahlungsdaten. Solche Einträge erscheinen mit dem Kontext „form_action“ und lösen denselben Drift-Alert aus. Erfasst werden Formular-Ziele beim Scan der jeweiligen Seite; der Cron ruft nur die bekannten Skripte erneut ab und liest die Seite selbst nicht neu ein. Scannen Sie Ihre Checkout-Seite darum nach jeder Änderung am Bezahlvorgang.

Warum gerade der Checkout
Bei Web-Skimming wird ein verändertes Skript oder ein zusätzliches Formular-Ziel genutzt, um Karten- und Adressdaten parallel an einen Angreifer-Server zu senden, während der eigentliche Bezahlvorgang normal weiterläuft. Genau deshalb kombiniert die Überwachung Skript-Hash-Drift und neue Formular-Ziele auf Checkout-Pfaden zu einem Signal.

# So sieht ein Drift-Alert aus

Beispiel-Mail bei Skript-Drift
Im Demo-Account ansehen →
Skript-Integrität
Ein überwachtes Skript hat sich unbemerkt geändert

Hallo Demo-Team,

der SHA-256-Hash des folgenden Skripts auf www.beispiel-shop.invalid weicht von der gelernten Baseline ab:

/wp-content/plugins/cart/cart.js
Baseline: SHA-256 1a77e0…b9
Aktuell: SHA-256 2d80b3…41

War das ein geplantes Deployment, bestätigen Sie die Änderung als neue Baseline. Andernfalls prüfen Sie das Skript umgehend auf eingeschleusten Code.

# Verhältnis zu CSP-Reports & SRI

Skript-Integrität ist eine eigenständige Überwachungsschicht und ergänzt zwei verwandte Härtungsmaßnahmen, die im Scan- und Security-Modul leben. Die drei greifen ineinander, lösen das Problem aber an unterschiedlichen Stellen.

Subresource Integrity (SRI) — Prävention im Browser

SRI hinterlegt im HTML einen Hash (sha384-…) pro Skript; ändert der Anbieter den Inhalt, blockiert der Browser das Laden automatisch. Das ist Prävention auf Ihrer Seite. Der Security-Tab des Scans listet fehlende SRI-Absicherungen mit Domain auf. Skript-Integrität ergänzt das um Detektion: Sie merkt, wenn sich ein Skript ändert — auch dort, wo SRI (noch) nicht gesetzt ist.

CSP-Reports — was der Browser meldet

Eine Content-Security-Policy mit report-uri lässt Browser melden, wenn eine Ressource gegen die Policy verstößt (z. B. ein Skript von einem nicht erlaubten Host). XICTRAQ sammelt diese Meldungen pro Website. Das zeigt Verstöße aus echten Besucher-Browsern; Skript-Integrität dagegen prüft serverseitig den Inhalt erlaubter Skripte. Beide zusammen decken sowohl unerlaubte Quellen als auch heimliche Inhaltsänderungen ab.

Mehrschichtig statt Einzelmaßnahme
SRI verhindert das Laden veränderter Dateien, CSP-Reports melden Policy-Verstöße aus dem Besucher-Browser, und die Skript-Integrität erkennt unbemerkte Hash-Änderungen serverseitig. Details zu SRI-Lücken und CSP-Qualität finden Sie im Scan-Modul, die Defacement-Erkennung Ihrer eigenen Seiten im Screenshots-Modul.

Häufige Fragen

Eine Angriffsklasse, bei der ein in eine Website eingebundenes Skript heimlich verändert wird, um eingegebene Zahlungs- und Adressdaten direkt aus dem Checkout an einen fremden Server zu senden — während der reguläre Bezahlvorgang weiterläuft. Weil das Skript oft von einem Drittanbieter kommt, fällt die Änderung ohne Hash-Überwachung leicht unbemerkt.
Verfügbarkeit: ab dem Business-Plan
Die Skript-Integritäts-Überwachung ist ab dem Business-Plan freigeschaltet (Feature-Schlüssel script_drift). In niedrigeren Plänen sehen Sie an dieser Stelle einen Upgrade-Hinweis mit der vollständigen Feature-Liste des Business-Plans.
In 60 Sekunden starten

Lassen Sie XICTRAQ Ihre Website bewachen.

Dauerhaft kostenloser Plan verfügbar. Keine Kreditkarte, keine Installation, keine versteckten Kosten.