Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
reverse-SynthID-text — ingeniería inversa de SynthID para texto | Kitploit
Herramientas/GitHubGitHub/aloshdenny/reverse-synthid-text
Ingeniería InversaEsteganografíaCriptografíaAprendizaje AutomáticoPapers e InvestigaciónAprendizaje y EducaciónSeguridad de IAAtaque Adversario
GitHubaloshdenny/reverse-synthid-text

reverse-SynthID-text

ingeniería inversa de SynthID para texto

Ver Repositorio
97248hace 8 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Ingeniería Inversa de la Marca de Agua SynthID

Análisis de la Marca de Agua SynthID

Resumen

Este directorio contiene herramientas para analizar y eliminar marcas de agua SynthID de texto generado por IA. La marca de agua fue desarrollada por Google DeepMind y publicada en Nature (2024).

Cómo Funciona SynthID

Proceso de Marcado

  1. Contexto de N-gramas: Para cada posición de token, SynthID considera los ngram_len - 1 tokens anteriores (por defecto: 4 tokens) como contexto.

  2. Cálculo del Hash: Calcula un hash de:

    • Los tokens de contexto
    • El token candidato siguiente
    • Un conjunto de claves secretas de marcado (30 por defecto)
  3. Asignación de Valor g: El hash se utiliza para asignar un valor g binario (0 o 1) a cada posible token siguiente para cada capa de clave.

  4. Modificación de Probabilidad: Las probabilidades de los tokens se modifican para favorecer tokens con valor g = 1:

    root@kitploit:~
    new_prob[i] = prob[i] * (1 + g[i] - mean(g * prob))
    
  5. Muestreo: El modelo muestrea de la distribución modificada.

Proceso de Detección

  1. Tokenizar el texto
  2. Para cada n-grama, calcular valores g usando las mismas claves
  3. Si el valor g medio es significativamente > 0.5, el texto tiene marca de agua

Vulnerabilidades

1. Ataque de Paráfrasis (Más Efectivo)

Efectividad: 90-100%

La marca de agua está incrustada en la secuencia de tokens específica, no en el significado. Parafrasear con un modelo no marcado regenera completamente la secuencia de tokens.

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

2. Ataque de Sustitución de Tokens

Efectividad: 50-70%

Reemplazar tokens con sinónimos rompe los patrones de n-gramas:

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

3. Ataque de Homoglifos

Efectividad: 95-100%

Reemplazar caracteres con caracteres Unicode visualmente idénticos rompe el hash:

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

4. Desplazamiento de Límite de N-gramas

Efectividad: 30-50%

Insertar o eliminar palabras desplaza todos los límites de n-gramas subsiguientes:

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

Archivos

  • reverse_synthid.py - Kit de herramientas de ataque principal con múltiples métodos
  • analyze_watermark.py - Herramienta de detección y análisis de marcas de agua
  • test_removal.py - Script de prueba que demuestra la eliminación de marcas de agua

Uso

Analizar Marca de Agua

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

Eliminar Marca de Agua

root@kitploit:~
# Using paraphrasing (most effective, requires model)
python analysis/reverse_synthid.py --input text.txt --output clean.txt --method paraphrase

# Using perturbation (no model needed)
python analysis/reverse_synthid.py --input text.txt --output clean.txt --method perturb

# Using combined attack
python reverse_synthid.py --input text.txt --output clean.txt --method combined

Ejecutar Prueba

root@kitploit:~
python analysis/test_removal.py

Comparación de Texto con Marca de Agua SynthID vs Sin Marca

Comparación

Detalles Técnicos

Idea Clave: La Marca de Agua es Frágil

La marca de agua depende de:

  1. Secuencias exactas de tokens - Cualquier cambio en los tokens afecta a los n-gramas
  2. Ventanas de contexto - Insertar tokens desplaza todos los contextos
  3. Función hash - Diferentes bytes producen hashes diferentes

Por Qué Funciona la Paráfrasis

Cuando parafraseas texto:

  1. El significado semántico se conserva
  2. Pero los tokens exactos son completamente diferentes
  3. Los hashes de n-gramas son completamente diferentes
  4. El patrón de valores g se destruye

Análisis Teórico

Para un texto de longitud N con fuerza de marca de agua W:

  • Tasa de sustitución r reduce la señal aproximadamente en 1 - (1-r)^(ngram_len)
  • Tasa de inserción r desplaza N*r límites de n-gramas
  • Paráfrasis esencialmente establece W → 0 (regeneración completa)

Limitaciones

  1. La paráfrasis puede cambiar matices en el significado
  2. Los ataques simples pueden ser detectables
  3. Las marcas de agua futuras pueden ser más robustas

Descargo de Responsabilidad

Este código es solo para fines educativos y de investigación. Demuestra vulnerabilidades en esquemas de marcas de agua para ayudar a desarrollar métodos más robustos.

Referencias

  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
Descargar herramienta