Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
token-proxy — Ein transparenter PII-Redaktions-Proxy für LLM-API-Traffic. Er sitzt zwischen einer Anwendung und einem LLM-Anbieter (derzeit Anthropic), pseudonymisiert sensible Daten ausgehend und stellt sie eingehend wieder her. Erstellt mit FastAPI + httpx. | Kitploit
Tools/GitHubGitHub/zolderio/token-proxy
DefensivwerkzeugeVerschlüsselungs-/EntschlüsselungstoolsDatenexfiltrationCloud-SicherheitPrivatsphäreBedrohungsanalyseAPI-SicherheitKI-SicherheitLog-Analyse
GitHubzolderio/token-proxy

token-proxy

Ein transparenter PII-Redaktions-Proxy für LLM-API-Traffic. Er sitzt zwischen einer Anwendung und einem LLM-Anbieter (derzeit Anthropic), pseudonymisiert sensible Daten ausgehend und stellt sie eingehend wieder her. Erstellt mit FastAPI + httpx.

28124vor 5 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
Teilen

llm-token-proxy

Ein transparenter PII-Schutzproxy für LLM-API-Traffic. Er sitzt zwischen Ihrer Anwendung und dem LLM-Anbieter, pseudonymisiert sensible Daten auf dem Hinweg und stellt sie auf dem Rückweg wieder her.

Ihr LLM sieht niemals echte Namen, E-Mails, IPs oder Domains – es arbeitet ausschließlich mit strukturierten Pseudonymen wie [email protected]. Ihre Anwendung erhält die ursprünglichen Werte transparent zurück.

Warum

Bei der Verwendung von LLMs für Sicherheitsoperationen, Incident Response oder andere Aufgaben mit echten Kundendaten besteht das Risiko, dass PII an Drittanbieter-APIs gesendet wird. Dieser Proxy löst das Problem durch:

  • Ersetzen echter PII durch deterministische, strukturierte Pseudonyme, bevor sie das LLM erreichen
  • Wiederherstellen der originalen Werte in der Antwort, bevor sie Ihre Anwendung erreicht
  • Beibehaltung der Konsistenz innerhalb einer Sitzung (gleiche Eingabe wird immer auf dasselbe Pseudonym abgebildet)
  • Transparente Arbeitsweise – keine Code-Änderungen in Ihrer Anwendung erforderlich

Schnellstart

# 1. Erstellen Sie Ihre Konfiguration
cp config.json.example config.json
# Bearbeiten Sie config.json mit Ihren internen Domains, bekannten Entitäten usw.

# 2. Mit Docker ausführen
docker build -t llm-token-proxy .
docker run -p 8090:8080 -v ./config.json:/app/config.json llm-token-proxy

# 3. Leiten Sie Ihre Anwendung an den Proxy weiter
export ANTHROPIC_BASE_URL=http://localhost:8090/session/my-session/

Das war's. Ihre Anthropic-API-Aufrufe laufen jetzt durch den Proxy mit geschwärzter PII.

So funktioniert es

Token Proxy Typischer Ablauf

Typischer Ablauf: Anwendung → Token Proxy (PII-Schwärzung) → LLM-API (nur Pseudonyme) → Token Proxy (Originale wiederherstellen) → Anwendung

Erkennungspipeline (3 Durchläufe)

  1. Regex – E-Mails, IP-Adressen, Domains und konfigurationsgesteuerte Muster (bekannte Personen, Organisationen, Hostnamen)
  2. NER – spaCy Named Entity Recognition erfasst Personen- und Organisationsnamen, die Regex übersieht
  3. Benutzernamenextraktion – reine E-Mail-Lokalteile (z.B. admin aus [email protected])

Pseudonym-Format

EntitätstypInternes BeispielExternes Beispiel
E-Mail[email protected][email protected]
Domaindomain-internal-001.comdomain-external-001.net
IP10.99.99.1 (RFC1918)ASN-bewusste Spender-IP (siehe unten)
Personperson_internal_001person_external_001
Organisationorg_internal_001org_external_001
Hostnamehost_001host_001

Pseudonyme sind innerhalb einer Sitzung deterministisch – derselbe reale Wert wird immer auf dasselbe Pseudonym abgebildet.

Kontexterhaltende IP-Pseudonymisierung

Wenn ein LLM Sicherheitsprotokolle analysiert, spielen der Hosting-Anbieter und die Geolokalisierung einer IP-Adresse eine Rolle – ein Login von einer Hetzner-IP in Deutschland erzählt eine andere Geschichte als einer von einem Residential-ISP in den USA. Eine naive Ersetzung durch Dokumentationsbereichs-IPs (z.B. 198.51.100.x) zerstört diesen Kontext.

Mit der optionalen MaxMind GeoLite2-ASN-Datenbank ersetzt der Proxy echte IPs durch eine andere IP aus derselben ASN und demselben Subnetz. Das LLM sieht eine real aussehende IP, die zum selben Hosting-Anbieter und annähernd gleichen geografischen Gebiet auflöst – aber es ist nicht die tatsächliche Adresse.

  • Eine Hetzner-IP wird durch eine andere Hetzner-IP aus demselben Präfix ersetzt
  • Eine Cloudflare-IP bleibt eine Cloudflare-IP
  • Interne/RFC1918-IPs werden immer auf 10.99.99.x abgebildet (kein ASN-Kontext zu erhalten)
  • Ohne die GeoIP-Datenbank fallen externe IPs auf 198.51.100.x zurück (Dokumentationsbereich)

Die Spender-IP wird deterministisch per HMAC mit einem sitzungsspezifischen Salt gewählt, sodass dieselbe echte IP innerhalb einer Sitzung immer auf denselben Spender abgebildet wird, verschiedene Sitzungen jedoch unterschiedliche Zuordnungen erzeugen.

Konfiguration

Der Proxy wird mit einer leeren config.json ausgeliefert – keine eingebauten Wortlisten oder domänenspezifischen Annahmen. Die mitgelieferte config.json.example ist für Sicherheitsoperationen mit Microsoft Sentinel und Entra ID optimiert (über 8.000 KQL-Tabellen-/Spaltennamen, Graph-API-Berechtigungsbegriffe, Sicherheitsreferenzdomains). Falls dies Ihrem Anwendungsfall entspricht, kopieren Sie, was Sie benötigen. Wenn Sie den Proxy für einen anderen Bereich (Gesundheitswesen, Recht, Finanzen usw.) verwenden, beginnen Sie mit der leeren Konfiguration und erstellen Sie Ihre eigenen Listen.

config.json

{
  "internal_domains": ["yourcompany.com"],
  "partner_domains": ["partnercorp.com"],
  "internal_ip_ranges": ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"],
  "known_persons": ["John Smith"],
  "known_orgs": ["YourCompany"],
  "known_hostnames": ["DC01", "FS01"],
  "ner_enabled": true,
  "ner_skiplist": [],
  "redaction_enabled": true
}
  • internal_domains – als „intern“ klassifizierte Domains (erhalten _internal_-Pseudonyme)
  • partner_domains – als „Partner“ klassifizierte Domains
  • internal_ip_ranges – CIDR-Bereiche für die interne IP-Klassifizierung
  • known_persons/orgs/hostnames – regex-gematchte Entitäten (garantierte Erkennung)
  • ner_enabled – Aktivierung von spaCy NER (erfordert spacy + en_core_web_sm)
  • ner_skiplist – Begriffe, die das NER-Modell ignorieren soll (reduziert False Positives)
  • redaction_enabled – Hauptschalter; bei false wird der Proxy zum reinen Durchlass
  • pseudonymize_domains – bei false werden Domains unverändert durchgelassen (E-Mails, IPs, Namen werden weiterhin geschwärzt). Nützlich, wenn Domainnamen wichtige Kontextinformationen für das LLM liefern (z. B. Unterscheidung von outlook.com und protonmail.com) und nicht als sensibel gelten.

Umgebungsvariablen

VariableStandardZweck
ANTHROPIC_API_BASEhttps://api.anthropic.comUpstream-Anthropic-API-URL
TOKEN_PROXY_CONFIG_PATH/app/config.jsonPfad zur Konfigurationsdatei
LOG_LEVELinfoProtokollierungsebene
GEOIP_ASN_DB_PATH/app/data/GeoLite2-ASN.mmdbMaxMind-GeoLite2-ASN-Datenbank (optional)

Runtime-Konfigurations-API

Verwalten Sie Whitelists und schalten Sie die Schwärzung ohne Neustart um:

# Alle Whitelists anzeigen
curl http://localhost:8090/token-proxy/config/whitelist

# Begriffe zur NER-Skiplist hinzufügen (reduziert False Positives)
curl -X POST http://localhost:8090/token-proxy/config/whitelist \
  -H "Content-Type: application/json" \
  -d '{"category": "ner_skiplist", "values": ["EvoSTS", "Hetzner"]}'

# Domains zur Allowlist hinzufügen (diese werden nie pseudonymisiert)
curl -X POST http://localhost:8090/token-proxy/config/whitelist \
  -H "Content-Type: application/json" \
  -d '{"category": "domain_allowlist", "values": ["github.com"]}'

# Schwärzung deaktivieren (Durchlassmodus)
curl -X POST http://localhost:8090/token-proxy/config/status \
  -H "Content-Type: application/json" \
  -d '{"redaction_enabled": false}'

Whitelist-Kategorien: ner_skiplist, domain_allowlist, known_persons, known_orgs, known_hostnames

Audit- und Inspektions-API

Überprüfen Sie in Echtzeit, was der Proxy tut:

# Aktive Sitzungen auflisten
curl http://localhost:8090/token-proxy/sessions

# Pseudonymzuordnungen für eine Sitzung anzeigen
curl http://localhost:8090/token-proxy/sessions/{session_id}/mappings

# Protokoll der Schwärzungsaktivitäten anzeigen
curl http://localhost:8090/token-proxy/sessions/{session_id}/log
Tool herunterladen