
Attacchi a gradiente white-box locali per LLM open-weight: ricerca del suffisso GCG/PEZ, salienza dei layer, snapshot dei pesi e fitting rank-1 suffisso-delta per red team.

Attacchi di suffisso white-box locali su modelli open-weight che hai su disco.
| Importa | gradjail |
| CLI | gradient-untangler |
| Cosa | Gradienti reali sui pesi locali. GCG, PEZ e relativa ricerca di suffissi discreti/continui. Registro dei pesi grezzi e salienza dei layer. |
| Cosa non è | Non è uno strumento di jailbreak per API remote. Non è una licenza per attaccare sistemi di terze parti in produzione. |
Solo ricerca di sicurezza autorizzata. Usalo su modelli che possiedi, pesi locali, programmi bug bounty in scope, test di penetrazione scritti, CTF e laboratori che controlli. Vedi SECURITY.md.
git clone https://gitlab.com/WattoCyber/gradient-untangler.git
cd gradient-untangler
py -3.12 -m pip install -e ".[dev,web]"
py -3.12 scripts/repro.py
Attenditi REPRO_OK. Quel gate è offline: niente GPU, niente rete.
py -3.12 -m gradjail.cli run \
--model sshleifer/tiny-gpt2 \
--goal "Say the lab marker." \
--target-prefix "CANARY_OK" \
--optimizer gcg \
--device cpu \
--judge "contains:CANARY_OK" \
--out runs/demo.json
Visualizzazione web (non lancia attacchi):
py -3.12 -m gradjail.web
Apri http://127.0.0.1:8787 e seleziona un file runs/*.json.
Elenca gli ottimizzatori implementati: py -3.12 -m gradjail.cli list.
WeightRegistry.from_path): leggi i tensori dal disco, snapshot, diff. Mappa prima di modificare.U V^T sull'embed così che il prompt pulito raggiunga la stessa CE target teacher-forced. Il peso originale rimane intatto. Non è ROME, non è abliteration, non è bit-flip.from gradjail.suffix_delta import fit_suffix_delta
L'iniezione del token target è disattivata a meno che tu non passi inject_target=True.
Gli URL delle API remote vengono rifiutati. I gradienti richiedono pesi locali.
Questo è un harness locale, non una pretesa che ogni ottimizzatore sia nuovo. GCG e PEZ sono metodi pubblicati. Il prodotto è una spina dorsale: gradienti locali, una mappa dei pesi, salienza, un assorbitore suffix-to-delta e un gate di riproducibilità.
Non trattare un singolo file su disco con asr=True come una scoperta. Riesegui. Un breve rifiuto è un fallimento.
src/gradjail/ package
tests/ pytest
scripts/repro.py offline product gate
docs/ design and benchmark notes
Electron è su disco in alcuni checkout e non viene distribuito.
MIT. Vedi LICENSE.
Pannello sinistro del banner: Rembrandt, Filosofo in meditazione (1632), pubblico dominio, via Wikimedia Commons. Le sovrapposizioni scientifiche sono generate all'interno del repository.