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

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

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

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

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

Категории

Все категории
Loading categories
Rubrics-as-an-Attack-Surface — Исследовательский код для Rubric-Induced Preference Drift (RIPD): эволюционный поиск рубрик, отбор с сохранением бенчмарка и оценка рассогласования политики DPO в LLM-судьях. | Kitploit
Инструменты/GitHubGitHub/zdcslab/rubrics-as-an-attack-surface
Машинное ОбучениеСтатьи и ИсследованияОбучение и ОбразованиеБезопасность ИИСостязательная Атака
GitHubzdcslab/rubrics-as-an-attack-surface

Rubrics-as-an-Attack-Surface

Исследовательский код для Rubric-Induced Preference Drift (RIPD): эволюционный поиск рубрик, отбор с сохранением бенчмарка и оценка рассогласования политики DPO в LLM-судьях.

Репозиторий

Популярное

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

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

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

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

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

Рубрики как поверхность атаки: скрытый дрейф предпочтений в LLM-судьях

📊 Датасет  •  🤖 Обученные модели  •  📝 Статья  •  💻 Репозиторий

Teaser

Этот репозиторий содержит код для статьи Rubrics as an Attack Surface: Stealthy Preference Drift in LLM Judges авторов Ruomeng Ding*, Yifei Pang*, He Sun, Yizhong Wang, Steven Wu и Zhun Deng.

Мы изучаем Rubric-Induced Preference Drift (RIPD) — дрейф предпочтений, вызванный рубриками, — в конвейерах оценки и выравнивания на основе LLM, показывая, что правки рубрик, проходящие валидацию на бенчмарке, тем не менее могут вызывать систематический направленный дрейф предпочтений в целевых доменах, который трудно обнаружить стандартными метриками. Мы также демонстрируем атаки на предпочтения на основе рубрик и показываем, как возникающее в результате смещение распространяется через последующее пост-обучение, приводя к устойчивому рассогласованию политики.

Настройка

  1. Клонируйте репозиторий Rubrics-as-an-Attack-Surface.
root@kitploit:~
    git clone https://github.com/ruomengd/Rubrics-as-an-Attack-Surface.git
    cd Rubrics-as-an-Attack-Surface
  1. Создайте окружение.
root@kitploit:~
    conda create -n rubrics python=3.9
    conda activate rubrics
    pip install -r requirements.txt

Датасет

Мы используем пять датасетов человеческих предпочтений (UltraFeedback, ChatbotArena, RMB, Anthropic hh-rlhf, PKU-SafeRLHF) для построения четырёх конфигураций «бенчмарк–цель»: Ultra-Real и Ultra-Creative для полезности (UltraFeedback → ChatbotArena), а также SafeRLHF–RMB и Anthropic–SafeRLHF для безвредности. Все данные преобразуются в единый формат попарных предпочтений; бенчмарки обеспечивают сохранение рубрик, тогда как целевые домены измеряют дрейф предпочтений, значимый для развёртывания, с экспериментами по последующей политике на Ultra-Real и Anthropic–SafeRLHF.

Скрипты

Полный конвейер обработки данных (загрузка, предобработка, фильтрация и разделение по доменам) запускается командой:

root@kitploit:~
sh ./scripts/dataset.sh

В качестве альтернативы вы можете скачать данные напрямую с Hugging Face.

Структура каталогов

После завершения работы конвейера структура каталогов выглядит так:

root@kitploit:~
data/
├── helpfulness/
│   ├── Ultra-Real/
│   │   ├── Ultra-Real-Bench/
│   │   │   ├── train.jsonl
│   │   │   ├── val.jsonl
│   │   │   └── test.jsonl
│   │   └── Ultra-Real-Target/
│   │       ├── train.jsonl
│   │       ├── val.jsonl
│   │       └── test.jsonl
│   └── ...
├── harmlessness/
│   ├── Anthropic-SafeRLHF/
│   │   ├── Anthropic-SafeRLHF-Bench/
│   │   │   ├── train.jsonl
│   │   │   ├── val.jsonl
│   │   │   └── test.jsonl
│   │   └── Anthropic-SafeRLHF-Target/
│   │       ├── train.jsonl
│   │       ├── val.jsonl
│   │       └── test.jsonl
│   └── ...

Bench vs. Target.
Для каждой конфигурации датасета Bench обозначает домен бенчмарка, используемый при разработке рубрик, тогда как Target обозначает отложенный домен развёртывания, используемый для оценки обобщения и дрейфа предпочтений. Правки рубрик валидируются исключительно на домене Bench и никогда не оптимизируются с использованием данных Target.

Разбиения данных и их использование.

  • train.jsonl: Используется для поиска и уточнения рубрик.
  • val.jsonl: Используется для отбора рубрик, обеспечивая соответствие бенчмарку.
  • test.jsonl: Используется исключительно для оценки Rubric-Induced Preference Drift (RIPD) и никогда не задействуется при редактировании рубрик.

Поиск смещённых рубрик

Код поиска рубрик находится в rubrics_search/search/ и реализует популяционную эволюционную процедуру для поиска сохраняющих бенчмарк, но смещённых к цели вариантов рубрик.

  1. Запустите эволюционный поиск для генерации рубрик-кандидатов с помощью main.py.
  2. Отберите top-k для каждого поколения с помощью select_rubrics.py.
  3. Оцените отобранные рубрики на target-val (измерьте вызванный дрейф) для последующего отбора.
  4. Оцените отобранные рубрики из target-val с помощью select_final.py для последующего отбора.

Чтобы запустить полный конвейер поиска рубрик:

root@kitploit:~
sh ./scripts/rubrics_search_helpfulness.sh
sh ./scripts/rubrics_search_harmlessness.sh

Отбор рубрик

Рубрики отбираются при ограничении сохранения бенчмарка: кандидаты должны соответствовать или превосходить согласованность исходной рубрики на отложенном валидационном разбиении бенчмарка. Среди допустимых кандидатов мы выбираем рубрику, которая максимально ухудшает согласованность на целевом валидационном разбиении.

root@kitploit:~
sh ./scripts/rubrics_selection.sh

Чтобы оценить переносимость оптимизированных рубрик, мы предоставляем скрипты для кросс-модельной оценки. Чтобы взять рубрики, оптимизированные на исходной модели (Модель A), и проверить их работу на целевой модели (Модель B):

root@kitploit:~
sh ./scripts/rubrics_cross_model_eval.sh

Оценка последующего рассогласования политики

Для экспериментов по последующему рассогласованию политики мы сосредотачиваемся на Ultra-Real (полезность) и Anthropic–SafeRLHF (безвредность), обучая модели политики непосредственно на метках предпочтений, сгенерированных отобранными рубриками.

Обучение DPO

  1. Сгенерируйте метки предпочтений с использованием отобранных рубрик:
root@kitploit:~
sh scripts/dpo_labelling.sh
  1. Обучите политику на размеченных обучающих данных:
root@kitploit:~
sh scripts/dpo_train.sh

Оценка политики

Запустите конвейер оценки (вы можете выполнить любое подмножество шагов) с помощью:

root@kitploit:~
sh scripts/dpo_eval.sh

Скрипт оценки поддерживает следующие этапы:

  • Генерация ответов модели
  • Оценивание ответов (с использованием оценщиков/моделей вознаграждения)
  • Анализ процента побед
  • Выбор Best-of-N (BoN) ответов
  • Оценка итоговых результатов с помощью стороннего судьи

Цитирование нашей работы

root@kitploit:~
@misc{ding2026rubricsattacksurfacestealthy,
      title={Rubrics as an Attack Surface: Stealthy Preference Drift in LLM Judges}, 
      author={Ruomeng Ding and Yifei Pang and He Sun and Yizhong Wang and Zhiwei Steven Wu and Zhun Deng},
      year={2026},
      eprint={2602.13576},
      archivePrefix={arXiv},
      primaryClass={cs.CR},
      url={https://arxiv.org/abs/2602.13576}, 
}
Скачать инструмент