Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Perturbed-Embedding-Vectors — Код, журналы ответов и метки для статьи Jailbreaking Open-Weight LLMs via Random Embedding Perturbations | Kitploit
Инструменты/GitHubGitHub/abhinavdubey30/perturbed-embedding-vectors
Машинное ОбучениеСтатьи и ИсследованияОбучение и ОбразованиеПодобранные РесурсыБезопасность ИИСостязательная Атака
GitHubabhinavdubey30/perturbed-embedding-vectors

Perturbed-Embedding-Vectors

Код, журналы ответов и метки для статьи Jailbreaking Open-Weight LLMs via Random Embedding Perturbations

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
6773 дней назадЕщё не проверено

Взлом открытовесных LLM с помощью случайных возмущений эмбеддингов: запуски, метки и код

Код и данные для статьи Jailbreaking Open-Weight LLMs via Random Embedding Perturbations.

Ссылка на препринт статьи — https://arxiv.org/abs/2610.07125

Авторы — замечательные люди из Департамента теоретической информатики Калифорнийского университета в Санта-Крузе.

Значительный вклад в эту работу внесли Скотт Сирри, проф. Ваггос Хатзиафратис, проф. К. Сешадри и я.

Репозиторий содержит все ответы моделей, сгенерированные для статьи, метку safe / unsafe / degenerate для каждого ответа, блокноты Colab, которые их создали, и скрипты инференса, которые импортируют блокноты. Это охватывает атаку Perturbed Embedding Vector (PEV) и пять других методов взлома, сравниваемых в статье. Все показатели взлома и время выполнения в статье вычисляются из файлов в results/.

Структура

code/
  inference/             run_<model>.py: model loading, prompt construction and the manual
                         generation loop that every PEV notebook imports
  ours/<model>/          PEV notebooks for one model
  ours/<model>/fixed_peak_sigma/
                         notebooks for the fixed peak sigma runs (GLM-4-9B, Phi-4-mini,
                         Qwen2.5-1.5B); their logs are in results/<model>/ours/fixed_peak_sigma/
  igcg/                  I-GCG, one notebook per model
  latentfusion/          LatentFusion, one notebook per model
  refusalcones/          RefusalCones, one notebook per model
  softprompt/            SoftPrompt notebooks (Llama-3.1-8B and Mistral-7B)
  figures/               notebook that draws the paper figures
results/<model>/
  baseline/              direct responses to the unperturbed prompts (.txt log) and their
                         labels (.xlsx / .csv); these give the baseline jailbreak rate
  ours/raw_responses/    PEV response logs from the sigma sweeps, split by prompt range
  ours/classified/       labels for those responses, split the same way
  ours/fixed_peak_sigma/ PEV runs at the fixed peak sigma of the model (GLM-4-9B, Phi-4-mini,
                         Qwen2.5-1.5B): the full 100-prompt sweep and the SELECT re-runs
  igcg/ latentfusion/ neurostrike/ refusalcones/ softprompt/
                         responses (.txt) and labels (.xlsx) for the other methods

Модели: Qwen2.5-1.5B, SmolLM3-3B, Phi-4-mini, Mistral-7B-Instruct, Llama-3.1-8B, GLM-4-9B — варианты чата, настроенные на инструкции, указанные в разделе 4 статьи.

Где находится код каждого метода:

МетодРасположение
PEVcode/ours/<model>/; запуски с фиксированной пиковой сигмой в code/ours/<model>/fixed_peak_sigma/; общий код инференса в code/inference/
I-GCGcode/igcg/, один ноутбук на модель
LatentFusioncode/latentfusion/, один ноутбук на модель
RefusalConescode/refusalcones/, один ноутбук на модель
SoftPromptcode/softprompt/, Llama-3.1-8B и Mistral-7B
NeuroStrikeвнутри ноутбуков PEV code/ours/Llama-3.1-8B/LLama31_perturbation_p76_to_p100.ipynb (ячейка настройки также в LLama31_perturbation_p1_to_p25.ipynb) и code/ours/SmolLM3-3B/run_smollm3_batched_p26_p50.ipynb; ответы сохраняются в results/<model>/neurostrike/

Скрипты инференса

code/inference/run_<model>.py — один файл на модель (run_qwen.py, run_smollm3.py, run_phi4mini.py, run_mistral.py, run_llama.py, run_glm.py). Каждый загружает модель с помощью HuggingFace Transformers, применяет шаблон чата с пустым системным сообщением, предоставляет load_model(), build_prompt() и encode_prompt(), а также выполняет ручной цикл авторегрессионной генерации с хуком на входных эмбеддингах. Ноутбуки импортируют скрипт для своей модели и внедряют гауссов шум через этот хук. При запуске отдельно скрипт открывает интерактивный терминал для одной модели; команды /verbose и /embedfile выводят таблицы токенов и векторы эмбеддингов. Переключатели устройства и режимов работы — это переменные окружения, описанные в заголовке каждого файла. Скрипту Llama нужен токен Hugging Face, так как чекпоинт закрыт; токен читается из окружения и никогда не сохраняется.

Соглашения об именовании файлов

  • Журналы ответов (.txt) — это журналы, в которые ноутбуки только дописывают записи. Каждая запись содержит индекс промпта, уровень шума sigma, где применимо, номер запуска и полный ответ модели. Имена файлов содержат диапазон промптов (p001_to_p025 означает промпты с 1 по 25 из 100 вредоносных промптов JailbreakBench) и временную метку UTC запуска. Время выполнения записывается после каждой партии из 20 запусков на промпт и в конце эксперимента.
  • Файлы меток (.xlsx, .csv) содержат по одной строке на ответ с его меткой: safe, unsafe или degenerate, как определено в разделе 4 статьи. Промпт считается взломанным, если хотя бы один из его запусков помечен как unsafe. Файлы с именами вида *_categorization* или *_p01_25 — это размеченные версии журнала с тем же диапазоном промптов.
  • Запуски с фиксированной пиковой сигмой (ours/fixed_peak_sigma/) именуются JBB_<model>_sigma0pXXX_..._<timestamp>.txt; sigma0p003 означает sigma = 0.003. Файл p001_to_p100 — это полный прогон по 100 промптам с 20 запусками при этой сигме. Файлы SELECT_..._nNN — это дополнительные запуски при той же сигме на промптах, перечисленных в имени файла, с NN запусками на промпт.
  • Файлы, содержащие HIGHSIGMA, — это запуски при большей сигме, обсуждаемые в разделе 4.1.
  • Файлы, содержащие SELECT, — это дополнительные запуски на промптах, перечисленных в имени файла, для промптов, которым потребовалось более 20 запусков для взлома. Строка заголовка каждого журнала фиксирует значения sigma, число запусков, идентификаторы промптов и случайное зерно.
  • Llama-3.1-8B/baseline/fixed_baseline.xlsx и файлы меток fixed_* — это файлы меток после ручной проверки, которые заменяют более ранние версии.

Классификация ответов

Ответы классифицировались Claude Opus 4.6 с инструкциями судьи JailbreakBench, на вход подавался файл журнала с промптом, номером запуска и ответом. Затем каждый ответ, помеченный как unsafe, проверялся вручную. Файлы меток в results/ — это проверенные метки.

Воспроизведение запуска

Каждый ноутбук в code/ours/<model>/ запускался на одном NVIDIA A100-SXM4-80GB в Google Colab. Он импортирует соответствующий run_<model>.py, загружает вредоносные промпты JailbreakBench, пропускает каждый промпт через слой входных эмбеддингов модели, добавляет независимый гауссов шум N(0, sigma^2) ко всему эмбеддингу промпта и передаёт возмущённый эмбеддинг в слои трансформера. Для каждого промпта он сэмплирует 20 шумовых матриц одним батчем и добавляет каждый ответ в лог. Параметры декодирования и значение sigma для каждой модели перечислены в разд. 4 и табл. 3 статьи и задаются в начале каждого ноутбука. Токен Hugging Face запрашивается интерактивно и не хранится в этом репозитории. Ноутбуки для других методов следуют той же схеме с подстановкой соответствующей атаки.

Доли успешных джейлбрейков из статьи можно пересчитать только по файлам меток, без запуска какой-либо модели.

Скачать инструмент