
Implementação de pesquisa para mitigação de injeções adaptativas de prompt via destilação on-policy, com receitas de treinamento e avaliadores para os benchmarks SEP, PISmith e AgentDojo.
Yibo Peng · Long Lian · David Wagner† · Sizhe Chen†
† Supervisão conjunta.
[Artigo] [Página do projeto] [Modelo]
Esta versão implementa a formulação final de KL de resposta completa do artigo,
também descrita como a variante sem parsing. O estudante faz rollout sob um
contexto atacado. Um professor de contexto limpo, inicializado a partir do mesmo
modelo base, pontua os tokens amostrados pelo estudante sob o contexto limpo pareado.
O sinal de KL reversa é aplicado a cada token de resposta amostrado, incluindo
tokens de raciocínio; nenhum limite </think> é usado para selecionar um intervalo
de supervisão.
training/tinker/: a receita de treinamento de KL de resposta completa e a configuração
exata do artigo.scripts/: utilitários de preparação de dados e exportação de checkpoints Tinker.evaluation/sep/: avaliadores SEP estáticos e adaptativos.evaluation/pismith/: sobreposição e lançadores de treinamento/avaliação PISmith.evaluation/agentdojo/: utilitário AgentDojo e executor de ataques.evaluation/lm_eval/: executor de MMLU-Pro, GPQA Diamond, GSM8K e Minerva MATH.docs/REPRODUCIBILITY.md: comandos de ponta a ponta e configurações experimentais.cp .env.example .env
python scripts/prepare_data.py
bash training/tinker/setup.sh
bash training/tinker/train_full_kl_qwen36.sh
O script de configuração faz checkout do commit fixado do Tinker Cookbook upstream e aplica a sobreposição de fontes deste repositório. Ele não modifica outro checkout do Tinker na máquina.
Os checkpoints do Tinker devem ser convertidos com o mapeador de pesos do Tinker Cookbook:
python scripts/export_tinker_adapter.py \
--tinker-path 'tinker://RUN_ID:train:0/weights/final' \
--output-dir adapters/secopd-full-kl
Não mescle um adaptador Tinker bruto com PEFT vanilla. Os nomes de chaves da atenção
linear do Qwen3.6 e de lm_head exigem o mapeamento Tinker implementado por
tinker_cookbook.weights.
Consulte docs/REPRODUCIBILITY.md para comandos de avaliação, notas de hardware e a configuração congelada exata.
Não são rastreadas chaves de API, pesos de modelo, saídas geradas, caminhos privados
nem logs de experimento. As credenciais são lidas de variáveis de ambiente e a
configuração do juiz em tempo de execução é gravada apenas no diretório runtime/, que é ignorado.
A sobreposição de treinamento tem como alvo o Tinker Cookbook do Thinking Machines Lab. A avaliação SEP é derivada do Meta-SecAlign, a avaliação PISmith tem como alvo o PISmith, e a avaliação AgentDojo tem como alvo o AgentDojo. As revisões upstream exatas e as licenças estão listadas em docs/THIRD_PARTY.md.
@article{peng2026secopd,
title = {{SecOPD}: Mitigating Adaptive Prompt Injections by On-Policy Distillation},
author = {Peng, Yibo and Lian, Long and Wagner, David and Chen, Sizhe},
journal = {arXiv preprint arXiv:2608.21500},
year = {2026}
}