Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
privacy-filter — Bidirektionales Token-Klassifikationsmodell zur Erkennung und Maskierung von PII in Text, mit CLI für Redaktion, Evaluierung und Finetuning vor Ort. | Kitploit
Tools/GitHubGitHub/openai/privacy-filter
DefensivwerkzeugeDatenexfiltrationInformationsbeschaffungPrivatsphäreSecret-ErkennungMaschinelles LernenKI-Sicherheit
GitHubopenai/privacy-filter

privacy-filter

Bidirektionales Token-Klassifikationsmodell zur Erkennung und Maskierung von PII in Text, mit CLI für Redaktion, Evaluierung und Finetuning vor Ort.

Repository anzeigen
2.7k242vor 4 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 →
Teilen

OpenAI Privacy Filter

OpenAI Privacy Filter ist ein bidirektionales Token-Klassifikationsmodell zur Erkennung und Maskierung personenbezogener Daten (PII) in Text. Es ist für Workflows zur Datenbereinigung mit hohem Durchsatz gedacht, in denen Teams ein Modell benötigen, das sie lokal betreiben können und das schnell, kontextbewusst und anpassbar ist.

OpenAI Privacy Filter wird autoregressiv vortrainiert, um einen Checkpoint mit einer Architektur ähnlich zu gpt-oss zu erhalten, wenn auch in kleinerer Größe. Anschließend haben wir diesen Checkpoint in einen bidirektionalen Token-Klassifikator über eine Datenschutz-Label-Taxonomie umgewandelt und mit einem überwachten Klassifikationsverlust nachtrainiert. (Architekturdetails zu gpt-oss finden Sie in der gpt-oss-Modellkarte.) Anstatt Text Token für Token zu generieren, beschriftet dieses Modell eine Eingabesequenz in einem einzigen Vorwärtsdurchlauf und dekodiert dann kohärente Spans mit einem eingeschränkten Viterbi-Verfahren. Für jedes Eingabe-Token sagt das Modell eine Wahrscheinlichkeitsverteilung über die Label-Taxonomie voraus, die aus 8 unten beschriebenen Ausgabekategorien besteht.

Highlights:

  • Permissive Apache-2.0-Lizenz: ideal für Experimente, Anpassung und kommerziellen Einsatz.
  • Kleine Größe: Läuft in einem Webbrowser oder auf einem Laptop – 1,5 Mrd. Parameter insgesamt und 50 Mio. aktive Parameter.
  • Feinabstimmbar: Passen Sie das Modell durch einfaches und dateneffizientes Finetuning an spezifische Datenverteilungen an.
  • Langkontext: Ein Kontextfenster von 128.000 Token ermöglicht die Verarbeitung langer Texte mit hohem Durchsatz und ohne Chunking.
  • Laufzeitsteuerung: Konfigurieren Sie Precision/Recall-Abwägungen und erkannte Span-Längen über voreingestellte Betriebspunkte.

Dieses Repo

Dieses Repository enthält den lokalen Code, die CLI und Beispiel-Assets, die zum Ausführen, Evaluieren und Finetunen von Privacy-Filter-Checkpoints verwendet werden. Es ist für Teams gedacht, die die Implementierung direkt untersuchen und das Modell in ihrer eigenen Umgebung betreiben möchten.

Repository-Ressourcen: und .

License
Security Policy

Verwendung

  1. Installieren Sie das Paket lokal:
root@kitploit:~
pip install -e .

Danach verfügen Sie über ein Python-Skript opf, das direkt oder über python -m opf ausgeführt werden kann. Das Skript kann auf drei verschiedene Arten verwendet werden, wie unten beschrieben.

  1. Einmalige Redaktion ausführen:

Standardmäßig sucht opf nach einem Modell im Verzeichnis, auf das die Variable OPF_CHECKPOINT zeigt, oder unter ~/.opf/privacy_filter. Wenn kein Modell am Speicherort ~/.opf/privacy_filter gefunden wird, wird es heruntergeladen.

root@kitploit:~
opf "Alice was born on 1990-01-02."

Der Code unterstützt die Ausführung sowohl auf GPU (standardmäßig) als auch auf CPU. Um auf CPU auszuführen, verwenden Sie das Flag --device cpu:

root@kitploit:~
opf --device cpu "Alice was born on 1990-01-02."

Um den Standard-Checkpoint zu überschreiben, übergeben Sie --checkpoint:

root@kitploit:~
opf --checkpoint /path/to/checkpoint_dir "Alice was born on 1990-01-02."

Der Redaktionsmodus unterstützt die Redaktion einer gesamten Datei auf einmal

root@kitploit:~
opf -f /path/to/file

Die Redaktion kann auch über Pipes erfolgen, um komplexe Einzeiler zu unterstützen:

root@kitploit:~
cat /path/to/file | grep -e 'some_pattern' | opf

Wenn keine Eingabe bereitgestellt wird, startet opf im interaktiven Modus. In diesem Modus gibt die CLI für jedes Eingabebeispiel eine strukturierte JSON-Ausgabe aus und verwendet ANSI-farbcodierte Vorschauen, wenn das Terminal diese unterstützt. Diese Optionen können über Flags gesteuert werden.

Weitere Flags und Informationen zum Redaktionsmodus finden Sie unter opf redact --help.

  1. Eval auf einem gelabelten Datensatz ausführen:
root@kitploit:~
opf eval examples/data/sample_eval_five_examples.jsonl

Die Beispiel-Eval-Fixtures unter examples/data/sample_eval_five_examples*.jsonl sind ausschließlich synthetische Beispieldaten und beschreiben keine realen Personen oder realen sensiblen Datensätze. Siehe examples/data/README.md.

Weitere Flags und Informationen zum Evaluationsmodus finden Sie unter opf eval --help.

  1. Finetuning auf Ihrem eigenen gelabelten Datensatz durchführen:
root@kitploit:~
opf train /path/to/train.jsonl --output-dir /path/to/finetuned_checkpoint

Weitere Flags und Informationen zum Finetuning-Modus finden Sie unter opf train --help.

Struktur

  • opf/__main__.py: einheitlicher CLI-Einstiegspunkt für die Modi redact, eval und train.
  • opf/_api.py: Python-API über den Runtime- und Decoding-Stack.
  • opf/_cli/: Parsing von Kommandozeilenargumenten und Hilfsfunktionen für die Terminal-Darstellung.
  • opf/_core/: Runtime-Laden, Span-Konvertierung und gemeinsame Decoding-Logik.
  • opf/_eval/: Laden von Datensätzen, Vorverarbeitung, Metriken und Evaluations-Runner.
  • opf/_train/: Parsing von Argumenten für lokales Finetuning und Trainings-Runner.
  • opf/_model/: Transformer-Implementierung, Checkpoint-Konfiguration und Laden von Gewichten.
  • examples/data/: Beispiel-Eval-Dateien sowie reproduzierbare Finetuning-Demo-Datensätze.
  • examples/scripts/finetuning/: ausführbare Finetuning-Demo-Harnesses.
  • FINETUNING.md: fokussierter Finetuning-Workflow und Anleitung zu Demo-Skripten.
  • OUTPUT_SCHEMAS.md: JSON-Antwort- und Export-Payload-Formate.
  • EVAL_AND_OUTPUT_MODES.md: Beschreibung der Ausgabemodi für Redaktion und Evaluation.

Modelldetails

Modellbeschreibung

Privacy Filter ist ein bidirektionales Token-Klassifikationsmodell mit Span-Decoding. Es wird in Phasen trainiert, beginnend mit autoregressivem Pretraining. Das vortrainierte Sprachmodell wird dann modifiziert und als bidirektionaler Token-Klassifikator mit banded Attention der Bandgröße 128 (effektives Attention-Fenster: 257 Token einschließlich Self) nachtrainiert. Das bedeutet:

  • Das Basismodell ist ein autoregressiv vortrainierter Checkpoint.
  • Der Ausgabe-Head des Sprachmodells wird durch einen Token-Klassifikations-Head über Datenschutz-Labels ersetzt.
  • Das Nachtraining ist überwachte Token-Level-Klassifikation statt Next-Token-Vorhersage.
  • Die Inferenz wendet eingeschränktes Sequenz-Decoding an, um kohärente BIOES-Span-Labels (Begin, Inside, Outside, End, Single) zu erzeugen.

Architektonisch ist die Implementierung in diesem Repo ein Pre-Norm-Transformer-Encoder-Stack mit:

  • Token-Embeddings
  • 8 wiederholten Transformer-Blöcken
  • Grouped-Query-Attention mit rotary positional embeddings, mit 14 Query-Heads und 2 KV-Heads (Gruppengröße = 7 Queries pro KV-Head)
  • sparse Mixture-of-Experts-Feed-Forward-Blöcken mit insgesamt 128 Experten (Top-4-Routing pro Token)
  • einem finalen Token-Klassifikations-Head über Datenschutz-Labels (statt Vokabel-Token natürlicher Sprache), mit Residual-Stream-Breite d_model = 640.

Im Vergleich zu iterativen autoregressiven Ansätzen ermöglicht dieses Design, alle Token in einem Durchlauf zu labeln, was den Durchsatz verbessert. Im Vergleich zu klassischen Masked-Language-Model-Pretraining-Ansätzen handelt es sich um eine Post-Training-Konvertierung eines autoregressiven Modells statt um ein natives Masked-LM-Setup.

Ausgabeform

Privacy Filter kann 8 Kategorien von Datenschutz-Spans erkennen:

  1. account_number
  2. private_address
  3. private_email
  4. private_person
  5. private_phone
  6. private_url
  7. private_date
  8. secret

Um Token-Klassifikation durchzuführen, wird jede Nicht-Hintergrund-Span-Kategorie in boundary-getaggte Token-Klassen erweitert: B-<label>, I-<label>, E-<label>, S-<label>, plus die Hintergrundklasse O. Die Gesamtzahl der Token-Level-Ausgabeklassen beträgt also 33: 1 Hintergrundklasse + 8 Span-Labels * 4 Boundary-Tags = 33 Klassen. Das bedeutet, dass der Ausgabe-Head 33 Logits für jedes Token ausgibt. Für eine Sequenz der Länge T hat die Ausgabe die Form [T, 33]; für einen Batch der Größe B hat sie die Form [B, T, 33].

Das Token-Label-Vokabular besteht aus dem Hintergrund-Label O plus BIOES-getaggten Varianten jeder Datenschutzkategorie: account_number, private_address, private_email, private_person, private_phone, private_url, private_date und secret. Mit anderen Worten: Für jede Kategorie sagt das Modell die Formen B-, I-, E- und S- voraus, die Begin-, Inside-, End- und Single-Token-Spans entsprechen. Zur Inferenzzeit werden diese Pro-Token-Logits mithilfe von eingeschränktem Sequenz-Decoding in kohärente BIOES-Span-Labels dekodiert.

Begründung und Kalibrierung des Sequenz-Decodings

Begründung

Nachdem der Token-Klassifikator Pro-Token-Logits erzeugt hat, dekodieren wir Labels mit einem eingeschränkten Viterbi-Decoder unter Verwendung von Linear-Chain-Transition-Scoring, anstatt für jedes Token ein unabhängiges Argmax zu verwenden. Der Decoder erzwingt erlaubte BIOES-Boundary-Übergänge und bewertet vollständige Label-Pfade mit Start-, Transition- und End-Termen sowie sechs Transition-Bias-Parametern, die Hintergrundpersistenz, Span-Eintritt, Span-Fortsetzung, Span-Abschluss und Boundary-zu-Boundary-Übergabe steuern. Diese globale Pfadoptimierung soll die Span-Kohärenz und Boundary-Stabilität verbessern, indem jede Token-Entscheidung von der Struktur auf Sequenzebene abhängt und nicht nur von lokalen Logits – insbesondere in verrauschtem Text oder Text mit gemischten Formaten, in dem lokale Token-Entscheidungen allein fragmentierte oder inkonsistente Boundaries erzeugen können.

Kalibrierung der Betriebspunkte

Parameter des Sequenz-Decodings können davon abhalten, im Hintergrund zu bleiben, während sie Span-Eintritt und -Fortsetzung fördern, was zu breiterer und zusammenhängenderer Maskierung für verbesserten Recall führt – oder umgekehrt für verbesserte Precision. Zur Laufzeit können Benutzer Parameter abstimmen, die diese Abwägung steuern.

Modell-Metadaten

  • Entwickelt von: OpenAI

  • Finanziert von: OpenAI

  • Bereitgestellt von: OpenAI

  • Modelltyp: Bidirektionales Token-Klassifikationsmodell zur Erkennung von Datenschutz-Spans

  • Sprache(n): Primär Englisch; ausgewählte mehrsprachige Robustheitsbewertung berichtet

  • Lizenz: Apache 2.0

  • Modellgewichte: https://huggingface.co/openai/privacy-filter

  • Demo: https://huggingface.co/spaces/openai/privacy-filter

  • Modellkarte: OpenAI Privacy Filter Model Card

Bias, Risiken und Einschränkungen

Risiko: Übermäßiges Vertrauen

Privacy Filter ist eine Hilfe zur Redaktion und Datenminimierung, keine Anonymisierungs-, Compliance- oder Sicherheitsgarantie. Ein übermäßiges Vertrauen auf das Tool als pauschale Anonymisierungsaussage würde das Risiko bergen, gewünschte Datenschutzziele zu verfehlen. Privacy Filter sollte am besten als eine von mehreren Ebenen in einem ganzheitlichen End-to-End-Ansatz nach dem Prinzip Privacy by Design verwendet werden.

Einschränkung: Statische Label-Richtlinie

Das Modell identifiziert nur personenbezogene Daten-Spans, die zur trainierten Label-Taxonomie und deren Definitionen passen. Reale Datenschutzanwendungsfälle sind vielfältig und komplex, und Definitionen geeigneter Label-Richtlinien und Entscheidungsgrenzen können sich unterscheiden. Daher entsprechen die Modellstandards möglicherweise nicht den organisationsspezifischen Governance-Anforderungen ohne Kalibrierung/Feinabstimmung.

Privacy Filter unterstützt keine dynamische Konfiguration von Label-Richtlinien zur Laufzeit; stattdessen erfordert eine Änderung der Richtlinien weiteres Finetuning des Modells. Das native Label-Set und die zugehörigen Entscheidungsgrenzen sind möglicherweise nicht für jeden Anwendungsfall geeignet. Beispielsweise zielt die Trainingsrichtlinie des Modells darauf ab, personenbezogene Identifikatoren zu priorisieren, und bewahrt konstruktionsbedingt oft Kontext, der nicht stark personenbezogen ist; einige Benutzer möchten diese Wahl möglicherweise anpassen.

Die Leistung kann bei nicht-englischem Text, nicht-lateinischen Schriften, Namensmustern geschützter Gruppen oder Domänen, die im Vergleich zum Modelltraining out of distribution liegen, sinken.

Fehlermodi

Wie alle Modelle kann Privacy Filter Fehler machen, wie zum Beispiel: Untererkennung seltener Personennamen, regionaler Namenskonventionen, Initialen, stark höflichkeitsformelhafter Referenzen oder domänenspezifischer Identifikatoren; Überredaktion öffentlicher Entitäten, Organisationen, Orte oder gebräuchlicher Substantive, wenn der lokale Kontext mehrdeutig ist; fragmentierte oder verschobene Span-Boundaries in Text mit gemischten Formaten, langen Dokumenten oder Text mit starker Interpunktion und Layout-Artefakten; verpasste Secrets bei neuartigen Credential-Formaten, projektspezifischen Token-Mustern oder Secrets, die über umgebende Syntax aufgeteilt sind; und Überredaktion harmloser hoch-entropischer Strings, Platzhalter, Hashes, Beispiel-Credentials oder synthetischer Beispiele, die Secrets ähneln.

Diese Einschränkungen können mit demografischen, regionalen und domänenspezifischen Variationen interagieren. Beispielsweise können Namen und Identifikatoren, die in den Trainingsdaten unterrepräsentiert sind oder Konventionen folgen, die von der dominanten Trainingsverteilung abweichen, eher übersehen oder inkonsistent begrenzt werden.

Vorsicht bei risikoreichen Einsätzen

Zusätzliche Vorsicht ist in hochsensiblen Umgebungen wie medizinischen, rechtlichen, finanziellen, Personal-, Bildungs- und Regierungs-Workflows geboten. In diesen Umgebungen können sowohl False Negatives als auch False Positives kostspielig sein: Übersehene Spans können sensible Informationen offenlegen, während übermäßige Maskierung wesentlichen Kontext entfernen kann, der für Überprüfung, Auditing oder nachgelagerte Entscheidungsfindung benötigt wird.

Empfehlungen

  • Verwenden Sie Privacy Filter als Teil eines ganzheitlichen Privacy-by-Design-Ansatzes, nicht als pauschale Anonymisierungsaussage.
  • Evaluieren Sie vor dem Produktiveinsatz im eigenen Anwendungsbereich mit lokalen Richtlinienreferenzen.
  • Verwenden Sie aufgabenspezifisches Finetuning, wenn die Richtlinie von den Basisgrenzen abweicht.
  • Behalten Sie Wege zur menschlichen Überprüfung für hochsensible Workflows bei.
Tool herunterladen