Суть
Методы работы с внутренним состоянием модели называют representation engineering: вместо промптов и файнтюна манипулируют активациями напрямую. Abliteration — самый наглядный представитель (arXiv 2406.11717).
Находится вектор, соответствующий поведению «отказать». Дальше он используется в обе стороны:
−вектор→ встроенное выравнивание фактически отключается, модель отвечает на то, на что отказывалась;+вектор→ отказы срабатывают на чём угодно, вплоть до приветствия.
Ограничение: нужны открытые веса. Для API-моделей метод неприменим, поэтому в защите он — дополнительный сенсор, а не замена внешнему guardrail.
Почему это важно для защиты, а не только для атаки
Из существования такого вектора следует практический вывод: выравнивание внутри открытой модели снимается механически и дёшево. Значит, безопасность нельзя закладывать только в веса — она обязана жить снаружи, в отдельно версионируемом слое (Guardrails). Это тот же аргумент, что и alignment tax в Over Refusal, но с другой стороны: там внутренняя защита вредит качеству, здесь — легко обходится.
Соседний метод: TaskTracker
White-box детекция инъекций от Microsoft (arXiv 2406.00799), работающая на том же принципе — смотреть в активации, а не в текст.
Идея: сравнить внутреннее состояние модели до чтения внешнего документа и после. Если текст заставил её решать другую задачу, активации дрейфуют, и этот скачок ловит линейная проба — до того, как модель сформировала ответ и вызвала инструмент.
Ценность в моменте срабатывания. Blackbox-детекторы видят только текст и часто ловят проблему постфактум: ответ ещё выглядит безопасным, а состояние уже смещено, и неправильным будет следующий tool call (см. Tool Hijacking). White-box успевает раньше.
| Blackbox | White-box (TaskTracker, abliteration-сенсор) | |
|---|---|---|
| Что видит | Только текст | Внутреннее состояние модели |
| Где ставится | Вокруг любого провайдера | Только на открытых весах |
| Когда срабатывает | По входу или готовому выходу | До ответа и до вызова инструмента |
Переносится ли вектор между версиями
Сверка 2026-08. Ответ распадается надвое, и смешивать половины опасно.
Направление для детекции переносится хорошо. Пробник, настроенный на базовой модели, работает на её instruction-tuned и даже на аблитерированной версии с деградацией не более 0.010 AUROC; аблитерированные варианты отличаются от instruction-tuned в пределах ±0.003. То есть детектор отказа переживает и дообучение, и саму аблитерацию — сигнал остаётся в активациях, даже когда поведение отказа снято. Отдельно показано, что вектор, найденный на одном языке, переносится на другие языки той же модели.
Направление для вмешательства — не переносится. Пост-тренировка существенно меняет само направление отказа относительно базовой модели: косинусная близость низкая, и перенос «вперёд» неэффективен. Практически это значит, что вектор, вычисленный на базовой модели, не снимет отказ у дообученной — его надо извлекать заново на той стадии выравнивания, с которой работаешь.
Отсюда же следует, что отказ не сводится к одному направлению — это отдельный результат, из-за которого простые схемы «вычесть один вектор» работают неполно и порождают методы защиты через альтернативные направления отказа.
Для защиты вывод удобный: детектор строится один раз и переживает обновления модели, а атака требует пересчёта под каждую версию.
Соседний метод в проде: чего он стоит
TaskTracker (см. выше) применим к open-weight моделям в проде, и накладные расходы у него минимальные по устройству метода: линейный классификатор на дельте активаций до и после обработки внешних данных — модель не дообучается и ничего не генерирует. Считать нечего сверх того, что и так посчитано прямым проходом.
Ограничение у него не в производительности, а архитектурное: нужен доступ к внутренним активациям, то есть свой хостинг открытых весов. Через API провайдера метод неприменим в принципе, каким бы дешёвым он ни был.
Заявленное качество — околопредельный ROC AUC на выборке вне обучающего распределения, причём метод обобщается на инъекции и джейлбрейки, не обучаясь на них: он ловит не атаку, а факт смены задачи.
Связано с
Model Poisoning — тот же эффект, полученный чужими руками через обучающие данные
Jailbreak Attacks — abliteration как способ обхода выравнивания
Injection Detection — TaskTracker как white-box ветвь детекции
Guardrails — почему защита выносится наружу, раз веса можно править
Over Refusal — вторая причина не полагаться на внутреннее выравнивание
Local LLM Deployment — метод применим только там, где веса у вас на руках