
Локальные атаки с белым ящиком на основе градиентов для open-weight LLM: поиск суффиксов GCG/PEZ, значимость слоёв, снимки весов и ранговое-1 согласование суффикса с дельтой для red team-команд.

Локальные white-box атаки с суффиксами на open-weight модели, которые хранятся у вас на диске.
| Импорт | gradjail |
| CLI | gradient-untangler |
| Что это | Настоящие градиенты на локальных весах. GCG, PEZ и смежные дискретные/непрерывные поиски суффиксов. Реестр сырых весов и значимость слоёв. |
| Чем это не является | Не инструмент для джейлбрейка через удалённый API. Не разрешение атаковать сторонний продакшн. |
Только авторизованные исследования безопасности. Используйте на моделях, которыми вы владеете, локальных весах, разрешённых программах bug bounty, письменных пентестах, CTF и лабораториях под вашим контролем. См. 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
Ожидается вывод REPRO_OK. Эта проверка полностью офлайн: ни GPU, ни сети.
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
Веб-слежение (атаки не запускаются):
py -3.12 -m gradjail.web
Откройте http://127.0.0.1:8787 и выберите файл runs/*.json.
Список реализованных оптимизаторов: py -3.12 -m gradjail.cli list.
WeightRegistry.from_path): чтение тензоров с диска, снимки, сравнение. Картируйте перед изменениями.U V^T к эмбеддингу, чтобы чистый промпт достигал того же целевого CE с teacher-forcing. Исходный вес не трогается. Это не ROME, не abliteration и не переворот битов.from gradjail.suffix_delta import fit_suffix_delta
Инъекция целевого токена отключена, пока вы не передадите inject_target=True.
URL удалённых API отклоняются. Градиенты требуют локальных весов.
Это локальный испытательный стенд, а не заявление о новизне каждого оптимизатора. GCG и PEZ — опубликованные методы. Продукт — единый каркас: локальные градиенты, карта весов, значимость, поглотитель suffix-to-delta и контроль воспроизводимости.
Не считайте один файл на диске с asr=True находкой. Повторяйте запуск. Короткий отказ — это промах.
src/gradjail/ package
tests/ pytest
scripts/repro.py offline product gate
docs/ design and benchmark notes
Electron лежит на диске в некоторых клонах репозитория, но не поставляется.
MIT. См. LICENSE.
Левая панель баннера: Рембрандт, «Философ в размышлении» (1632), общественное достояние, через Wikimedia Commons. Научные наложения генерируются внутри проекта.