Ein Kunde meldet sich beim Support: Er habe im Shop bestellt, sei aber auf einer Zahlungsseite gelandet, die anders aussah als sonst, und die Bestellung sei nie angekommen. Das Team prüft den Shop, findet keine Änderung am Theme, keinen neuen Mitarbeiterzugang, nichts Auffälliges in den Einstellungen. Und trotzdem leitet die Seite einen Teil der Besucher auf eine fremde Adresse um.
Die Ursache liegt in solchen Fällen häufig nicht im Shop selbst, sondern in einer der installierten Erweiterungen. Eine App, die vor Jahren für ein Produktfilter-Widget oder ein Formular eingerichtet wurde, liefert plötzlich anderen Code aus – weil ihr Anbieter kompromittiert wurde, weil die App verkauft wurde oder weil ein Zugang beim Anbieter in falsche Hände geraten ist. Der Händler hat nichts geändert. Geändert hat sich der Code, den er nie selbst gesehen hat.
Warum Apps so viel dürfen
Plattformen wie Shopify leben von ihrem App-Ökosystem. Bewertungen, Größentabellen, Upselling, Cookie-Banner, Übersetzungen, Produktoptionen: Vieles, was ein Shop braucht, kommt nicht von der Plattform, sondern von Drittanbietern. Damit diese Funktionen auf der Storefront erscheinen, binden die Apps in der Regel eigenes JavaScript ein. Dieses Skript läuft im Browser der Kundschaft, mit denselben Möglichkeiten wie der Code des Shops selbst. Es kann Inhalte verändern, Links umschreiben, Formulareingaben lesen und Besucher weiterleiten.
Hinzu kommen die Berechtigungen im Hintergrund. Bei der Installation fragt eine App Zugriff auf bestimmte Daten an: Produkte, Bestellungen, Kundendaten, Themes. Viele Händler bestätigen diese Liste, ohne sie genau zu lesen, weil die App sonst nicht funktioniert. Das ist verständlich. Es bedeutet aber, dass jede installierte App ein Stück Vertrauen ist, das der Händler an einen Dritten weitergibt – und zwar dauerhaft, nicht nur für den Moment der Installation.
Wo das Risiko tatsächlich liegt
Nicht jede App ist gleich riskant. Für die Einschätzung hilft eine einfache Unterscheidung nach dem, was eine Erweiterung im Fehlerfall anrichten kann.
| Art der App | Was sie typischerweise darf | Folge, wenn sie missbraucht wird |
|---|---|---|
| Reine Backend-Werkzeuge (Export, Buchhaltung) | Daten lesen, teils schreiben | Datenabfluss, falsche Daten im Shop |
| Storefront-Widgets (Bewertungen, Filter, Pop-ups) | Skripte auf jeder Seite ausführen | Umleitungen, gefälschte Formulare, Phishing |
| Theme-Bearbeitung | Code im Theme ändern | dauerhafte Änderungen, die nach Deinstallation bleiben |
| Apps mit Kundendatenzugriff | Kundenkonten und Bestellungen lesen | Weitergabe personenbezogener Daten |
Die zweite Zeile ist die unauffälligste. Ein Skript auf der Storefront hinterlässt im Admin-Bereich oft keine Spur. Die Einstellungen sehen aus wie immer, das Theme ist unverändert. Sichtbar wird das Problem erst im Browser der Besucher – und dort schaut das eigene Team selten mit den Augen eines neuen Kunden hin.
Ein Beispiel aus dem Alltag
Ein mittelständischer Händler betreibt seit einigen Jahren einen Shopify-Shop. Über die Zeit sind siebzehn Apps zusammengekommen. Vier davon werden aktiv genutzt, fünf erfüllen eine Funktion, die inzwischen das Theme selbst übernimmt, und bei den restlichen weiß niemand mehr genau, wer sie warum installiert hat. Die Agentur, die den Shop ursprünglich gebaut hat, ist nicht mehr beteiligt.
Als ein Anbieter eine Sicherheitswarnung zu einer seiner Erweiterungen veröffentlicht, stellt sich zuerst die Frage: Haben wir diese App überhaupt? Die Antwort dauert einen halben Tag, weil die App unter einem anderen Namen in der Liste steht, als sie im Frontend auftritt. Danach folgt die zweite Frage: Hat sie Code im Theme hinterlassen? Auch das muss jemand von Hand prüfen.
Das eigentliche Problem in diesem Beispiel ist nicht die eine kompromittierte App. Es ist das fehlende Inventar. Wer weiß, was installiert ist, wozu es dient und wer dafür zuständig ist, kann im Ernstfall in Minuten statt in Stunden reagieren.
Was Händler vorbeugend tun können
Einige Gewohnheiten haben sich in der Praxis bewährt, unabhängig von der Plattform:
- Ein App-Inventar führen. Für jede Erweiterung: Name, Anbieter, Zweck, verantwortliche Person im Team, Datum der Installation, angefragte Berechtigungen. Eine einfache Tabelle genügt.
- Regelmäßig aufräumen. Apps, die niemand mehr braucht, werden deinstalliert. Danach wird geprüft, ob Code-Reste im Theme zurückgeblieben sind. Jede entfernte App ist ein Drittanbieter weniger, dem der Shop vertrauen muss.
- Berechtigungen bewusst bestätigen. Wenn ein Bewertungs-Widget Zugriff auf alle Kundendaten verlangt, ist das eine Rückfrage beim Anbieter wert.
- Die Storefront von außen ansehen. Gelegentlich den Kaufprozess in einem frischen Browser ohne Anmeldung durchspielen und dabei auf ungewohnte Weiterleitungen, Pop-ups oder fremde Domains in der Adresszeile achten.
- Wissen, welche Skripte laden. Die Entwicklerwerkzeuge jedes Browsers zeigen, welche externen Adressen eine Seite aufruft. Eine Liste der erwarteten Domains macht Abweichungen erkennbar.
- Zugänge pflegen. Mitarbeiter- und Agenturkonten, die nicht mehr gebraucht werden, werden entfernt. Starke Passwörter und eine Zwei-Faktor-Anmeldung sind für alle verbleibenden Konten Pflicht.
Wenn es passiert ist
Kommt eine Warnung zu einer installierten App, oder melden Kunden auffällige Umleitungen, ist Ruhe wichtiger als Geschwindigkeit um jeden Preis. Ein sinnvoller Ablauf:
- Die betroffene App deaktivieren oder deinstallieren und prüfen, ob sie Code im Theme oder in App-Einbettungen hinterlassen hat.
- Die Storefront erneut von außen testen, auf mehreren Geräten und ohne Anmeldung, bis die Umleitung nicht mehr auftritt.
- Zugangsdaten ändern, insbesondere für Konten, die mit dem App-Anbieter verbunden waren, und offene API-Schlüssel der App widerrufen.
- Den Zeitraum eingrenzen: Seit wann trat das Verhalten auf, welche Bestellungen fallen in diese Zeit?
- Betroffene Kunden informieren, sachlich und ohne Fachjargon. Bei Fragen zu Meldepflichten gegenüber Behörden gehört eine rechtliche Beratung dazu.
Wie man eine eingehende Sicherheitsmeldung intern einordnet und beantwortet, haben wir in einem eigenen Beitrag beschrieben: Gemeldete Sicherheitslücke: Wie Unternehmen richtig reagieren.
Fremder Code ist kein Sonderfall
Das Muster ist nicht auf Onlineshops beschränkt. Fast jede Unternehmenswebsite lädt Code von Dritten: Analysewerkzeuge, Chat-Widgets, Schriftarten, Einbettungen. Jede dieser Quellen ist ein Teil der eigenen Seite, auf den das Unternehmen keinen direkten Einfluss hat. In unserem Research Lab lesen wir öffentliche Websites in großem Umfang und sehen dabei regelmäßig, wie viel fremder Code auf einer einzelnen Seite zusammenkommt – und wie oft dazwischen Dinge stehen, die dort nicht hingehören.
Fazit
Apps machen Onlineshops schneller und flexibler, aber jede installierte Erweiterung ist ein Drittanbieter mit Zugriff auf Daten und Storefront. Kompromittierte Apps fallen im Admin-Bereich oft nicht auf, sondern erst im Browser der Kundschaft. Wer ein aktuelles App-Inventar führt, nicht benötigte Erweiterungen entfernt, die Storefront regelmäßig von außen prüft und einen klaren Ablauf für den Ernstfall hat, reduziert das Risiko deutlich und reagiert schneller, wenn doch etwas passiert.
Bei den Shops, die wir als Shopify-Agentur bauen und betreuen, gehört dieser Blick auf installierte Apps zur laufenden Pflege – nicht erst dann, wenn eine Warnung eintrifft.