Scannen Sie eine öffentliche Seite auf 25 Arten von geleakten Secrets
Apps, die per Vibe Coding entstehen, liefern oft Keys an den Browser aus. Geben Sie die Adresse einer einzelnen Seite ein, die Sie betreiben. Der Scanner liest das HTML dieser Seite und die verlinkten Skriptdateien nach API-Keys, Tokens und Datenbank-URLs, die ein Besucher kopieren könnte. Werte werden maskiert angezeigt.
Ergebnis
Was dieser Scan nicht sehen kann
Der Scanner liest nur die Dateien, die der Browser eines Besuchers von der Seite lädt. Er sieht keine Secrets, die auf dem Server bleiben, keine Seiten hinter einer Anmeldung, keine Dateien, die später per import() geladen werden, und keine Source Maps. Ein sauberes Ergebnis beweist nicht, dass die App sicher ist.
Alle 25 Key-Typen
20 davon sind Secrets, die nie in einen Browser gelangen dürfen. 5 sind von Haus aus öffentlich.
Keys mit der Markierung öffentlich, etwa ein Supabase-anon-Key, ein Firebase-apiKey oder ein Stripe-Publishable-Key, sind für den Browser gedacht. Sie sind nur sicher, solange Ihre Datenbankregeln die Daten dahinter schützen.
| Key-Typ | ID | Schweregrad | Art |
|---|---|---|---|
| OpenAI-API-Key | openai-key | Kritisch | Secret |
| Anthropic-API-Key | anthropic-key | Kritisch | Secret |
| Stripe-Live-Secret-Key | stripe-secret | Kritisch | Secret |
| Stripe-Test-Secret-Key | stripe-test-secret | Mittel | Secret |
| Stripe-Publishable-Key | stripe-publishable | Info | Von Haus aus öffentlich |
| AWS-Access-Key-ID | aws-access-key | Hoch | Secret |
| AWS-Secret-Access-Key | aws-secret | Kritisch | Secret |
| GitHub-Token | github-token | Kritisch | Secret |
| Google-API-Key | google-api-key | Info | Von Haus aus öffentlich |
| apiKey der Firebase-Web-Konfiguration | firebase-web-config | Info | Von Haus aus öffentlich |
| Supabase-service_role-Key | supabase-service-role-jwt | Kritisch | Secret |
| Supabase-anon-Key | supabase-anon-jwt | Info | Von Haus aus öffentlich |
| JSON Web Token | jwt-other | Niedrig | Secret |
| Supabase-Secret-Key | supabase-secret-key | Kritisch | Secret |
| Supabase-Publishable-Key | supabase-publishable-key | Info | Von Haus aus öffentlich |
| Slack-Token | slack-token | Kritisch | Secret |
| Slack-Webhook-URL | slack-webhook | Hoch | Secret |
| SendGrid-API-Key | sendgrid-key | Kritisch | Secret |
| Twilio-API-Key-SID | twilio-key | Hoch | Secret |
| Mailgun-API-Key | mailgun-key | Hoch | Secret |
| Private-Key-Block | private-key-block | Kritisch | Secret |
| Datenbank-URL mit Passwort | database-url | Kritisch | Secret |
| npm-Token | npm-token | Kritisch | Secret |
| Hugging-Face-Token | huggingface-token | Hoch | Secret |
| Resend-API-Key | resend-key | Hoch | Secret |
Fragen
Was liest der Secret-Scanner?
Er liest das HTML der Seite und bis zu 14 verlinkte Skriptdateien, insgesamt 3 MB, vom HTML die ersten 512 KB und von jeder Datei die ersten 1 MB. Er sucht nach bekannten Key-Formaten, etwa API-Keys, Access-Tokens, Private-Key-Blöcken und Datenbank-URLs mit Passwort.
Wo läuft der Scan und wie lange dauert er?
Der Scan läuft in Ihrem Browser; unser Server ruft dafür nur die Dateien ab, eine Anfrage pro Datei. Es wird nichts gespeichert. Bei einer langsamen Website kann ein Scan bis zu etwa anderthalb Minuten dauern.
Was kann der Scanner nicht sehen?
Secrets, die nur auf dem Server liegen, Seiten hinter einer Anmeldung, Chunks, die die Seite später per import() lädt, und Source Maps. Er kann auch nicht erkennen, ob ein gefundener Key noch aktiv ist. Ein sauberes Ergebnis beweist nicht, dass die App sicher ist.
Warum sind manche Keys als von Haus aus öffentlich markiert?
Ein Supabase-anon- oder -Publishable-Key, ein Firebase-apiKey, ein Google-API-Key und ein Stripe-Publishable-Key sind dafür gemacht, an den Browser gesendet zu werden. Sie identifizieren Ihr Projekt und erlauben nur, was Ihre Datenbankregeln, API-Beschränkungen und Server-Prüfungen zulassen. Sie werden gemeldet, damit Sie bestätigen können, dass diese Regeln existieren, nicht weil der Key selbst ein Leak wäre.
Was tun, wenn ein echtes Secret geleakt ist?
Rotieren Sie es zuerst: Erstellen Sie beim Anbieter einen neuen Key und widerrufen Sie den alten. Legen Sie den neuen Key dann in serverseitigen Code oder Umgebungsvariablen und deployen Sie neu. Den Key aus dem Code zu löschen reicht nicht, denn der alte Wert bleibt in früheren Builds, Caches und der Git-Historie.
Warum leaken per Vibe Coding gebaute Apps so oft Keys?
Schnell mit KI-Tools geschriebener Code ruft oft eine kostenpflichtige oder privilegierte API direkt aus dem Browser auf, und der Key landet im Skript, das jeder Besucher lädt. Vibe-Coding-Security beginnt damit, solche Aufrufe auf dem Server zu halten.