Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
privacy-filter — Modelo bidirecional de classificação de tokens para detecção e mascaramento de PII em texto, com CLI para redação, avaliação e ajuste fino on-premises. | Kitploit
Ferramentas/GitHubGitHub/openai/privacy-filter
Ferramentas DefensivasExfiltração de DadosColeta de InformaçõesPrivacidadeDetecção de SegredosAprendizado de MáquinaSegurança de IA
GitHubopenai/privacy-filter

privacy-filter

Modelo bidirecional de classificação de tokens para detecção e mascaramento de PII em texto, com CLI para redação, avaliação e ajuste fino on-premises.

Ver Repositório
2.7k24527há 5 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

OpenAI Privacy Filter

O OpenAI Privacy Filter é um modelo bidirecional de classificação de tokens para detecção e mascaramento de informações de identificação pessoal (PII) em texto. Ele é destinado a fluxos de trabalho de sanitização de dados de alto rendimento, nos quais as equipes precisam de um modelo que possam executar localmente (on-premises), que seja rápido, sensível ao contexto e ajustável.

O OpenAI Privacy Filter é pré-treinado de forma autorregressiva para chegar a um checkpoint com arquitetura semelhante ao gpt-oss, embora de tamanho menor. Em seguida, convertemos esse checkpoint em um classificador bidirecional de tokens sobre uma taxonomia de rótulos de privacidade e realizamos pós-treinamento com uma perda de classificação supervisionada. (Para detalhes de arquitetura sobre o gpt-oss, consulte o model card do gpt-oss.) Em vez de gerar texto token a token, este modelo rotula uma sequência de entrada em uma única passagem direta (forward pass) e, em seguida, decodifica spans coerentes com um procedimento Viterbi restrito. Para cada token de entrada, o modelo prevê uma distribuição de probabilidade sobre a taxonomia de rótulos, que consiste em 8 categorias de saída descritas abaixo.

Destaques:

  • Licença permissiva Apache 2.0: ideal para experimentação, personalização e implantação comercial.
  • Tamanho reduzido: executa em um navegador web ou em um laptop – 1,5B de parâmetros no total e 50M de parâmetros ativos.
  • Ajustável (fine-tunable): adapte o modelo a distribuições de dados específicas por meio de fine-tuning fácil e com eficiência de dados.
  • Contexto longo: janela de contexto de 128.000 tokens permite processar textos longos com alto rendimento e sem chunking.
  • Controle em tempo de execução: configure tradeoffs de precisão/recall e comprimentos de spans detectados por meio de pontos de operação predefinidos.

Este Repositório

Este repositório contém o código local, a CLI e os ativos de exemplo usados para executar, avaliar e fazer fine-tuning de checkpoints do Privacy Filter. Ele é destinado a equipes que desejam inspecionar a implementação diretamente e operar o modelo em seu próprio ambiente.

Recursos do repositório: License e Security Policy.

Como Usar

  1. Instale o pacote localmente:
pip install -e .

Depois disso, você terá um script Python opf que pode ser executado diretamente ou via python -m opf. O script pode ser usado de 3 maneiras distintas, conforme descrito abaixo.

  1. Execute a redação pontual (one-shot redaction):

Por padrão, opf procura um modelo no diretório apontado pela variável OPF_CHECKPOINT, ou em ~/.opf/privacy_filter. Se um modelo não for encontrado no local ~/.opf/privacy_filter, ele será baixado.

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

O código suporta execução tanto em GPU (por padrão) quanto em CPU. Para executar em CPU, use a flag --device cpu:

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

Para substituir o checkpoint padrão, passe --checkpoint:

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

O modo de redação suporta redigir um arquivo inteiro de uma só vez

opf -f /path/to/file

A redação também pode ser realizada via pipes, para suportar one-liners complexos:

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

Se nenhuma entrada for fornecida, opf iniciará no modo interativo. Nesse modo, para cada exemplo de entrada, a CLI imprime uma saída JSON estruturada, usando pré-visualizações com códigos de cores ANSI se o terminal suportar. Essas opções podem ser controladas por flags.

Consulte opf redact --help para mais flags e informações sobre o modo de redação.

  1. Execute a avaliação em um conjunto de dados rotulado:
opf eval examples/data/sample_eval_five_examples.jsonl

Os fixtures de avaliação de exemplo em examples/data/sample_eval_five_examples*.jsonl são apenas dados sintéticos de exemplo e não descrevem pessoas reais ou registros sensíveis reais. Consulte examples/data/README.md.

Consulte opf eval --help para mais flags e informações sobre o modo de avaliação.

  1. Faça fine-tuning em seu próprio conjunto de dados rotulado:
opf train /path/to/train.jsonl --output-dir /path/to/finetuned_checkpoint

Consulte opf train --help para mais flags e informações sobre o modo de fine-tuning.

Estrutura

  • opf/__main__.py: ponto de entrada unificado da CLI para os modos redact, eval e train.
  • opf/_api.py: API voltada para Python sobre a pilha de runtime e decodificação.
  • opf/_cli/: análise de argumentos de linha de comando e auxiliares de renderização de terminal.
  • opf/_core/: carregamento de runtime, conversão de spans e lógica de decodificação compartilhada.
  • opf/_eval/: carregamento de conjuntos de dados, pré-processamento, métricas e executores de avaliação.
  • opf/_train/: análise de argumentos de fine-tuning local e executores de treinamento.
  • opf/_model/: implementação do transformer, configuração de checkpoint e carregamento de pesos.
  • examples/data/: arquivos de avaliação de exemplo e conjuntos de dados de demonstração de fine-tuning reproduzíveis.
  • examples/scripts/finetuning/: harnesses executáveis de demonstração de fine-tuning.
  • FINETUNING.md: guia focado no fluxo de trabalho de fine-tuning e nos scripts de demonstração.
  • OUTPUT_SCHEMAS.md: formatos de resposta JSON e payload de exportação.
  • EVAL_AND_OUTPUT_MODES.md: descrição dos modos de saída para redação e avaliação.

Detalhes do Modelo

Descrição do Modelo

O Privacy Filter é um modelo bidirecional de classificação de tokens com decodificação de spans. Ele é treinado em fases, começando com pré-treinamento autorregressivo. O modelo de linguagem pré-treinado é então modificado e pós-treinado como um classificador bidirecional de tokens com atenção em banda (banded attention) de tamanho de banda 128 (janela de atenção efetiva: 257 tokens, incluindo o próprio). Isso significa:

  • O modelo base é um checkpoint pré-treinado autorregressivo.
  • A cabeça de saída do modelo de linguagem é substituída por uma cabeça de classificação de tokens sobre rótulos de privacidade.
  • O pós-treinamento é uma classificação supervisionada em nível de token, em vez de previsão do próximo token.
  • A inferência aplica decodificação de sequência restrita para produzir rótulos de span BIOES (Begin, Inside, Outside, End, Single) coerentes.

Arquiteturalmente, a implementação neste repositório é uma pilha no estilo encoder transformer com pré-norm, com:

  • embeddings de tokens
  • 8 blocos transformer repetidos
  • atenção de consulta agrupada (grouped-query attention) com embeddings posicionais rotativos, com 14 cabeças de consulta e 2 cabeças KV (tamanho do grupo = 7 consultas por cabeça KV)
  • blocos feed-forward de mistura esparsa de especialistas (mixture-of-experts) com 128 especialistas no total (roteamento top-4 por token)
  • uma cabeça final de classificação de tokens sobre rótulos de privacidade (em vez de tokens de vocabulário de linguagem natural), com largura do fluxo residual d_model = 640.

Em relação a abordagens autorregressivas iterativas, este design permite que todos os tokens sejam rotulados em uma única passagem, o que melhora o rendimento. Em relação a abordagens clássicas de pré-treinamento de modelos de linguagem mascarados (masked-LM), esta é uma conversão pós-treinamento de um modelo autorregressivo, em vez de uma configuração nativa de masked-LM.

Formato de Saída

O Privacy Filter pode detectar 8 categorias de spans de privacidade:

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