Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Rubrics-as-an-Attack-Surface — Código de pesquisa para Rubric-Induced Preference Drift (RIPD): busca evolutiva de rubricas, seleção com preservação de benchmark e avaliação de desalinhamento de política DPO em juízes LLM. | Kitploit
Ferramentas/GitHubGitHub/zdcslab/rubrics-as-an-attack-surface
Aprendizado de MáquinaPapers e PesquisaAprendizado e EducaçãoSegurança de IAAtaque Adversário
GitHubzdcslab/rubrics-as-an-attack-surface

Rubrics-as-an-Attack-Surface

Código de pesquisa para Rubric-Induced Preference Drift (RIPD): busca evolutiva de rubricas, seleção com preservação de benchmark e avaliação de desalinhamento de política DPO em juízes LLM.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
613há 6 mesesAinda não revisado

Rubricas como Superfície de Ataque: Deriva de Preferência Furtiva em Juízes de LLM

📊 Conjunto de Dados  •  🤖 Modelos Treinados  •  📝 Artigo  •  💻 Repositório

Teaser

Este repositório contém o código do artigo Rubricas como Superfície de Ataque: Deriva de Preferência Furtiva em Juízes de LLM de Ruomeng Ding*, Yifei Pang*, He Sun, Yizhong Wang, Steven Wu e Zhun Deng.

Estudamos a Deriva de Preferência Induzida por Rubricas (RIPD) em pipelines de avaliação e alinhamento baseados em LLM, mostrando que edições de rubricas que passam na validação de benchmark podem, ainda assim, induzir uma deriva de preferência sistemática e direcional em domínios-alvo que são difíceis de detectar com métricas padrão. Demonstramos ainda ataques de preferência baseados em rubricas e mostramos como o viés resultante se propaga pelo pós-treinamento downstream, levando a um desalinhamento persistente da política.

Configuração

  1. Clone o repositório 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. Crie o ambiente.
root@kitploit:~
    conda create -n rubrics python=3.9
    conda activate rubrics
    pip install -r requirements.txt

Conjunto de Dados

Utilizamos cinco conjuntos de dados de preferência humana (UltraFeedback, ChatbotArena, RMB, Anthropic hh-rlhf, PKU-SafeRLHF) para construir quatro configurações de benchmark–alvo: Ultra-Real e Ultra-Creative para utilidade (UltraFeedback → ChatbotArena), e SafeRLHF–RMB e Anthropic–SafeRLHF para inofensividade. Todos os dados são convertidos para um formato uniforme de preferência em pares; os benchmarks impõem a preservação das rubricas, enquanto os alvos medem a deriva de preferência relevante para a implantação, com experimentos de política downstream em Ultra-Real e Anthropic–SafeRLHF.

Scripts

O pipeline completo de dados (download, pré-processamento, filtragem e divisão de domínios) é executado com:

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

Alternativamente, você pode baixar os dados diretamente do Hugging Face.

Estrutura de Diretórios

Após a conclusão do pipeline, o layout do diretório é:

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.
Para cada configuração de conjunto de dados, Bench denota o domínio de benchmark usado durante o desenvolvimento das rubricas, enquanto Target denota um domínio de implantação mantido separado usado para avaliar a generalização e a deriva de preferência. As edições de rubricas são validadas exclusivamente no domínio Bench e nunca otimizadas usando dados do Target.

Divisões de dados e uso.

  • train.jsonl: Usado para busca e refinamento de rubricas.
  • val.jsonl: Usado para seleção de rubricas, garantindo conformidade com o benchmark.
  • test.jsonl: Usado exclusivamente para avaliação da Deriva de Preferência Induzida por Rubricas (RIPD) e nunca é acessado durante a edição de rubricas.

Busca de Rubricas Viesadas

O código de busca de rubricas está em rubrics_search/search/ e implementa um procedimento evolutivo baseado em população para encontrar variantes de rubricas que preservam o benchmark, mas são viesadas em relação ao alvo.

  1. Execute a busca evolutiva para gerar rubricas candidatas com main.py.
  2. Selecione o top-k por geração com select_rubrics.py.
  3. Avalie as rubricas selecionadas em target-val (medir a deriva induzida) para seleção posterior.
  4. Avalie as rubricas selecionadas de target-val com select_final.py para seleção posterior.

Para executar o pipeline completo de busca de rubricas:

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

Seleção de Rubricas

As rubricas são selecionadas sob uma restrição de preservação do benchmark: os candidatos devem igualar ou superar a concordância da rubrica semente em uma divisão de validação de benchmark mantida separada. Entre os candidatos viáveis, escolhemos a rubrica que degrada ao máximo a concordância na divisão de validação do alvo.

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

Para avaliar a transferibilidade das rubricas otimizadas, fornecemos scripts para avaliação entre modelos. Para pegar rubricas otimizadas em um modelo de origem (Modelo A) e testar seu desempenho em um modelo alvo (Modelo B):

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

Avaliação de Desalinhamento de Política Downstream

Para experimentos de desalinhamento de política downstream, focamos em Ultra-Real (utilidade) e Anthropic–SafeRLHF (inofensividade), treinando modelos de política diretamente em rótulos de preferência gerados pelas rubricas selecionadas.

Treinamento DPO

  1. Gere rótulos de preferência usando as rubricas selecionadas:
root@kitploit:~
sh scripts/dpo_labelling.sh
  1. Treine a política com os dados de treinamento rotulados:
root@kitploit:~
sh scripts/dpo_train.sh

Avaliação de Política

Execute o pipeline de avaliação (você pode executar qualquer subconjunto de etapas) via:

root@kitploit:~
sh scripts/dpo_eval.sh

O script de avaliação suporta as seguintes etapas:

  • Gerar respostas do modelo
  • Pontuar respostas (usando avaliadores/modelos de recompensa)
  • Analisar taxas de vitória
  • Selecionar respostas Best-of-N (BoN)
  • Avaliar as saídas finais com um juiz de terceiros

Cite Nosso Trabalho

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}, 
}
Baixar ferramenta