
Attaques locales par gradient en boîte blanche pour les LLM à poids ouverts : recherche de suffixes GCG/PEZ, saillance des couches, instantanés de poids et ajustement suffixe-vers-delta de rang 1 pour les red teams.

Attaques par suffixe white-box locales sur les modèles open-weight que vous possédez sur disque.
| Import | gradjail |
| CLI | gradient-untangler |
| Quoi | De vrais gradients sur les poids locaux. GCG, PEZ et recherche de suffixe discrète/continue associée. Registre brut des poids et saillance des couches. |
| Ce que ce n'est pas | Pas un outil de jailbreak par API distante. Pas une licence pour attaquer une production tierce. |
Recherche en sécurité autorisée uniquement. Utilisez-le sur des modèles que vous possédez, des poids locaux, des programmes de bug bounty dans le périmètre, des pentests écrits, des CTF et des laboratoires que vous contrôlez. Voir 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
Attendez-vous à REPRO_OK. Ce portail est hors ligne : pas de GPU, pas de réseau.
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
Suivi web (ne lance pas d'attaques) :
py -3.12 -m gradjail.web
Ouvrez http://127.0.0.1:8787 et choisissez un fichier runs/*.json.
Listez les optimiseurs implémentés : py -3.12 -m gradjail.cli list.
WeightRegistry.from_path) : lire les tenseurs depuis le disque, instantané, diff. Cartographier avant de modifier.U V^T sur l'embedding pour que le prompt propre atteigne la même CE cible teacher-forced. Le poids d'origine reste intact. Pas de ROME, pas d'abliteration, pas de bit-flip.from gradjail.suffix_delta import fit_suffix_delta
L'injection de jeton cible est désactivée sauf si vous passez inject_target=True.
Les URL d'API distantes sont rejetées. Les gradients nécessitent des poids locaux.
C'est un harnais local, pas une affirmation que chaque optimiseur est nouveau. GCG et PEZ sont des méthodes publiées. Le produit est une colonne vertébrale unique : gradients locaux, carte des poids, saillance, absorbeur suffixe-vers-delta et portail de reproduction.
Ne considérez pas un simple fichier disque asr=True comme une constatation. Relancez. Un refus court est un échec.
src/gradjail/ package
tests/ pytest
scripts/repro.py offline product gate
docs/ design and benchmark notes
Electron est présent sur disque dans certains checkouts, mais n'est pas distribué.
MIT. Voir LICENSE.
Panneau gauche de la bannière : Rembrandt, Philosophe en méditation (1632), domaine public, via Wikimedia Commons. Les incrustations scientifiques sont générées dans l'arborescence.