
Nur für Forschungszwecke gedachtes Toolkit zur Robustheit von KI-Wasserzeichen: lokaler Reverse-Proxy entfernt C2PA/EXIF/XMP, Unicode, Bild-/Audio-Steganografie, OOXML/PDF-Metadaten und scannt nach Trojan Source.
Universelle Middleware für KI-Herkunftsnachweis & Wasserzeichen-Sanitisierung Forschungsartefakt — nur zur Bewertung der Robustheit von Wasserzeichen.
NullOrigin ist ein Forschungsartefakt. Es wird veröffentlicht, um die akademische und unabhängige Untersuchung der Robustheit von Wasserzeichen zu unterstützen – und für keinen anderen Zweck.
Wasserzeichenschemata sind Sicherheitsaussagen, und Sicherheitsaussagen sind nur dann aussagekräftig, wenn jemand versucht hat, sie zu brechen. Die Literatur, die dieses Projekt umsetzt — Kirchenbauer et al. zu KGW, Krishna et al. zu Paraphrasierungsangriffen, Boucher & Anderson zu Trojan Source — existiert, weil Forscher funktionierende Angriffe veröffentlicht haben, damit Verteidiger echte Robustheit messen können, statt sie anzunehmen. Das ist die Tradition, zu der dieses Repository gehört.
Beabsichtigte Verwendungen
Nicht beabsichtigt und nicht unterstützt
Nichts davon ist eine technische Kontrolle darüber, wie der Code ausgeführt wird. Es ist eine Erklärung der Bedingungen, zu denen er angeboten wird, und dessen, was sein Autor unterstützen wird und was nicht. Die Software wird "WIE BESEHEN", ohne jegliche Gewährleistung bereitgestellt — siehe LICENSE.
Lies Umfang und ehrliche Grenzen, bevor du irgendeine Schlussfolgerung aus einer Zahl ziehst, die dieses Tool ausgibt. Mehrere der angegriffenen Schemata können nicht gegen einen öffentlichen Detektor verifiziert werden, und die README sagt dies deutlich, statt etwas anderes zu suggerieren.
Lies dies, bevor du Schlussfolgerungen aus irgendeiner Zahl ziehst, die dieses Tool ausgibt.
| Schicht | Was es tatsächlich tut |
|---|---|
| Unsichtbare Zeichen | Voll wirksam. Zero-Width-, Bidi-Steuer-, Varianten-Selektor- und Unicode-Tags-Block-Payloads werden vollständig entfernt, mit einem gemeldeten Zählerstand. Querschriftliche Homoglyph-Verwechslungen (Kyrillisch/Griechisch, die als ASCII erscheinen) werden gefaltet. |
| Dokumentmetadaten (.docx) | Voll wirksam. Autor, letzter Bearbeiter, Revisionszähler, Zeitstempel, Vorlage und Anwendungsversion werden aus docProps entfernt, wobei die Formatierung bytegenau erhalten bleibt. |
| C2PA / EXIF / XMP | Voll wirksam. Das Bild wird aus rohen Pixelproben in einen frischen Container neu aufgebaut, sodass signierte JUMBF-Manifeste und alle Metadaten verschwinden. Durch Tests gegen getaggte Fixtures verifiziert. |
| KGW-statistisches Wasserzeichen | Hängt vollständig vom Rewrite-Backend ab. Ohne konfiguriertes lokales Modell überlebt das statistische Wasserzeichen — das Tool sagt dies deutlich, statt etwas anderes zu suggerieren. |
| SynthID-Text / SynthID-Image / Tree-Ring | Hier nicht verifizierbar. Diese verwenden private Schlüssel und proprietäre Dekoder. NullOrigin wendet die in der Literatur beschriebenen Störungen an, aber es wird keine Behauptung aufgestellt, dass sie die echten Detektoren überwinden, weil es keinen öffentlichen Detektor gibt, gegen den gemessen werden könnte. |
| AudioSeal / SynthID-Audio | Hier nicht verifizierbar, aus demselben Grund. |
KGWStatisticalDetector ist eine mathematisch getreue, selbstkonsistente Implementierung
des Grün/Rot-Listen-Schemas von Kirchenbauer et al. über Whitespace-Token. Es ist kein
Dekoder für produktive Wasserzeichen eines Anbieters — diese basieren auf einem privaten
Geheimnis und dem eigenen BPE-Vokabular des Modells.
Sein Zweck ist es, das Benchmark real zu machen: KGWWatermarkEmbedder pflanzt ein echtes
Wasserzeichen ein, die Pipeline greift es an, und der passende Detektor misst die tatsächliche
Reduktion. Das ist eine echte Messung des Angriffs gegen dieses Schema. Es überträgt sich
nicht auf ein Anbieter-Wasserzeichen.
Der Wortschatz $V$ wird bei jedem Schritt $t$ durch einen Hash partitioniert, der mit dem vorhergehenden Kontext gespeist wird:
$$s_t = \text{Hash}(w_{t-k}, \dots, w_{t-1})$$
in eine grüne Liste $G_t$ der Größe $\gamma|V|$ und eine rote Liste $R_t$. Ein Bias $\delta > 0$ wird zu den grünen Logits addiert:
$$\tilde{l}{t,v} = \begin{cases} l{t,v} + \delta, & v \in G_t \\ l_{t,v}, & v \in R_t \end{cases}$$
Die Erkennung zählt grüne Treffer. Unter $H_0$ sind sie $\text{Binomial}(T, \gamma)$, also:
$$z = \frac{|S_G| - \gamma T}{\sqrt{T\gamma(1-\gamma)}}$$
mit $z > 4.0$ ($p < 3\times10^{-5}$) wird als synthetisch markiert.
Warum Paraphrasierung es angreift: Das Wasserzeichen lebt vollständig in lokalen N-Gramm-Übergängen. Das Umschreiben der Oberflächenform mit einem nicht wasserzeichenmarkierten Modell setzt jede Position neu. Das ist der Standard-Robustheitsangriff in der Wasserzeichenliteratur.
Warum die Länge wichtig ist: $z$ wächst mit $\sqrt{T}$. Eine Passage mit 100 Token bei einem Grünanteil von 0,70 erreicht nur $z \approx 3.9$ — unter dem Schwellenwert. Die Erkennung braucht ein paar hundert Token, und aussagekräftige Benchmark-Fixtures ebenfalls.