Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
deleting-the-trace — Expériences pour la suppression de la chaîne de pensée par jetons de contrôle et les attaques de laxisme d'analyse syntaxique sur les agents LLM utilisant des outils | Kitploit
Outils/GitHubGitHub/usama1002/deleting-the-trace
Analyse des VulnérabilitésExploitationApprentissage AutomatiqueArticles et RechercheSécurité de l'IAAttaque Adversariale
GitHubusama1002/deleting-the-trace

deleting-the-trace

Expériences pour la suppression de la chaîne de pensée par jetons de contrôle et les attaques de laxisme d'analyse syntaxique sur les agents LLM utilisant des outils

Voir le dépôt
16il y a 1 jourPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Attaques par injection de jetons de contrôle sur les agents utilisant des outils

Code et mesures journalisées pour une étude de deux attaques au niveau de l'entrée sur des agents de modèles de langage utilisant des outils. La première attaque ajoute une courte chaîne des propres jetons de contrôle de canal d'un modèle à une entrée non fiable ; le tokenizer la lit comme un canal de raisonnement déjà fermé, de sorte que le modèle n'émet aucune chaîne de pensée et passe directement à l'appel d'outil. Cela supprime la trace de raisonnement dont dépend un moniteur et, sur les requêtes que le modèle refuserait autrement, convertit les refus en actions accomplies. Le second résultat est que le fait qu'une génération d'appel d'outil identique se déclenche réellement est décidé par le parseur du harnais plutôt que par le modèle, de sorte que la robustesse de l'agent est une propriété conjointe du modèle et de son harnais de décodage et d'analyse.

Chaque expérience s'exécute en pleine précision (bfloat16) avec un décodage glouton via le bac à sable d'outils publié, et le JSON journalisé sous results/ est produit entièrement par les scripts présents ici.

Article : « Control-Token Injection Suppresses Chain-of-Thought and Defeats Reasoning-Based Oversight in Tool-Using Agents ».

Résultats

  1. L'injection de jetons de contrôle supprime le canal de raisonnement tandis que l'appel d'outil non sûr se déclenche toujours, déjoue les moniteurs de chaîne de pensée lisant le contenu et contourne les refus du modèle lui-même. Un fil-piège à raisonnement vide intercepte l'attaque de base mais est déjoué par un leurre bénin d'une ligne.
  2. La laxité du parseur du harnais conditionne le déclenchement de l'appel d'outil indépendamment du modèle. Un parseur tolérant à la troncature déclenche un appel dont le jeton de fermeture est manquant, tandis qu'un parseur strict le rejette ; en gardant un modèle et son décodage glouton fixes, deux parseurs livrés produisent des résultats de sécurité opposés.

Prérequis

  • Un GPU CUDA avec suffisamment de mémoire pour les modèles cibles en bfloat16 (les exécutions ont été produites sur un seul NVIDIA H200, 141 Go).
  • Python 3.12, PyTorch avec CUDA, et les paquets épinglés dans requirements.txt (aicomp-sdk 3.1.2, transformers 5.16.1, gymnasium 0.29, openai, openai-harmony).
  • Accès aux modèles cibles sur Hugging Face : openai/gpt-oss-20b, google/gemma-4-26B-A4B-it, deepseek-ai/DeepSeek-R1-Distill-Qwen-7B, Qwen/Qwen3-4B-Thinking-2507.

Installation :

root@kitploit:~
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 s'exécute sous transformers 4.57 ou 5.16 ; gemma-4-26B-A4B-it est un modèle multimodal qui nécessite transformers 5.16. La mesure de suppression du raisonnement de gpt-oss est identique sous les deux versions.

Exécution des expériences

Tous les scripts d'expérience importent le harnais partagé, donc exécutez-les avec experiments dans le chemin. Chaque script écrit sa sortie dans results/.

root@kitploit:~
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

Structure du dépôt

root@kitploit:~
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

Résultats clés

expériencemesure
E1 (gpt-oss-20b)canal de raisonnement de 52,5 à 0 jetons (vide sur 55 tâches sur 55), l'action non sûre se déclenche à 100 pour cent
Évasion du moniteur E2les moniteurs à règles et à modèle de langage détectent 100 pour cent sans l'injection, 0 pour cent avec ; 39,6 pour cent des refus convertis en exfiltrations accomplies
A/B parseur E3c (Gemma)même modèle et décodage glouton : le parseur regex déclenche 24 sur 24, le parseur de processeur natif déclenche 0 sur 24
Généralité E4gpt-oss vulnérable via injection d'entrée ; conformité de Qwen3-Thinking de 0,08 à 1,00 sous la primitive de canal fermé ; DeepSeek robuste
Défenses E5le désinfectant remplacer-par-espace neutralise l'attaque ; la suppression naïve échoue sur des entrées bénignes ; le durcissement du parseur rejette l'appel tronqué
adaptatifle fil-piège à raisonnement vide intercepte la forge vide mais est déjoué par un leurre bénin d'une ligne qui se déclenche à 100 pour cent

Notes sur la reproductibilité

Le décodage est glouton, donc chaque taux est déterministe par entrée et les intervalles rapportés reflètent l'échantillon fini de tâches. La graine 123 et une boucle d'interaction à huit sauts correspondent au bac à sable publié. Les révisions des modèles cibles et la version de transformers sont épinglées dans requirements.txt et indiquées dans chaque script.

Licence

Licence MIT. Voir LICENSE.

Télécharger l’outil