
Experimentos para supressão de cadeia de pensamento com tokens de controle e ataques de leniência de parser em agentes LLM que utilizam ferramentas
Código e medições registradas para um estudo de dois ataques em nível de entrada contra agentes de modelos de linguagem que utilizam ferramentas. O primeiro ataque anexa uma curta sequência dos próprios tokens de controle de canal do modelo a uma entrada não confiável; o tokenizador a interpreta como um canal de raciocínio já fechado, de modo que o modelo não emite nenhuma cadeia de pensamento e prossegue diretamente para a chamada da ferramenta. Isso apaga o rastro de raciocínio do qual um monitor depende e, em requisições que o modelo recusaria de outra forma, converte recusas em ações concluídas. O segundo resultado é que se uma geração idêntica de chamada de ferramenta realmente dispara é decidido pelo parser do harness, e não pelo modelo, de modo que a robustez do agente é uma propriedade conjunta do modelo e de seu harness de decodificação e parsing.
Todo experimento é executado em precisão total (bfloat16) com decodificação greedy através do sandbox de ferramentas disponibilizado, e o JSON registrado em results/ é produzido inteiramente pelos scripts aqui presentes.
Artigo: "Control-Token Injection Suppresses Chain-of-Thought and Defeats Reasoning-Based Oversight in Tool-Using Agents".
requirements.txt (aicomp-sdk 3.1.2, transformers 5.16.1, gymnasium 0.29, openai, openai-harmony).openai/gpt-oss-20b, google/gemma-4-26B-A4B-it, deepseek-ai/DeepSeek-R1-Distill-Qwen-7B, Qwen/Qwen3-4B-Thinking-2507.Configuração:
python3 -m venv --system-site-packages .venv
source .venv/bin/activate
pip install -r requirements.txt
# download the target models (needs an authenticated Hugging Face CLI)
hf download openai/gpt-oss-20b
hf download google/gemma-4-26B-A4B-it
hf download deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
hf download Qwen/Qwen3-4B-Thinking-2507
gpt-oss-20b roda sob transformers 4.57 ou 5.16; gemma-4-26B-A4B-it é um modelo multimodal que requer transformers 5.16. A medição de supressão de raciocínio do gpt-oss é idêntica sob ambas as versões.
Todos os scripts de experimento importam o harness compartilhado, então execute-os com experiments no path. Cada script grava sua saída em results/.
export PYTHONPATH=experiments
# reproduction gate: the forge empties the gpt-oss analysis channel while the call still fires
python scripts/h200_gate.py
# E1: chain-of-thought suppression at scale
python experiments/e1_cot_suppression.py
# E2: monitor evasion and refusal bypass (generate traces, then score three monitors)
python experiments/e2b_generate.py
JUDGE=gemma python experiments/e2b_judge.py
# E3: parser leniency
python experiments/e3a_parser_leniency.py # deterministic, no model
MODEL=gpt_oss python experiments/e3b_end2end.py
MODEL=gemma python experiments/e3b_end2end.py
python experiments/e3c_gemma_parser_ab.py # same model, two parsers
# E4: generality across reasoning models
MODEL=deepseek-ai/DeepSeek-R1-Distill-Qwen-7B TAG=deepseek python experiments/e4_generality.py
MODEL=Qwen/Qwen3-4B-Thinking-2507 TAG=qwen3 python experiments/e4_generality.py
# E5: defenses
python experiments/e5_defenses.py # input sanitization
python experiments/e5_d2_parser_hardening.py # parser hardening, deterministic
# W1 to W3: ablation, token-level grounding, indirect delivery, cross-stack parser
python experiments/w1_forge_variants.py
python experiments/w1_tokenlevel.py
python experiments/w2_indirect.py
python experiments/w3_truncation_sweep.py
# adaptive empty-reasoning evasion (raw traces, effort sweep, decoy attack, monitor matrix)
python experiments/ad_traces_effort.py
python experiments/ad_decoy.py
python experiments/ad_decoy_judge.py
# regenerate the results figure from the logged JSON
python scripts/make_results_fig.py
experiments/harness.py shared harness: build an agent, run a message through the
sandbox gym env, and read back the reasoning channel, the
fired tool events, and the predicates
experiments/e1_*.py chain-of-thought suppression at scale
experiments/e2*_*.py monitor evasion and refusal bypass (generate, then judge)
experiments/e3*_*.py parser leniency: deterministic, end-to-end, and A/B
experiments/e4_*.py generality across reasoning models
experiments/e5_*.py defenses: sanitization and parser hardening
experiments/w1_*.py ablation of the injected string and token-level grounding
experiments/w2_*.py indirect delivery and broader action types
experiments/w3_*.py truncation robustness of the attack
experiments/ad_*.py adaptive empty-reasoning evasion and raw traces
experiments/*_probe.py, *_debug.py supporting probes used while building the study
scripts/h200_gate.py the reproduction gate
scripts/make_results_fig.py the results figure
results/*.json logged measurements produced by the scripts above
| experimento | medição |
|---|---|
| E1 (gpt-oss-20b) | canal de raciocínio de 52,5 para 0 tokens (vazio em 55 de 55 tarefas), ação insegura dispara 100 por cento |
| Evasão de monitor do E2 | monitores de regras e de modelo de linguagem detectam 100 por cento sem a injeção, 0 por cento com ela; 39,6 por cento das recusas convertidas em exfiltrações concluídas |
| A/B de parser do E3c (Gemma) | mesmo modelo e decodificação greedy: parser regex dispara 24 de 24, parser nativo do processador dispara 0 de 24 |
| Generalidade do E4 | gpt-oss vulnerável via injeção de entrada; conformidade do Qwen3-Thinking de 0,08 para 1,00 sob a primitiva de canal fechado; DeepSeek robusto |
| Defesas do E5 | sanitizador de substituição por espaço neutraliza o ataque; exclusão ingênua falha em entradas benignas; endurecimento do parser descarta a chamada truncada |
| adaptativo | tripwire de raciocínio vazio captura a forge vazia, mas é derrotado por um chamariz benigno de uma linha que dispara 100 por cento |
A decodificação é greedy, então cada taxa é determinística por entrada e os intervalos relatados refletem a amostra finita de tarefas. A seed 123 e um loop de interação de oito saltos correspondem ao sandbox disponibilizado. As revisões dos modelos-alvo e a versão do transformers estão fixadas em requirements.txt e declaradas em cada script.
Licença MIT. Consulte LICENSE.