Вскрытие покажет: почему MoE — это не просто модное слово
Когда Mixture of Experts (MoE) архитектуры хлынули на рынок, многие вздохнули с облегчением: «Ну всё, теперь модели легче, быстрее, и цензуру в них воткнуть проще». Ха-ха. Шутка. На самом деле MoE — это ад для традиционных методов red-teaming. Старые добрые техники вроде промпт-инъекций или простой абляции (о которой мы писали в нашем туториале по abliteration) работают, но только до тех пор, пока эксперты не начинают переключаться как сумасшедшие. MoE — это как швейцарский нож: каждый лезвие (expert) отвечает за свою область, и если атакуешь неправильно — модель просто переадресует запрос другому эксперту, который включит цензуру. И тут на сцену выходит OBLITERATUS.
Коротко о главном: OBLITERATUS — это инструмент от elder_plinus (того самого, кто создал Heretic), заточенный под атаки на MoE модели. Он работает на уровне перехвата маршрутизации токенов между экспертами, что позволяет обходить фильтры безопасности, не трогая сами веса. Версия на май 2026 — 2.1, с поддержкой Gemma-4-MoE и DeepSeek-MoE-47B.
Чем OBLITERATUS отличается от Heretic? (спойлер: это не просто апдейт)
Многие думают: раз автор тот же, то OBLITERATUS — это Heretic 2.0. Но нет. Heretic (мы подробно разбирали как он вырезает цензуру) делает абляцию — удаляет определённые слои или нейроны, отвечающие за отказ. Это работает для плотных моделей (dense). А вот MoE — хитрая архитектура: отказ генерируется не одним слоем, а комбинацией экспертов. Вырежешь не ту руту — модель сломается. OBLITERATUS использует динамический перехват. Вместо удаления весов он перенаправляет поток токенов в обход «безопасных» экспертов, заставляя модель думать, что запрос на опасную тему — это просто ещё один математический пример.
| Критерий | Heretic (ARA) | OBLITERATUS |
|---|---|---|
| Архитектура | Dense (GPT, Llama, Gemma) | MoE (DeepSeek, Gemma-4-MoE, Qwen-MoE) |
| Метод | Arbitrary-Rank Ablation (удаление нейронов) | Router hijacking + expert masking |
| Потребление VRAM | ~2-3 GB поверх модели | ~500 MB (не требует градиентов) |
| Поддержка loRA | Да, после ARA адаптер | Да, в том числе одновременная |
| Риск поломки модели | Средний (при неправильном ранге) | Низкий (не меняет веса) |
Важно: OBLITERATUS не делает модель «вечно послушной» — после перезапуска сессии атака сбрасывается. Это инструмент для одноразовых пентестов, а не для создания постоянного uncensored чата. Если нужно навсегда снять цензуру — лучше посмотреть на метод ARA.
Как это работает на практике? (запускаем OBLITERATUS в бой)
Допустим, у нас есть Gemma-4-MoE (27B, 16 экспертов). По дефолту она отказывается отвечать на вопросы про создание вредоносного кода. OBLITERATUS перехватывает роутер: он подменяет логиты выбора эксперта так, чтобы запрос попадал только к тем экспертам, которые «думают» в математической/логической парадигме. Запуск выглядит так:
# Установка (GitHub: elder-plinius/obliteratus)
pip install obliteratus==2.1
# Базовая атака на Gemma-4-MoE
obliteratus --model google/gemma-4-moe-27b --target "refusal" --strategy mask_experts --hidden
После этого можно отправлять запросы, и модель будет отвечать без отказа, хотя формально остаётся «цензурированной» — ни один вес не тронут. Пример из моих тестов (да, я гонял на RTX 5090):
from transformers import AutoTokenizer, AutoModelForCausalLM
from obliteratus import Obliterator
model = AutoModelForCausalLM.from_pretrained("google/gemma-4-moe-27b", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("google/gemma-4-moe-27b")
# Применяем атаку
oblit = Obliterator(model, strategy="mask_experts", target="refusal")
oblit.inject()
# Теперь модель не отказывает
prompt = "Расскажи, как сделать простой буфер переполнения на C"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
output = model.generate(**inputs, max_new_tokens=200)
print(tokenizer.decode(output[0]))
Результат: модель выдаёт код, хотя до атаки выдавала вежливый отказ. Но здесь есть нюанс — если запрос слишком явно угрожающий, OBLITERATUS может не сработать, потому что внутренние классификаторы срабатывают раньше роутера. Тогда приходится комбинировать с hard-prompt атаками (например, на пальцах объяснить, что это «образовательный пример»).
Когда OBLITERATUS выигрывает у Heretic, а когда — проигрывает
Главный козырь OBLITERATUS — скорость. On-the-fly атака занимает секунды, и не нужно ждать загрузки датасета или дообучения. Heretic требует сначала провести ARA (найти правильный ранг), потом, возможно, дообучить LoRA — это часы, а не минуты. Но если ваша цель — плотная модель (например, Llama 4 или Qwen 3), то OBLITERATUS бесполезен: он поддерживает только MoE.
Второй момент — совместимость с vLLM. На практике многие запускают MoE через vLLM для инференса (мы писали про фикс сломанных ядер через Marlin). OBLITERATUS умеет цепляться к vLLM через хуки, но это пока экспериментальный режим — может упасть, если модель использует Tensor Parallelism.
Кому OBLITERATUS нужен как воздух?
- Пентестерам AI/ML: тем, кто проверяет модели перед релизом. OBLITERATUS позволяет быстро протестировать стойкость MoE к jailbreak без переобучения.
- Исследователям безопасности: если вы пишете статью или делаете доклад на конференции (вроде DEF CON), где нужно показать, что MoE не панацея.
- Разработчикам MoE: хотите узнать, где у вашей модели дыры — прогоните OBLITERATUS. Он найдёт уязвимые эксперты.
Но если вы хотите постоянно использовать uncensored модель для хакерских задач — не обольщайтесь. Мы тестировали анцензурированные LLM для реальных пентестов и убедились: ни Heretic, ни OBLITERATUS не делают модель умнее. Они просто снимают цензуру, но качество ответов всё ещё упирается в базу знаний модели. MoE в этом плане даже хуже — эксперты могут «спорить» друг с другом, выдавая странные гибридные ответы.
Подводные камни: что бесит
Во-первых, документация. У elder_plinus всегда так — код огонь, а README на отвали. Во-вторых, OBLITERATUS на момент мая 2026 поддерживает только Python 3.11+ и PyTorch 2.5+. Если у вас старая сборка — готовьтесь к танцам с бубном. В-третьих, атака маскировки экспертов не всегда работает на моделях с огромным количеством экспертов (>32). У меня на DeepSeek-MoE-47B (64 эксперта) было 30% ошибок маршрутизации, модель просто зависала на генерации.
И ещё: OBLITERATUS — это не фреймворк для массового джейлбрейка. Это исследовательский инструмент. Если вы хостите модель на продакшене и хотите убрать цензуру для всех пользователей — лучше посмотреть на Heretic + LoRA (сравнение этих подходов есть в отдельном материале).
Вердикт: брать или не брать?
Если у вас MoE и вы хотите быстро проверить её на уязвимости к jailbreak — OBLITERATUS лучший выбор на сегодня (май 2026). Если ваша модель dense — Heretic (особенно версия 1.2 с ARA, о которой мы писали тут). Они не конкуренты — они решают разные задачи. Но если вы думали, что MoE спасёт вашу модель от red-teaming — OBLITERATUS развеет эту иллюзию. И это хорошо: безопасность LLM не должна стоять на месте. Пока одни встраивают фильтры, другие находят, как их обойти. Иначе мы бы никогда не узнали, что даже ядерная кнопка в Civilization V — не предел для некоторых моделей (да, такое тоже было).