Zum Inhalt springen

Sicherheitsgrundlagen

Ist Replit sicher? Was wir in 3.042 Replit-Apps gefunden haben

Ist Replit sicher? Wir haben 3.042 laufende Replit-Apps mit neun externen Checks geprüft. Die Funde saßen in der veröffentlichten App, nicht im Hosting.

Vlad Tkachenko11 Min. Lesezeit
Das Replit-Logo auf weißer Kachel, ein Pfeil zu einer App als Seite mit Server dahinter, und ein Pfeil weiter zu drei Besuchern.

Kurz gesagt

  • Ist Replit sicher? Als Host war es nicht der Ort, an dem wir etwas gefunden haben. Jede der neun Apps von 3.042 mit der Note D oder F kam über etwas dorthin, das in der App selbst steckt.
  • Der typische Replit-Fund ist eine eigene API: 1.050 von 3.037 Apps hatten eine Route, die einem Fremden ohne Anmeldung Daten ausgehändigt hat, weil eine Replit-App meist mit eigenem Server ausgeliefert wird.
  • Von 219 Apps mit etwas Schlüsselförmigem im heruntergeladenen Code hielten drei einen Schlüssel, der ein Konto belastet. 2.789 der 3.042 bekamen ein A.

Du hast etwas auf Replit gebaut, es funktioniert, und du willst echte Menschen darauf lassen. Irgendwann in dieser Woche hast du „ist replit sicher“ in ein Suchfeld getippt, und zurück kam entweder eine Seite über Replits Zertifizierungen oder eine über einen KI-Agenten, der eine Datenbank gelöscht hat. Keine von beiden hat ein Wort über die App verloren, die du gleich veröffentlichst.

Hier ist der Teil, den die meisten dieser Antworten falsch machen: „Ist Replit sicher?“ sind drei Fragen in einem Satz, und die, die entscheidet, ob Fremde die Daten deiner Nutzer lesen können, ist die, die fast niemand misst.

Wir können sie messen. Zwischen dem 12. und 14. August 2026 haben wir dieselben neun externen Checks, die jeder kostenlos auf unserer Startseite laufen lassen kann, über 30.998 laufende Apps geschickt, und 3.042 davon waren auf Replit veröffentlicht. Das hier ist, was dabei herauskam, und wo unser Blick endet.

Ist Replit sicher?

Als Host war es nicht der Ort, an dem wir etwas gefunden haben. Die zwei Dinge, die wir am Hosting von außen sehen können, waren bei jeder App sauber, die geantwortet hat, und die neun Apps mit D oder F kamen alle über etwas dorthin, das in der App selbst steckt.

Stell dir Replit als gemieteten Laden mit Werkstatt im Hinterzimmer vor. Dem Vermieter gehören das Gebäude und das Schloss an der Straßentür. Wer den Laden eingerichtet hat, hat entschieden, wo die Regale stehen und wie das Hinterzimmer mit dem Verkaufsraum verbunden ist. Und was ein Passant vom Gehweg aus erreichen kann, entscheidest du, jedes Mal, wenn du aufmachst. Das sind drei verschiedene Fragen, und eine gute Antwort auf die ersten beiden sagt nichts über die dritte.

  1. Die Plattform. Hostet Replit deine App ordentlich: ein gültiges Zertifikat, eine Domain, die nicht abläuft, Secrets verschlüsselt und außerhalb deiner Dateien. Das ist der Vermieter.
  2. Der Agent. Ist der Code sicher, den Replits KI schreibt. Das ist der Handwerker, und kein Scan von außen kann die Verkabelung sehen.
  3. Die App, die du veröffentlicht hast. Was ein Fremder von der Straße aus erreicht: ein Schlüssel im Code, den ein Browser herunterlädt, eine API-Route, die ohne Anmeldung antwortet, eine Datei, die nie eine URL hätte haben dürfen.

Unsere Checks lesen die dritte. Zur ersten: Das Zertifikat war bei allen 3.028 Apps gültig, bei denen wir eines lesen konnten, und keine Domain von 3.042 stand kurz vor dem Ablauf. Zur zweiten haben wir nichts zu messen, und der Abschnitt dazu weiter unten sagt das auch.

Drei Fragen in einer Suche. Ein Scan von außen liest die dritte Tafel und nichts aus den anderen beiden.

Was wir in 3.042 Replit-Apps gefunden haben

Neun Checks, von außen ausgeführt, ohne Anmeldung und ohne Zugriff auf irgendjemandes Konto. Wir haben nie eine Zeile gelesen: Wo eine Datenbank geantwortet hat, haben wir gefragt, wie viele Zeilen sie herausgeben würde, und dort aufgehört. Keine App wird hier oder irgendwo sonst von uns genannt. Jeder Anteil unten bezieht sich auf die Apps, bei denen der jeweilige Check geantwortet hat, denn ein Check, der nicht fertig wurde, ist unbekannt und nicht bestanden, und diese Regel ist der Grund, warum sich die Nenner bewegen. Methode und Daten stehen im Bericht.

Was wir geprüft habenReplit-AppsWer es entscheidet
Browser-Sicherheitsheader fehlen2.924 von 3.042 (96 %)Was die Seite ausliefert
Eine API-Route, die einem Fremden Daten geliefert hat1.050 von 3.037 (35 %)Deine App
Etwas Schlüsselförmiges im Code, den ein Besucher herunterlädt219 von 3.042 (7 %)Deine App
Originaler Quellcode veröffentlicht (Source-Maps)168 von 3.041 (6 %)Eine Build-Einstellung
Jede Website darf deine API aufrufen76 von 3.037Deine App
Jede Website darf sie mit den Cookies deiner Nutzer aufrufen56 von 3.037Deine App
Eine private Datei wie .env oder .git/config unter öffentlicher URL7 von 3.023Deine App
Eine Datenbanktabelle ohne Anmeldung lesbar4 von 3.033Deine App
Ein Storage-Bucket, der seine Dateien auflistet0 von 3.035Deine App
Zertifikat abgelaufen oder nicht vertrauenswürdig0 von 3.028Replit
Domain kurz vor dem Ablauf0 von 3.042Replit

Die Noten: 2.789 A, 183 B, 61 C, 8 D und 1 F. Einunddreißig Apps hatten gar keinen Fund.

Eine Skala für alle sieben. Den grauen Balken entscheidet das Hosting. Jeder türkise Balken folgte aus etwas in der App.

Warum „99 % hatten einen Fund“ hier wenig bedeutet

Weil 2.924 dieser Funde derselbe sind, und er ist die am wenigsten dringende Zeile, die ein Bericht enthalten kann.

Browser-Sicherheitsheader schickt, was deine Seite ausliefert. Auf der eigenen Domain eines Builders ist das der Builder, weshalb die Zahl hier 96 % beträgt, 99 % bei Lovable und 100 % bei v0, und weshalb jede App auf demselben Host dieselbe Antwort bekommt. Replit ist einer der wenigen Orte, an denen du das ändern kannst: Wenn deine App ihren eigenen Server betreibt, schickt dieser Server die Header, und sie hinzuzufügen sind ein paar Zeilen. Es lohnt sich, und es ist nicht das, woraus ein D gemacht ist.

Lass diese Zeile weg, und 1.798 der 3.042 Apps hatten nichts, das aus dem Gebauten folgte. Die anderen 1.244 sind der Ort, an dem der Rest dieses Beitrags spielt.

Der typische Replit-Fund: eine eigene API-Route

Das Häufigste, was wir gefunden haben und was ein Besitzer selbst dort hingelegt hatte, war eine Route auf dem eigenen Server der App, die einem Fremden Daten geliefert hat. 1.050 von 3.037 Apps hatten mindestens eine.

Eine Lovable-App ist ein Frontend plus eine Datenbank, die jemand anderes betreibt. Eine Replit-App ist meist der ganze Laden: die Seite und dahinter ein Server, der mit der Datenbank spricht, im selben Projekt und oft in derselben Sitzung geschrieben. Der siebte unserer neun Checks liest die API-Pfade, die im JavaScript deiner App stehen, /api/orders, /api/users, was er eben findet, und fragt jeden davon ohne Anmeldung, ob er antwortet. Bei Lovable hat das bei 8 von 18.518 Apps ausgelöst, weil es dort meist keinen eigenen Server des Besitzers gibt, den man fragen könnte. Bei Replit bei 1.050.

Die linke App hat keinen eigenen Server, der offen stehen könnte. Die rechte schon, und dort sitzen ihre Funde.

Der Fund ist als mittel eingestuft, weil das manchmal genau richtig ist. Eine Route, die deine öffentliche Produktliste liefert, sollte jedem antworten. Falsch ist es, wenn die Route /api/users heißt und die Antwort deine Nutzer samt E-Mail-Adressen sind, und du merkst es daran, dass jeder diese Adresse in einem Tab öffnen und lesen kann. Eine Route, die privat sein soll, braucht eine Anmeldeprüfung, und jeder ohne Anmeldung bekommt eine 401.

Im Laden ist das die Hintertür, die sich von der Straße aus öffnen lässt. Wenn du Supabase benutzt hast, ist es derselbe Fehler, den du als Tabelle ohne Row Level Security beschrieben gesehen hast, in anderer Form. Die Zeilen sind lesbar, weil nichts zwischen dem Fremden und den Daten gefragt hat, wer er ist.

Zwei kleinere Funde stehen daneben. 76 Apps haben jeder Website der Welt gesagt, sie dürfe ihre API aufrufen, und 56 weitere haben das mit angehängten Anmelde-Cookies des Besuchers erlaubt, also in der Variante, die eine andere Seite als deinen Nutzer handeln lässt und die selten richtig ist.

Woraus „7 % haben ein Secret ausgeliefert“ besteht

Größtenteils aus Google-Schlüsseln. 219 der 3.042 Apps hatten etwas Schlüsselförmiges im Code, den ein Besucher herunterlädt, und 200 davon waren ein Google-API-Schlüssel, was meist in Ordnung ist, sobald er auf deine eigene Domain beschränkt wurde. Zweiunddreißig trugen einen schlüsselförmigen Wert, den wir keinem Anbieter zuordnen konnten. Drei Apps hielten einen Schlüssel, der ein Konto direkt belastet: einen von OpenAI, Anthropic oder AWS.

Drei von 3.042 ist selten. Es ist zugleich der Fund, der ganz allein Geld kostet, der Kassenschlüssel, der auf der Theke liegen blieb, und er zeigt sich meist als Nutzungsrechnung, die eintrifft, bevor jemand etwas bemerkt hat. Ein Scanner, der nur Muster abgleicht, würde alle 219 als Problem ausgeben; wir lesen, was jeder Schlüssel kann, denn die Alternative wäre, dir beizubringen, die Warnung an dem Tag zu ignorieren, an dem sie zählt.

Auf Replit ist der Weg, den ein Schlüssel ins Bundle nimmt, speziell genug für einen eigenen Artikel. Das Secrets-Werkzeug hält einen Wert aus deinen Dateien heraus, und das macht es gut. Aus dem Browser heraushalten kann es ihn nicht, wenn Browser-Code ihn liest, und der Weg, wie Leute das zum Laufen bringen, ist, die Variable in VITE_ oder NEXT_PUBLIC_ umzubenennen, was eine Anweisung an das Build-Werkzeug ist, sie zu veröffentlichen.

Die zwei, die du mit einer Einstellung behebst

Source-Maps und eine verirrte private Datei. Beides entscheidet sich daran, wie das Projekt gebaut wird, und beides ist eine Einstellung und kein Umbau.

168 Apps haben Source-Maps veröffentlicht, was heißt, dass die Originaldateien hinter der App, Kommentare eingeschlossen, in den Entwicklerwerkzeugen jedes Browsers lesbar sind. Auf Replit liegt die Build-Konfiguration in deinem Projekt, der Schalter gehört also dir; was eine veröffentlichte Map preisgibt und was nicht lohnt sich zu lesen, bevor du entscheidest, dass es egal ist.

Sieben Apps haben eine private Datei unter einer schlichten URL ausgeliefert: eine .env, eine .git/config. Fünf der neun Apps mit D oder F hatten diesen Fund, und er ist der kürzeste Weg zu einem schlechten Tag auf der Liste, denn eine .env unter einer URL ist jeder Schlüssel darin in einer einzigen Anfrage. Öffne in einem privaten Fenster deine veröffentlichte Adresse mit /.env am Ende. Es sollte scheitern. Zeigt es Text, rotiere heute jeden Schlüssel in dieser Datei und nimm die Datei dann aus dem heraus, was du deployst.

Ist der Code sicher, den Replits Agent schreibt?

Wir haben ihn nicht gemessen, und kein Scan von außen kann das. Was ein Scan sieht, ist das Ergebnis: Die 1.050 offenen Routen und die drei abrechnenden Schlüssel hat jemand geschrieben, ein Agent oder ein Mensch, und veröffentlicht.

Aktenkundig ist ein Ereignis. Im Juli 2025 hat Replits Agent mitten in einer Sitzung, in der er angewiesen war, nichts zu ändern, eine Produktionsdatenbank gelöscht, und Replits CEO hat das öffentlich eingeräumt; die Trennung von Entwicklungs- und Produktionsdatenbanken war Teil der Reaktion des Unternehmens. Was für dich daraus folgt, ist bei jedem Builder mit Agent dasselbe: Halte den Agenten von der laufenden Datenbank fern, und bewahre eine Kopie deiner Daten dort auf, wo der Agent nicht hinkommt.

Wo diese Kopie liegt, hängt davon ab, wo deine Daten liegen. Hält deine Replit-App sie in Supabase, ist das das, was Care aufbewahrt. Liegen sie in Replits eigener Datenbank, können wir sie nicht sichern, und was du lesen solltest, bevor du es brauchst, ist, was Replits Datenbankwerkzeug für eine Wiederherstellung anbietet. Nur 14 der 3.042 gescannten Replit-Apps haben überhaupt ein Supabase-Projekt genannt, für die meisten gilt also der zweite Fall.

Der Fünf-Minuten-Check für deine eigene Replit-App

Jeder Punkt ist eine URL, die du öffnest, oder eine Suche, die du ausführst. Nimm ein privates Fenster, damit deine eigene Anmeldung nicht für einen Fremden antwortet.

  1. Öffne deine veröffentlichte Adresse mit /.env am Ende, dann mit /.git/config. Beides sollte scheitern. Zeigt eines davon Text, rotiere heute jeden Schlüssel darin.
  2. Öffne auf dieselbe Weise eine deiner eigenen API-Routen, eine, die kein Fremder lesen sollte. Antwortet sie, braucht diese Route eine Anmeldeprüfung.
  3. Durchsuche dein Projekt nach VITE_ und NEXT_PUBLIC_. Jeder Treffer ist ein Wert, den dein Build-Werkzeug absichtlich veröffentlicht, und jeder davon muss ein Schlüssel sein, der veröffentlicht werden durfte.
  4. Öffne deine laufende App und dann den Reiter „Sources“ in den Entwicklerwerkzeugen deines Browsers. Kannst du deine Originaldateien mit Kommentaren lesen, sind Source-Maps an.
  5. Oder lass den Scan das erledigen. Er führt diese vier und fünf weitere von außen aus, dauert etwa 20 Sekunden, braucht kein Konto und gibt für alles, was er nicht beantworten konnte, „Konnte nicht prüfen“ aus und keinen Haken: App scannen.

Was ändert sich, nachdem du erneut veröffentlichst?

Alles Mögliche. Veröffentlichen ist auf Replit ein einziger Handgriff, eine Änderung ist also in dem Moment live, in dem du sie machst, und zwischen dir und dem Internet gibt es keinen Deploy-Schritt, der eine Route abfängt, die ihre Anmeldeprüfung verloren hat, oder einen Schlüssel, der um Mitternacht eingefügt wurde, um an einem scheiternden Build vorbeizukommen. Ein Scan vom letzten Monat beschreibt die App vom letzten Monat.

Reeve Monitor ist für diese Art App gebaut: jemand, der jede Stunde am Laden vorbeigeht und die Türen prüft. Er führt alle neun Checks jede Stunde auf bis zu drei Apps aus, prüft die Erreichbarkeit alle 60 Sekunden, sagt dir Bescheid, wenn sich ein Ergebnis ändert, statt darauf zu warten, dass du nachsiehst, und schickt einen Monatsbericht. Er kostet €12 im Monat zum Listenpreis, mit sieben Tagen kostenlos, bevor er dir etwas berechnet; die Preisseite liegt manchmal unter der Zahl hier und nie darüber. Monitor beobachtet und sonst nichts, was für eine Replit-App meist die richtige Hälfte ist: Care, unser Backup-Tarif, hält ausschließlich eine Kopie einer Supabase-Datenbank, und die meisten Replit-Apps halten ihre Daten woanders.

Was du diese Woche tun solltest

Was zu tun ist

  • Öffne /.env und /.git/config unter deiner veröffentlichten Adresse in einem privaten Fenster. Beides sollte scheitern.
  • Öffne deine eigenen API-Routen ohne Anmeldung. Jede Route, die mit privaten Daten antwortet, braucht eine Anmeldeprüfung und eine 401 für alle anderen.
  • Durchsuche das Projekt nach VITE_ und NEXT_PUBLIC_. Jeder Treffer wird absichtlich veröffentlicht und muss ein Schlüssel sein, der veröffentlicht werden durfte.
  • Schalte Source-Maps in deiner Build-Konfiguration aus, es sei denn, du willst deine Originaldateien im Browser lesbar haben.
  • Halte den Agenten von der laufenden Datenbank fern, und bewahre eine Kopie deiner Daten dort auf, wo er nicht hinkommt.

Die Schritt-für-Schritt-Anleitung für diese Plattform ist Ist deine Replit-App sicher, und die 10-Minuten-Sicherheitscheckliste deckt ab, was sich bei jeder frisch gestarteten App zu prüfen lohnt.

FAQ

Ist Replit sicher genug für ein echtes Produkt?

Als Host: Nichts in den 3.042 laufenden Replit-Apps, die wir gescannt haben, zeigte auf das Hosting. Jedes Zertifikat, das wir lesen konnten, war gültig, und keine Domain stand kurz vor dem Ablauf. Die Funde, die eine Note entschieden haben, saßen alle in der App, die der jeweilige Besitzer veröffentlicht hat, und sie haben bei jedem Builder, den wir gemessen haben, dieselbe Form. Ob dein Produkt dort sicher läuft, hängt davon ab, was deine App einem Besucher aushändigt, und das kannst du in etwa fünf Minuten prüfen.

Sind Replit Secrets wirklich geheim?

Für die Aufgabe, die sie erfüllen, ja. Der Wert wird verschlüsselt und aus deinen Projektdateien herausgehalten, sodass Teilen oder Forken des Projekts ihn nicht weitergibt. Was das Werkzeug nicht entscheiden kann, ist, wohin deine App den Wert danach trägt. Ein Schlüssel, den Code auf Replits Maschine liest, bleibt dort. Ein Schlüssel, den Code im Browser des Besuchers liest, wird in das eingebaut, was du veröffentlichst, egal wo er gespeichert war, und eine Variable namens VITE_ oder NEXT_PUBLIC_ ist genau das.

Können andere meinen Replit-Quellcode sehen?

Die Browser-Hälfte immer, denn ein Browser kann keine Seite zeichnen, die er nicht bekommen hat. Ob andere sie als deine Originaldateien oder als komprimierte Ausgabe sehen, hängt von Source-Maps ab, und 168 von 3.041 geprüften Replit-Apps haben welche veröffentlicht. Dein Server-Code bleibt auf Replit, es sei denn, eine private Datei wie .env oder .git/config hat eine öffentliche URL bekommen, was bei 7 von 3.023 Apps der Fall war.

Ist eine veröffentlichte Replit-App standardmäßig sicher?

Es gibt keine Voreinstellung, die sie sicher macht, und keine, die sie unsicher macht. 2.789 der 3.042 gescannten Apps bekamen ein A. Die übrigen hatten einen Fund, der aus dem Gebauten folgte: eine Route auf dem eigenen Server, die ohne Anmeldung geantwortet hat, ein Schlüssel im heruntergeladenen Code oder eine private Datei unter einer öffentlichen Adresse. Nichts am Hosting hat ein D oder F erzeugt.

Was ist das häufigste Sicherheitsproblem in Replit-Apps?

Abgesehen von Headern, die bei fast jeder App auf jedem Builder fehlen, ist es eine API-Route, die einem Fremden Daten liefert. 1.050 der 3.037 Replit-Apps, bei denen dieser Check antworten konnte, hatten mindestens eine. Eine Replit-App trägt meist ihren eigenen Server, hat also eigene Routen, die offen bleiben können, wo eine Lovable-App meist keine hat.

Geschrieben von

Vlad Tkachenko

Gründer, Reeve

Ich schaue mir den ganzen Tag Apps an, die mit Lovable, Bolt, v0, Cursor und Replit gebaut wurden, und die kurze Liste von Fehlern, die darin immer wieder auftauchen.

Mehr über den Autor

Weiterlesen

Alle Artikel

Unsicher, wie es um deine eigene App steht?

Starte einen kostenlosen Scan und erhalte in rund 20 Sekunden eine verständliche Note von A bis F. Ohne Konto, ohne Karte.

App kostenlos scannen

Automatisierte externe Prüfung, kein vollständiges Audit. Das Fehlen von Funden ist keine Garantie für Sicherheit.