
Passive API-Key- und Secret-Erkennungs-Browsererweiterung für Chrome und Firefox. 80+ Erkennungsmuster, keine Konfiguration erforderlich.
<p align="center">
<img width="128" height="128" alt="KeyFinder-Logo" src="https://assets.kitploit.com/production/public/readmes/13441/6a3719fb955d59b82cc0050ce4d323675f3e6d4f0ae09becf982a5b2f6755771.png">
</p>
<h1 align="center">KeyFinder</h1>
<p align="center">
<strong>Passives Aufspüren von API-Schlüsseln und Geheimnissen für Chrome und Firefox</strong>
</p>
<p align="center">
<img src="https://img.shields.io/badge/manifest-v3-blue"/>
<a href="https://chromewebstore.google.com/detail/keyfinder/oogbljkilkfgdlkbmajlolpanilnnkim"><img src="https://img.shields.io/badge/Chrome-Extension-green"/></a>
<a href="https://addons.mozilla.org/en-US/firefox/addon/keyfinder-original/"><img src="https://img.shields.io/badge/Firefox-Add--on-orange"/></a>
<img src="https://img.shields.io/github/license/momenbasel/keyFinder"/>
<img src="https://img.shields.io/github/v/release/momenbasel/keyFinder"/>
<img src="https://img.shields.io/github/downloads/momenbasel/keyFinder/total.svg"/>
</p>
<hr>
KeyFinder ist eine Browsererweiterung für Chrome und Firefox, die jede besuchte Seite passiv nach durchgesickerten API-Schlüsseln, Tokens, Geheimnissen und Anmeldeinformationen durchsucht. Sie läuft leise im Hintergrund und benötigt keinerlei Konfiguration.
<p align="center">
<video src="https://cdn.jsdelivr.net/gh/momenbasel/keyFinder@master/store/store-demo.mp4" poster="https://raw.githubusercontent.com/momenbasel/keyFinder/master/store/store-1-dashboard.png" controls muted playsinline></video>
</p>
## Was erkannt wird
KeyFinder enthält **über 80 Erkennungsmuster** für Geheimnisse aus:
| Kategorie | Anbieter |
|-----------|----------|
| **Cloud** | AWS (Zugriffsschlüssel, Geheime Schlüssel, Sitzungstokens, Cognito), Google Cloud (API-Schlüssel, OAuth, Dienstkonten), Azure (Speicherschlüssel, SAS-Tokens, Verbindungszeichenfolgen) |
| **Quellcodeverwaltung** | GitHub (PATs, OAuth, Feinkörnige Tokens), GitLab (PATs, Pipeline-, Runner-Tokens), Bitbucket |
| **Zahlungen** | Stripe (Secret, Publishable, Restricted, Webhook), PayPal Braintree, Square |
| **Kommunikation** | Slack (Bot-, Benutzer-, App-Tokens, Webhooks), Discord (Bot-Tokens, Webhooks), Telegram, Twilio, SendGrid |
| **KI / ML** | OpenAI, Anthropic, HuggingFace, Replicate |
| **Datenbanken** | MongoDB-, PostgreSQL-, MySQL-, Redis-Verbindungszeichenfolgen |
| **SaaS** | Shopify, Sentry, New Relic, PlanetScale, Linear, Notion, Datadog, Algolia, Mapbox |
| **Infrastruktur** | HashiCorp Vault, Terraform, Docker Hub, NPM, Cloudflare, DigitalOcean, Doppler, Pulumi, Grafana |
| **Krypto** | RSA-, EC-, OpenSSH-, PGP-, DSA-private Schlüssel |
| **Allgemein** | JWTs, Bearer-Tokens, Basic Auth, API-Schlüsselzuweisungen, Credential-URLs, Zeichenfolgen mit hoher Entropie |
## Funktionsweise
KeyFinder durchsucht **10 verschiedene Angriffsflächen** auf jeder Seite:
1. **Skript-`src`-URLs** – Prüft alle Quell-URLs von Skripten auf Schlüsselwörter und Tokens in Query-Parametern
2. **Inline-Skripte** – Durchsucht den Inhalt von `<script>`-Tags nach geheimen Mustern
3. **Externe Skripte** – Ruft gleichherkunftige JavaScript-Dateien ab und durchsucht sie
4. **Meta-Tags** – Prüft `<meta>`-Tags auf durchgesickerte API-Schlüssel und Tokens
5. **Versteckte Formularfelder** – Untersucht Werte von `<input type="hidden">`
6. **Datenattribute** – Durchsucht `data-*`-Attribute nach sensiblen Werten
7. **HTML-Kommentare** – Analysiert Kommentarknoten auf versehentlich eingecheckte Geheimnisse
8. **URL-Parameter** – Analysiert Links und hrefs auf Tokens in Query-Strings
9. **Web-Storage** – Durchsucht localStorage und sessionStorage
10. **Netzwerkantworten** – Fängt XHR- und Fetch-Antworten ab, um durchgesickerte Geheimnisse zu finden
Zusätzlich wird eine **Shannon-Entropie-Analyse** angewendet, um zufällige Zeichenfolgen mit hoher Entropie zu erkennen, die undokumentierte Geheimnisformate sein könnten.
## Funktionen
- **Keine Abhängigkeiten** – Reines Vanilla-JavaScript, kein jQuery, keine externen Bibliotheken
- **Manifest V3** – Entwickelt für modernes Chrome und Firefox mit Service-Worker-Architektur
- **Passives Scannen** – Läuft automatisch bei jedem Seitenaufruf
- **SPA-kompatibel** – MutationObserver durchsucht dynamisch eingefügtes DOM erneut
- **Pro-Tab-Benachrichtigungspunkt** – Rotes Punktsymbol, wenn ein Tab Funde enthält
- **Benutzerdefinierte Schlüsselwörter** – Eigene Suchbegriffe zum Durchsuchen hinzufügen (validiert, max. 50)
- **Ops-Konsole-Dashboard** – Flaches Terminal-UI: nach Schweregrad sortierte Funde, klickbare Schweregrad-Kacheln zum Filtern, Ticker der neuesten Funde, Live-Suche (`/` fokussiert, `Esc` löscht)
- **Triage mit einem Klick** – Klicke auf einen Treffer, um das Geheimnis zu kopieren; relative Zeitstempel mit absoluten beim Überfahren; Löschen einzelner Funde
- **Export** – Gefilterte Funde als JSON oder CSV herunterladen (mit Formel-Injection-Schutz)
- **Abgesicherte Brücke** – Seitenweiter Nonce auf MAIN <-> ISOLATED CustomEvent-Kanal
- **Begrenzter Speicher** – 5000-Funde-Obergrenze mit FIFO-Verwerfung; serialisiertes Schreiben über Tabs hinweg
- **Geringe Ressourcennutzung** – Minimale CPU- und Speicherbelastung
- **Alle Frames** – Durchsucht iframes und eingebettete Inhalte
## Installation
### Chrome
- [Aus dem Chrome Web Store installieren](https://chromewebstore.google.com/detail/keyfinder/oogbljkilkfgdlkbmajlolpanilnnkim)
### Firefox
- [Aus den Firefox-Add-ons installieren](https://addons.mozilla.org/en-US/firefox/addon/keyfinder-original/)
### Aus dem Quellcode
```bash
git clone https://github.com/momenbasel/keyFinder.git
```
**Chrome:**
1. Gehe zu `chrome://extensions`
2. Aktiviere **Entwicklermodus**
3. Klicke auf **Entpackte Erweiterung laden** und wähle den Ordner `keyFinder` aus
**Firefox:**
1. Gehe zu `about:debugging` > "Dieses Firefox"
2. Klicke auf **Temporäres Add-on laden**
3. Wähle `manifest.firefox.json` aus dem Ordner `keyFinder` aus
## Verwendung
1. **Installiere** die Erweiterung
2. **Surfe** normal im Web – KeyFinder durchsucht jede Seite im Hintergrund
3. Klicke auf das **Erweiterungssymbol**, um Statistiken zu sehen und Schlüsselwörter zu verwalten
4. Klicke auf **Funde anzeigen**, um das vollständige Ergebnis-Dashboard zu öffnen
5. **Filtere** nach Schweregrad, Anbieter oder Typ – oder klicke auf eine Schweregrad-Kachel, um sofort zu filtern; drücke `/` zum Suchen
6. **Exportiere** Funde als JSON oder CSV für Berichte
## Benutzerdefinierte Schlüsselwörter hinzufügen
Klicke auf das Erweiterungssymbol, gib ein Schlüsselwort in das Eingabefeld ein und klicke auf **Hinzufügen**. Das Schlüsselwort wird verwendet, um Skript-URLs, Inline-Code und Schlüssel-Wert-Zuweisungen auf jeder besuchten Seite zu durchsuchen.
Standardschlüsselwörter: `key`, `api_key`, `apikey`, `api-key`, `secret`, `token`, `access_token`, `auth`, `credential`, `password`, `client_id`, `client_secret`
## Architektur
```
keyFinder/
manifest.json # Chrome MV3 Manifest
manifest.firefox.json # Firefox MV3 Manifest
popup.html # Popup-Oberfläche der Erweiterung
results.html # Dashboard für Funde
js/
background.js # Service Worker – Speicher- und Nachrichtenverarbeitung
patterns.js # 80+ Erkennungs-Regex-Muster für Geheimnisse
content.js # ISOLATED-World-Seitenscanner – DOM, Skripte, Netzwerk
interceptor-loader.js # ISOLATED-Loader – setzt Nonce, injiziert MAIN-World-Interceptor
interceptor.js # MAIN-World-XHR/Fetch-Hooks + globales Fenster-Scannen
popup.js # Popup-Logik
results.js # Dashboard-Logik mit Filterung und Export
css/
popup.css # Popup-Styles
results.css # Dashboard-Styles
icons/
icon16.png
icon48.png
icon128.png
scripts/
build.sh # Erstellt Chrome- und Firefox-Zip-Pakete
```
## Sicherheit
Siehe [SECURITY.md](https://github.com/momenbasel/keyfinder/blob/master/SECURITY.md) für das Bedrohungsmodell, die Offenlegungsrichtlinie und bekannte Einschränkungen. Versionshinweise befinden sich in [CHANGELOG.md](https://github.com/momenbasel/keyfinder/blob/master/CHANGELOG.md).
## Haftungsausschluss
Dieses Tool ist ausschließlich für **Sicherheitsforschung und autorisierte Tests** bestimmt. Verwenden Sie es, um durchgesickerte Geheimnisse in Ihren eigenen Anwendungen oder während autorisierter Penetrationstests zu identifizieren. Sie sind für Ihre eigenen Handlungen verantwortlich.
## Professionelle Dienstleistungen
keyFinder wird von [GreyCore Labs](https://greycorelabs.com) entwickelt und gewartet, einer in den USA eingetragenen Offensiv-Sicherheitsfirma. Möchten Sie denselben Blick auf Ihr eigenes Produkt?
- [Penetrationstests](https://greycorelabs.com/#plans) – Web, API, Mobil, Cloud. Festpreisangebot innerhalb von 24 Stunden, redigierter Musterbericht auf Anfrage.
- [Kostenloser externer Angriffsflächen-Scan](https://greycorelabs.com/#free-scan) – Einseitiger Bericht in 48 Stunden, unverbindlich.
## Lizenz
MIT
## Autor
[@momenbassel](https://x.com/momenbassel) – [LinkedIn](https://www.linkedin.com/in/momenbasel/)