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
reverse-SynthID-text — Reverse Engineering von SynthID für Text | Kitploit
Tools/GitHubGitHub/aloshdenny/reverse-synthid-text
Reverse EngineeringSteganografieKryptographieMaschinelles LernenPapers & ForschungLernen & BildungKI-SicherheitAdversarial-Angriff
GitHubaloshdenny/reverse-synthid-text

reverse-SynthID-text

Reverse Engineering von SynthID für Text

Repository anzeigen
97247vor 8 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

Reverse Engineering von SynthID-Wasserzeichen

SynthID-Wasserzeichenanalyse

Übersicht

Dieses Verzeichnis enthält Werkzeuge zur Analyse und Entfernung von SynthID-Wasserzeichen aus KI-generiertem Text. Das Wasserzeichen wurde von Google DeepMind entwickelt und 2024 in Nature veröffentlicht.

Funktionsweise von SynthID

Wasserzeichen-Einbettungsprozess

  1. N-Gramm-Kontext: Für jede Token-Position betrachtet SynthID die vorherigen ngram_len - 1 Tokens (Standard: 4 Tokens) als Kontext.

  2. Hash-Berechnung: Es berechnet einen Hash aus:

    • den Kontext-Tokens
    • dem Kandidaten-Token für die nächste Stelle
    • einem Satz geheimer Wasserzeichen-Schlüssel (standardmäßig 30)
  3. G-Wert-Zuweisung: Der Hash wird verwendet, um jedem möglichen nächsten Token für jede Schlüsselebene einen binären G-Wert (0 oder 1) zuzuweisen.

  4. Wahrscheinlichkeitsänderung: Die Token-Wahrscheinlichkeiten werden so geändert, dass Tokens mit G-Wert = 1 bevorzugt werden:

    root@kitploit:~
    new_prob[i] = prob[i] * (1 + g[i] - mean(g * prob))
    
  5. Stichprobenziehung: Das Modell zieht Stichproben aus der geänderten Verteilung.

Erkennungsprozess

  1. Text tokenisieren
  2. Für jedes N-Gramm werden mit denselben Schlüsseln G-Werte berechnet
  3. Wenn der mittlere G-Wert signifikant größer als 0,5 ist, ist der Text mit einem Wasserzeichen versehen

Schwachstellen

1. Paraphrasierungsangriff (am effektivsten)

Wirksamkeit: 90–100 %

Das Wasserzeichen ist in der spezifischen Token-Sequenz eingebettet, nicht in der Bedeutung. Durch Paraphrasierung mit einem nicht-wasserzeichenbehafteten Modell wird die Token-Sequenz vollständig neu generiert.

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

2. Token-Substitutionsangriff

Wirksamkeit: 50–70 %

Das Ersetzen von Tokens durch Synonyme durchbricht die N-Gramm-Muster:

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

3. Homoglyphen-Angriff

Wirksamkeit: 95–100 %

Das Ersetzen von Zeichen durch visuell identische Unicode-Zeichen durchbricht den Hash:

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

4. N-Gramm-Grenzenverschiebung

Wirksamkeit: 30–50 %

Das Einfügen oder Entfernen von Wörtern verschiebt alle nachfolgenden N-Gramm-Grenzen:

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

Dateien

  • reverse_synthid.py - Haupt-Angriffswerkzeug mit mehreren Methoden
  • analyze_watermark.py - Werkzeug zur Erkennung und Analyse von Wasserzeichen
  • test_removal.py - Testskript zur Demonstration der Wasserzeichenentfernung

Verwendung

Wasserzeichen analysieren

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

Wasserzeichen entfernen

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

Test ausführen

root@kitploit:~
python analysis/test_removal.py

Vergleich von mit SynthID-Wasserzeichen versehenem und entferntem Text

Vergleich

Technische Details

Wichtige Erkenntnis: Das Wasserzeichen ist fragil

Das Wasserzeichen basiert auf:

  1. Exakten Token-Sequenzen – Jede Änderung an Tokens wirkt sich auf N-Gramme aus
  2. Kontextfenstern – Das Einfügen von Tokens verschiebt alle Kontexte
  3. Hash-Funktion – Unterschiedliche Bytes erzeugen unterschiedliche Hashes

Warum Paraphrasierung funktioniert

Wenn Sie Text paraphrasieren:

  1. Die semantische Bedeutung bleibt erhalten
  2. Aber die exakten Tokens sind völlig anders
  3. Die N-Gramm-Hashes sind völlig anders
  4. Das G-Wert-Muster wird zerstört

Theoretische Analyse

Für einen Text der Länge N mit Wasserzeichenstärke W:

  • Substitutionsrate r reduziert das Signal um etwa 1 - (1-r)^(ngram_len)
  • Einfügerate r verschiebt N*r N-Gramm-Grenzen
  • Paraphrasierung setzt im Wesentlichen W → 0 (vollständige Neugenerierung)

Einschränkungen

  1. Paraphrasierung kann Nuancen in der Bedeutung verändern
  2. Einfache Angriffe können erkennbar sein
  3. Zukünftige Wasserzeichen könnten robuster sein

Haftungsausschluss

Dieser Code dient ausschließlich zu Bildungs- und Forschungszwecken. Er demonstriert Schwachstellen in Wasserzeichenverfahren, um die Entwicklung robusterer Methoden zu unterstützen.

Referenzen

  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
Tool herunterladen