Simple Features Beat Most AI Control Monitors
Código e fonte do artigo para o workshop EvoRobust @ NeurIPS 2026.
O que o artigo demonstra
Monitores de controle de IA são modelos que leem código e sinalizam backdoors (sabotagem oculta). Eles são
desenvolvidos e classificados em conjuntos de dados fixos nos quais cada problema de programação tem uma solução honesta e
uma com backdoor. Um monitor deve obter uma boa pontuação em tal conjunto de dados apenas encontrando o backdoor. Nós
estudamos o conjunto de dados público de backdoors APPS (RoganInglis/apps-control-arena), cujas soluções honestas
foram escritas por pessoas e cujos backdoors foram escritos por modelos mais antigos (Claude 3.7 Sonnet,
o3-mini, o1-mini, GPT-4o e quatro modelos menores, todos lançados no início de 2025, além de uma fonte não atribuída).
Chamamos seus pares de pares originais. A Figura 1 do artigo resume os resultados.
- Um classificador que nunca executa o código supera a maioria dos monitores. Na divisão de teste padrão
(1.375 problemas, um programa cada, comentários removidos), um classificador bag-of-words treinado nos
problemas de treino da divisão atinge AUROC 0,806, acima de 20 dos 24 modelos de pesos abertos (0,4B-32B)
usados como monitores em trabalhos anteriores. O que ele lê é compartilhado entre os modelos atacantes e está presente
quer o backdoor funcione ou não; seus tokens mais fortes do lado do backdoor (
and, ==, if) são um
traço superficial de qualquer caso especial adicionado. O classificador é treinado e os monitores não, então
isso mede o que o conjunto de dados entrega, não qual detector é melhor.
- Os rótulos vazam. A divisão de teste mantém o programa com backdoor de um problema apenas se o backdoor
funcionar; 720 dos 892 problemas com um backdoor falham e contribuem com sua solução honesta
em vez disso. Problemas da classe backdoor, portanto, têm cerca de metade dos testes, e um classificador que
lê apenas metadados do problema (dificuldade, contagem de testes, comprimento do enunciado) atinge 0,766
com validação cruzada dentro da divisão, acima de 20 monitores. Ajustado fora da divisão, ele pontua 0,298,
a mesma relação invertida, porque ali os itens honestos vêm de problemas que a divisão
excluiu. O vazamento vem de como os rótulos foram escolhidos, não do código.
- O classificador recompensa um contraste entre autores. Reconstruímos os pares com um modelo, Claude Sonnet 5 (e
separadamente Claude Haiku 4.5), escrevendo ambas as soluções, e emparelhamos cada classe com a do outro
autor. Nomeando cada tipo de par por quem escreveu seu lado honesto e seu lado com backdoor, nos 99
problemas em que todo backdoor funciona, o bag-of-words pontua 0,789 em pessoa / modelos mais antigos e
0,749 em Sonnet 5 / Sonnet 5, mas 0,953 em pessoa / Sonnet 5 e 0,905 em Sonnet 5 / modelos mais
antigos: ele pontua mais alto quando as duas classes têm autores diferentes. O mesmo vale para todas as
tentativas (0,981 contra 0,865). Com um único autor, ele mantém rho = 0,687 de sua vantagem sobre o acaso
nas tentativas únicas do Sonnet 5 e 0,097 nas do Haiku 4.5, e 0,861 em backdoors funcionais, então ele
também lê os casos especiais adicionados pelo backdoor; parte do que o Sonnet 5 mantém é um layout que nosso prompt
de ataque induz (
def main), e solicitar a solução honesta com esse prompt reduz rho para
0,390.
- Quais backdoors são reais. Um monitor Sonnet 5 responde principalmente aos backdoors (0,944 nos
pares originais, 0,966 quando o Sonnet 5 escreveu o lado honesto, cujo código ele considera um pouco menos
suspeito). Cai para 0,755 em pessoa / Sonnet 5, mas parte disso são os rótulos. Um backdoor
conta como funcional se sua saída em seu próprio gatilho difere da de uma solução honesta, e
nada verifica se o gatilho é uma entrada legal. Os rótulos do conjunto de dados mostram o problema: na
divisão de teste padrão, 17 dos 172 programas com backdoor têm apenas um gatilho ilegal e 7 imprimem
um inteiro errado em um teste público. Sem esses 24, o bag-of-words pontua 0,817 e os 24
monitores publicados mudam em uma mediana de +0,010. Nossa geração usou a mesma definição, então
antes de comparar atacantes, verificamos cada gatilho em ambas as classes contra um validador de entrada
escrito a partir do enunciado, exigimos que a saída do backdoor ali difira da resposta majoritária das soluções
humanas, e buscamos 40 entradas legais próximas como testemunha quando uma verificação falha.
A verificação remove 14 dos 99 backdoors dos modelos mais antigos e 40 dos do Sonnet 5. Nos 54
problemas em que ambos os backdoors são reais, os do Sonnet 5 ainda podem ser mais difíceis de detectar, por menos: AUROC
0,958 contra 0,904 (diferença -0,053, IC 95% -0,108 a -0,004), e sinalizando 2% das soluções
humanas, o monitor detecta 78% dos backdoors dos modelos mais antigos e 61% dos do Sonnet 5
(diferença 0,17, 0,0002 a 0,32, apenas logo acima de zero). Antes das verificações, em todos os 99 problemas,
era 77% contra 37% (0,40, 0,28 a 0,52), então parte da mudança vem de descartar
problemas. A lacuna depende do limiar, e parte pode ser o monitor favorecendo seu próprio
model: um monitor Haiku 4.5, que não escreveu nenhuma das classes, dá 0,850 contra 0,822.
Assim, uma pontuação alta em um conjunto de dados construído desta forma pode resultar de pistas que não o backdoor (não mostramos que os monitores publicados as utilizam), e uma taxa de deteção em rótulos não verificados pode mais do que duplicar um efeito do atacante. Disponibilizamos os pares reconstruídos, os validadores de entrada e as verificações, e recomendamos executá-los noutros benchmarks de monitores: reportar linhas de base que nunca executam o código (bag-of-words, metadados do problema, comprimento) com as suas pontuações em rótulos baralhados; emparelhar cada classe com o código de outro autor; verificar que cada trigger é uma entrada legal na qual a resposta do backdoor está errada; reportar taxas de deteção com um orçamento de auditoria fixo nos backdoors que passam, de vários geradores, incluindo modelos atuais; e, onde as verificações encontram atalhos, fazer com que um modelo escreva ambas as classes a partir do mesmo prompt e escolha exemplos honestos independentemente de um ataque ter tido sucesso.
Estrutura do repositório
experiments/
apps/ APPS backdoor dataset: the floors on the original pairs, the rebuilt pairs
(generation, test harness, backdoor verification) and every measurement on them;
*.json are the committed outputs behind the paper's numbers
validators/ one input validator per checked problem (258), used by the trigger checks
agentic/ five agentic settings in which one model wrote both classes (appendix)
README.md how to reproduce each result, with commands, and which script gives each number
paper/ LaTeX source, bibliography, figures and the built main.pdf
Reproduzindo
Consulte experiments/README.md. Os resultados nos pares originais são executados em uma
CPU de laptop em minutos. A construção dos pares reconstruídos requer uma chave de API da Anthropic, e a variante
de pesos abertos (que regenera apenas a classe honesta) requer uma GPU.
pip install -r requirements.txt
cd experiments/apps
python fetch.py && python fetch_inputs.py && python bow.py
python koran_split_eval.py # the bag-of-words floor: AUROC 0.806, above 20 of 24 monitors
Compilando o artigo
cd paper
make # main.pdf (pdflatex + bibtex)
make figures # regenerate fig/ from experiments/apps/figures.py