Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
reverse-SynthID-text — engenharia reversa do SynthID para texto | Kitploit
Ferramentas/GitHubGitHub/aloshdenny/reverse-synthid-text
Engenharia ReversaEsteganografiaCriptografiaAprendizado de MáquinaPapers e PesquisaAprendizado e EducaçãoSegurança de IAAtaque Adversário
GitHubaloshdenny/reverse-synthid-text

reverse-SynthID-text

engenharia reversa do SynthID para texto

Ver Repositório
97247há 8 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

Engenharia Reversa da Marca d'Água SynthID

Análise da Marca d'Água SynthID

Visão Geral

Este diretório contém ferramentas para analisar e remover marcas d'água SynthID de texto gerado por IA. A marca d'água foi desenvolvida pelo Google DeepMind e publicada na Nature (2024).

Como o SynthID Funciona

Processo de Marcação

  1. Contexto de N-gramas: Para cada posição de token, o SynthID considera os ngram_len - 1 tokens anteriores (padrão: 4 tokens) como contexto.

  2. Cálculo de Hash: Ele calcula um hash de:

    • Os tokens de contexto
    • O próximo token candidato
    • Um conjunto de chaves secretas de marcação (30 por padrão)
  3. Atribuição de valor G: O hash é usado para atribuir um valor g binário (0 ou 1) a cada possível próximo token para cada camada de chave.

  4. Modificação de Probabilidade: As probabilidades dos tokens são modificadas para favorecer tokens com valor g = 1:

    root@kitploit:~
    new_prob[i] = prob[i] * (1 + g[i] - mean(g * prob))
    
  5. Amostragem: O modelo amostra da distribuição modificada.

Processo de Detecção

  1. Tokenizar o texto
  2. Para cada n-grama, calcular os valores g usando as mesmas chaves
  3. Se a média dos valores g for significativamente > 0,5, o texto está marcado

Vulnerabilidades

1. Ataque de Paráfrase (Mais Eficaz)

Eficácia: 90-100%

A marca d'água está embutida na sequência específica de tokens, não no significado. Parafrasear com um modelo não marcado regenera completamente a sequência de tokens.

root@kitploit:~
from reverse_synthid import ParaphrasingAttack
attack = ParaphrasingAttack(model_name="gpt2")
clean_text = attack.paraphrase(watermarked_text)

2. Ataque de Substituição de Token

Eficácia: 50-70%

Substituir tokens por sinônimos quebra os padrões de n-gramas:

root@kitploit:~
from reverse_synthid import TokenPerturbationAttack
attack = TokenPerturbationAttack()
clean_text = attack.substitute_synonyms(text, rate=0.3)

3. Ataque de Homóglifo

Eficácia: 95-100%

Substituir caracteres por caracteres Unicode visualmente idênticos quebra o hash:

root@kitploit:~
from reverse_synthid import HomoglyphAttack
attack = HomoglyphAttack()
clean_text = attack.apply_homoglyphs(text, rate=0.1)

4. Deslocamento de Limite de N-grama

Eficácia: 30-50%

Inserir ou remover palavras desloca todos os limites subsequentes de n-gramas:

root@kitploit:~
from reverse_synthid import TokenPerturbationAttack
attack = TokenPerturbationAttack()
clean_text = attack.insert_fillers(text, rate=0.1)

Arquivos

  • reverse_synthid.py - Conjunto principal de ferramentas de ataque com múltiplos métodos
  • analyze_watermark.py - Ferramenta de detecção e análise de marca d'água
  • test_removal.py - Script de teste demonstrando remoção de marca d'água

Uso

Analisar Marca d'Água

root@kitploit:~
python analyze_watermark.py --input text.txt --verbose

Remover Marca d'Água

root@kitploit:~
# Usando paráfrase (mais eficaz, requer modelo)
python analysis/reverse_synthid.py --input text.txt --output clean.txt --method paraphrase

# Usando perturbação (nenhum modelo necessário)
python analysis/reverse_synthid.py --input text.txt --output clean.txt --method perturb

# Usando ataque combinado
python reverse_synthid.py --input text.txt --output clean.txt --method combined

Executar Teste

root@kitploit:~
python analysis/test_removal.py

Comparando Texto com e sem Marca d'Água SynthID

Comparação

Detalhes Técnicos

Insight Principal: A Marca d'Água é Frágil

A marca d'água depende de:

  1. Sequências exatas de tokens - Qualquer alteração nos tokens afeta os n-gramas
  2. Janelas de contexto - Inserir tokens desloca todos os contextos
  3. Função hash - Bytes diferentes produzem hashes diferentes

Por que a Paráfrase Funciona

Quando você parafraseia um texto:

  1. O significado semântico é preservado
  2. Mas os tokens exatos são completamente diferentes
  3. Os hashes dos n-gramas são completamente diferentes
  4. O padrão de valor g é destruído

Análise Teórica

Para um texto de comprimento N com força de marca d'água W:

  • Taxa de substituição r reduz o sinal em aproximadamente 1 - (1-r)^(ngram_len)
  • Taxa de inserção r desloca N*r limites de n-gramas
  • Paráfrase essencialmente define W → 0 (regeneração completa)

Limitações

  1. A paráfrase pode alterar nuances de significado
  2. Ataques simples podem ser detectáveis
  3. Marcas d'água futuras podem ser mais robustas

Aviso Legal

Este código é apenas para fins educacionais e de pesquisa. Ele demonstra vulnerabilidades em esquemas de marca d'água para ajudar a desenvolver métodos mais robustos.

Referências

  1. Dathathri et al. "Scalable watermarking for identifying large language model outputs." Nature 634, 818-823 (2024).
  2. https://github.com/google-deepmind/synthid-text
Baixar ferramenta