Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
privacy-filter — Modello bidirezionale di token-classification per il rilevamento e la mascheratura di PII nel testo, con CLI per redazione, valutazione e finetuning on-premises. | Kitploit
Strumenti/GitHubGitHub/openai/privacy-filter
Strumenti DifensiviEsfiltrazione DatiRaccolta InformazioniPrivacyRilevamento SegretiMachine LearningSicurezza dell'IA
GitHubopenai/privacy-filter

privacy-filter

Modello bidirezionale di token-classification per il rilevamento e la mascheratura di PII nel testo, con CLI per redazione, valutazione e finetuning on-premises.

Vedi Repository
2.7k245275 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

OpenAI Privacy Filter

OpenAI Privacy Filter è un modello bidirezionale di classificazione dei token per il rilevamento e la mascheratura di informazioni di identificazione personale (PII) nel testo. È pensato per flussi di lavoro di sanitizzazione dei dati ad alto throughput, in cui i team necessitano di un modello eseguibile on-premises che sia veloce, consapevole del contesto e regolabile.

OpenAI Privacy Filter è preaddestrato in modo autoregressivo per ottenere un checkpoint con un'architettura simile a gpt-oss, sebbene di dimensioni inferiori. Abbiamo poi convertito quel checkpoint in un classificatore bidirezionale di token su una tassonomia di etichette di privacy, e lo abbiamo post-addestrato con una loss di classificazione supervisionata. (Per i dettagli sull'architettura di gpt-oss, si veda la model card di gpt-oss.) Invece di generare testo token per token, questo modello etichetta una sequenza di input in un singolo forward pass, quindi decodifica span coerenti con una procedura Viterbi vincolata. Per ogni token di input, il modello predice una distribuzione di probabilità sulla tassonomia di etichette, che consiste di 8 categorie di output descritte di seguito.

Punti salienti:

  • Licenza permissiva Apache 2.0: ideale per sperimentazione, personalizzazione e deployment commerciale.
  • Dimensioni ridotte: funziona in un browser web o su un laptop – 1,5B parametri totali e 50M parametri attivi.
  • Fine-tuning: adatta il modello a specifiche distribuzioni di dati tramite un fine-tuning semplice ed efficiente in termini di dati.
  • Contesto lungo: una finestra di contesto di 128.000 token consente di elaborare testi lunghi con throughput elevato e senza chunking.
  • Controllo a runtime: configura i compromessi precisione/recall e le lunghezze degli span rilevati tramite punti operativi preimpostati.

Questo Repo

Questo repository contiene il codice locale, la CLI e gli asset di esempio usati per eseguire, valutare ed effettuare il fine-tuning dei checkpoint di Privacy Filter. È pensato per i team che vogliono ispezionare direttamente l'implementazione e utilizzare il modello nel proprio ambiente.

Risorse del repository: License e Security Policy.

Come Usarlo

  1. Installa il pacchetto localmente:
pip install -e .

Dopodiché, avrai uno script python opf che può essere eseguito direttamente o tramite python -m opf. Lo script può essere usato in 3 modi distinti, come descritto di seguito.

  1. Esegui la redazione one-shot:

Per impostazione predefinita, opf cerca un modello nella directory indicata dalla variabile OPF_CHECKPOINT, oppure in ~/.opf/privacy_filter. Se un modello non viene trovato nella posizione ~/.opf/privacy_filter, verrà scaricato.

opf "Alice was born on 1990-01-02."

Il codice supporta l'esecuzione sia su GPU (per impostazione predefinita) sia su CPU. Per eseguire su CPU, usa il flag --device cpu:

opf --device cpu "Alice was born on 1990-01-02."

Per sovrascrivere il checkpoint predefinito, passa --checkpoint:

opf --checkpoint /path/to/checkpoint_dir "Alice was born on 1990-01-02."

La modalità di redazione supporta la redazione di un intero file in una sola volta

opf -f /path/to/file

La redazione può anche essere eseguita tramite pipe, per supportare one-liner complesse:

cat /path/to/file | grep -e 'some_pattern' | opf

Se non viene fornito alcun input, opf si avvierà in modalità interattiva. In questa modalità, per ogni esempio di input, la CLI stampa un output JSON strutturato, usando anteprime con codifica a colori ANSI se il terminale le supporta. Queste opzioni possono essere controllate tramite flag.

Consulta opf redact --help per ulteriori flag e informazioni sulla modalità di redazione.

  1. Esegui la valutazione su un dataset etichettato:
opf eval examples/data/sample_eval_five_examples.jsonl

I fixture di valutazione di esempio sotto examples/data/sample_eval_five_examples*.jsonl sono solo dati di esempio sintetici e non descrivono persone reali o record sensibili reali. Vedi examples/data/README.md.

Consulta opf eval --help per ulteriori flag e informazioni sulla modalità di valutazione.

  1. Esegui il fine-tuning sul tuo dataset etichettato:
opf train /path/to/train.jsonl --output-dir /path/to/finetuned_checkpoint

Consulta opf train --help per ulteriori flag e informazioni sulla modalità di fine-tuning.

Struttura

  • opf/__main__.py: entrypoint CLI unificato per le modalità redact, eval e train.
  • opf/_api.py: API rivolta a Python sopra lo stack di runtime e decodifica.
  • opf/_cli/: parsing degli argomenti da riga di comando e helper per il rendering nel terminale.
  • opf/_core/: caricamento del runtime, conversione degli span e logica di decodifica condivisa.
  • opf/_eval/: caricamento dei dataset, preprocessing, metriche e runner di valutazione.
  • opf/_train/: parsing degli argomenti per il fine-tuning locale e runner di addestramento.
  • opf/_model/: implementazione del transformer, configurazione del checkpoint e caricamento dei pesi.
  • examples/data/: file di valutazione di esempio più dataset dimostrativi riproducibili per il fine-tuning.
  • examples/scripts/finetuning/: harness dimostrativi eseguibili per il fine-tuning.
  • FINETUNING.md: guida focalizzata sul flusso di lavoro di fine-tuning e sugli script dimostrativi.
  • OUTPUT_SCHEMAS.md: formati dei payload di risposta JSON e di esportazione.
  • EVAL_AND_OUTPUT_MODES.md: descrizione delle modalità di output per redazione e valutazione.

Dettagli del Modello

Descrizione del Modello

Privacy Filter è un modello bidirezionale di classificazione dei token con decodifica degli span. È addestrato in fasi, iniziando con un preaddestramento autoregressivo. Il modello linguistico preaddestrato viene poi modificato e post-addestrato come classificatore bidirezionale di token con attenzione a bande di dimensione 128 (finestra di attenzione effettiva: 257 token incluso self). Ciò significa:

  • Il modello base è un checkpoint preaddestrato autoregressivo.
  • La testa di output del modello linguistico è sostituita con una testa di classificazione dei token su etichette di privacy.
  • Il post-addestramento è una classificazione supervisionata a livello di token anziché una predizione del token successivo.
  • L'inferenza applica una decodifica di sequenza vincolata per produrre etichette di span BIOES (Begin, Inside, Outside, End, Single) coerenti.

Architetturalmente, l'implementazione in questo repo è uno stack in stile transformer encoder con pre-norm, con:

  • token embeddings
  • 8 blocchi transformer ripetuti
  • attenzione grouped-query con rotary positional embeddings, con 14 teste query e 2 teste KV (dimensione del gruppo = 7 query per testa KV)
  • blocchi feed-forward sparse mixture-of-experts con 128 esperti totali (routing top-4 per token)
  • una testa finale di classificazione dei token su etichette di privacy (anziché token del vocabolario del linguaggio naturale), con larghezza del residual stream d_model = 640.

Rispetto agli approcci autoregressivi iterativi, questo design consente di etichettare tutti i token in un solo passaggio, il che migliora il throughput. Rispetto agli approcci classici di preaddestramento con masked-language-model, questa è una conversione post-addestramento di un modello autoregressivo anziché un setup nativo di masked-LM.

Forma dell'Output

Privacy Filter può rilevare 8 categorie di span di privacy:

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