Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
nullorigin — Toolkit per la robustezza dei watermark AI, solo a scopo di ricerca: un reverse proxy locale rimuove C2PA/EXIF/XMP, Unicode, steganografia di immagini/audio, metadati OOXML/PDF e analizza Trojan Source. | Kitploit
Strumenti/GitHubGitHub/rakib-nyc/nullorigin
Analisi Statica del Codice (SAST)Proxy Web e IntercettazioneSteganografiaPrivacyApprendimento e FormazioneSicurezza dell'IAAttacco Avversario
GitHubrakib-nyc/nullorigin

nullorigin

Toolkit per la robustezza dei watermark AI, solo a scopo di ricerca: un reverse proxy locale rimuove C2PA/EXIF/XMP, Unicode, steganografia di immagini/audio, metadati OOXML/PDF e analizza Trojan Source.

Vedi Repository
4401 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

NullOrigin 🛡️

Middleware universale per la provenienza AI e la sanificazione dei watermark Artefatto di ricerca — solo per la valutazione della robustezza del watermarking.

CI License: Apache 2.0 Python 3.10+ Tests Code style: ruff


🔬 Solo uso di ricerca

NullOrigin è un artefatto di ricerca. Viene pubblicato per supportare lo studio accademico e indipendente della robustezza del watermarking, e per nessun altro scopo.

Gli schemi di watermarking sono affermazioni di sicurezza, e le affermazioni di sicurezza sono significative solo dopo che qualcuno ha provato a romperle. La letteratura che questo progetto implementa — Kirchenbauer et al. su KGW, Krishna et al. sugli attacchi di parafrasi, Boucher & Anderson su Trojan Source — esiste perché i ricercatori hanno pubblicato attacchi funzionanti affinché i difensori potessero misurare la robustezza reale invece di assumerla. È questa la tradizione a cui appartiene questo repository.

Usi previsti

  • Misurare quanto la rilevabilità di un watermark degradi sotto un attacco dichiarato
  • Riprodurre ed estendere i risultati di robustezza pubblicati
  • Valutare la perdita di metadati di provenienza nei propri documenti prima di condividerli
  • Verificare il codice sorgente per attacchi Trojan Source e omoglifi (CVE-2021-42574, CVE-2021-42694)
  • Insegnare come funzionano questi schemi e dove reggono

Non previsto e non supportato

  • Spacciare il lavoro generato come proprio dove una persona o un'istituzione ti ha chiesto di non farlo
  • Eludere i segnali di provenienza su contenuti che intendi travisare
  • Rimuovere l'attribuzione da opere che non sono tue
  • Aggirare qualsiasi policy di piattaforma, licenza o integrità accademica

Nulla di quanto scritto qui è un controllo tecnico su come il codice viene eseguito. È una dichiarazione dei termini con cui viene offerto e di ciò che il suo autore supporterà o meno. Il software è fornito "AS IS", senza garanzie di alcun tipo — vedi LICENSE.

Leggi Scopo e limiti onesti prima di trarre qualsiasi conclusione da un numero stampato da questo strumento. Diversi degli schemi presi di mira non possono essere verificati con un rilevatore pubblico, e il README lo dice esplicitamente piuttosto che suggerire il contrario.


Contenuti

  • Solo uso di ricerca
  • Scopo e limiti onesti
  • Fondamenti teorici
  • Installazione
  • Avvio rapido
  • Docker
  • Distribuzione oltre localhost
  • CLI
  • Benchmarking
  • Fedeltà semantica
  • Configurazione
  • Risoluzione dei problemi
  • Architettura
  • Test
  • Citazione e riutilizzo
  • Stato del progetto
  • Riferimenti
  • Nota legale e attribuzione

⚠️ Scopo e limiti onesti

Leggi questo prima di trarre conclusioni da qualsiasi numero stampato da questo strumento.

LivelloCosa fa realmente
Caratteri invisibiliPienamente efficace. I payload con larghezza zero, controllo bidi, selettori di variante e blocco Unicode Tags vengono rimossi completamente, con un conteggio riportato. I confondibili omoglifi tra scritture diverse (cirillico/greco resi come ASCII) vengono normalizzati.
Metadati del documento (.docx)Pienamente efficace. Autore, ultimo editor, numero di revisioni, timestamp, modello e versione dell'applicazione vengono cancellati da docProps, con la formattazione preservata byte per byte.
C2PA / EXIF / XMPPienamente efficace. L'immagine viene ricostruita da campioni di pixel grezzi in un contenitore nuovo, quindi i manifest JUMBF firmati e tutti i metadati spariscono. Verificato tramite test su fixture etichettati.
Watermark statistico KGWDipende interamente dal backend di riscrittura. Senza un modello locale configurato, il watermark statistico sopravvive — lo strumento lo dice esplicitamente piuttosto che suggerire il contrario.
SynthID-Text / SynthID-Image / Tree-RingNon verificabile qui. Questi usano chiavi private e decoder proprietari. NullOrigin applica le perturbazioni descritte dalla letteratura, ma non viene fatta alcuna affermazione che sconfiggano i rilevatori reali, perché non esiste un rilevatore pubblico con cui misurarli.
AudioSeal / SynthID-AudioNon verificabile qui, per lo stesso motivo.

Informazioni sul rilevatore KGW

KGWStatisticalDetector è un'implementazione matematicamente fedele e autoconsistente dello schema green/red-list di Kirchenbauer et al. sui token di spazio bianco. Non è un decoder per il watermark di produzione di alcun fornitore — questi si basano su un segreto privato e il vocabolario BPE del modello stesso.

Il suo scopo è rendere il benchmark reale: KGWWatermarkEmbedder inserisce un watermark genuino, la pipeline lo attacca e il rilevatore corrispondente misura la riduzione effettiva. Questa è una misurazione vera dell'attacco contro questo schema. Non si trasferisce al watermark di un fornitore.


📖 Fondamenti teorici

Testo — green/red list KGW

Il vocabolario $V$ viene partizionato a ogni passo $t$ da un hash inizializzato sul contesto precedente:

$$s_t = \text{Hash}(w_{t-k}, \dots, w_{t-1})$$

in una lista verde $G_t$ di dimensione $\gamma|V|$ e una lista rossa $R_t$. Un bias $\delta > 0$ viene aggiunto ai logit verdi:

$$\tilde{l}{t,v} = \begin{cases} l{t,v} + \delta, & v \in G_t \\ l_{t,v}, & v \in R_t \end{cases}$$

La rilevazione conta i successi verdi. Sotto $H_0$ sono $\text{Binomial}(T, \gamma)$, quindi:

$$z = \frac{|S_G| - \gamma T}{\sqrt{T\gamma(1-\gamma)}}$$

con $z > 4.0$ ($p < 3\times10^{-5}$) segnalato come sintetico.

Perché la parafrasi lo attacca: il watermark vive interamente nelle transizioni n-gram locali. Riscrivere la forma superficiale con un modello non marcato re-inizializza ogni posizione. Questo è l'attacco di robustezza standard nella letteratura sul watermarking.

Perché la lunghezza è importante: $z$ cresce come $\sqrt{T}$. Un passaggio di 100 token a una frazione verde di 0,70 raggiunge solo $z \approx 3,9$ — sotto la soglia. La rilevazione richiede qualche centinaio di token, e così anche i fixture di benchmark significativi.

Immagine — C2PA e embedding nel dominio delle frequenze

  • C2PA / JUMBF: manifest firmati nei segmenti JPEG APP11, chunk PNG tEXt/iTXt, o box c2pa WebP/AVIF. Poiché la firma copre i dati dei pixel, la ricodifica da un buffer di campioni nudo lo rimuove senza dover analizzare affatto JUMBF.
  • SynthID-Image: spostamenti nei coefficienti DCT/DWT. Attaccato tramite soft-thresholding delle sottobande di dettaglio ad alta frequenza.
  • Tree-Ring: un pattern a simmetria circolare nel latente iniziale della diffusione, che sopravvive come struttura coerente nella fase di Fourier. Attaccato randomizzando la fase in anelli a media frequenza preservando la magnitudine — motivo per cui l'immagine rimane visivamente identica.

Audio — AudioSeal / SynthID-Audio

Scarica lo strumento