Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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
AgentWatcher | Kitploit
Outils/GitHubGitHub/wang-yanting/agentwatcher
Apprentissage AutomatiqueArticles et RechercheApprentissage et ÉducationSécurité de l'IAAttaque Adversariale
GitHubwang-yanting/agentwatcher

AgentWatcher

Voir le dépôt
92il y a 4 moisPas 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

AgentWatcher

AgentWatcher est une défense basée sur la détection contre l'injection indirecte de prompt dans les agents LLM. Elle exécute d'abord une attribution causale de contexte sur le contexte non fiable pour trouver les contextes les plus influents, puis applique un LLM de surveillance qui classe ces contextes selon des règles explicites et personnalisables. Comparé aux détecteurs entièrement en boîte noire, ce pipeline est plus facile à interpréter : l'attribution montre où le modèle s'est concentré, et le jugement du LLM de surveillance repose sur un raisonnement fondé sur des règles. Un exemple de sortie du LLM de surveillance est présenté ci-dessous :

Exemple de sortie d'AgentWatcher

Cette détection basée sur des règles peut exploiter la capacité de raisonnement du LLM de surveillance pour obtenir un meilleur compromis entre utilité et robustesse. AgentWatcher atteint des performances de pointe sur des benchmarks d'agents LLM tels que AgentDyn :

Exemple de sortie d'AgentWatcher

Ce dépôt est destiné à reproduire les principales expériences de l'article.

🔨 Prérequis

  • Python 3.10+ (testé avec des environnements conda).
  • GPU(s) CUDA pour le LLM backend (vLLM peut être utilisé en option).
  • Accès Hugging Face pour les jeux de données et les modèles.
root@kitploit:~
pip install -r requirements.txt
huggingface-cli login   # if needed for gated models

🤗 LLM de surveillance sur Hugging Face

Le LLM de surveillance entraîné est un adaptateur LoRA (PEFT). Par défaut, main.py charge automatiquement le checkpoint Hub SecureLLMSys/AgentWatcher-Qwen3-4B-Instruct-2507 sur SecureLLMSys (remplacez avec --monitor_llm).

🔬 Exécution des expériences

Tous les lanceurs se trouvent dans scripts/. Ils supposent que vous exécutez depuis la racine du dépôt AgentWatcher (ou que vous y avez fait cd au préalable). Veuillez d'abord définir la clé OpenAI avec export OPENAI_API_KEY=<YOUR_KEY>. Modifiez les lanceurs Python (all_datasets, all_defenses, gpus, name, modèles, etc.) pour les adapter à votre balayage avant de les exécuter.

Benchmark à contexte long (main.py)

Tâches par lots (GPU locaux ou Slurm) :

root@kitploit:~
python scripts/run_long_context.py

Ceci exécute main.py avec vLLM (--use_vllm) et écrit les journaux sous logs/main_logs/<name>/.... Sans GPU local, il soumet Slurm via scripts/main.sh.

Exécution ponctuelle sans le lanceur :

root@kitploit:~
python main.py \
  --dataset lcc_long \
  --attack combined \
  --defense agentwatcher \
  --backend_llm Qwen/Qwen3-4B-Instruct-2507 \
  --monitor_llm SecureLLMSys/AgentWatcher-Qwen3-4B-Instruct-2507 \
  --use_vllm \
  --name my_run

Paramètres facultatifs d'attribution sur main.py : --w_s, --w_l, --w_r, --K, --attribution_model.

AgentDojo

Pour exécuter AgentDojo/AgentDyn, veuillez d'abord configurer l'environnement en suivant PIArena (https://github.com/sleeepeer/PIArena) :

root@kitploit:~
cd agents/agentdojo && pip install -e . && cd ../..

Ensuite, exécutez :

root@kitploit:~
python scripts/run_agentdojo.py

Ceci appelle main_agentdojo.py et écrit les journaux sous logs/agentdojo_logs/.... Sans GPU local, il utilise scripts/main_agentdojo.sh pour Slurm. Pour une exécution manuelle unique, vous pouvez appeler python main_agentdojo.py --model ... --defense agentwatcher --monitor_llm ... depuis la racine du dépôt ; définissez PIARENA_DEFENSE / PIARENA_MONITOR_LLM si votre wrapper les attend. La défense agentwatcher utilise PIMonitorLLMDefenseAdapter.

AgentDyn

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

Optionnel : ./scripts/run_agentdyn.sh --model gpt-4o-2024-08-06 pour exécuter agentwatcher avec gpt-4o comme LLM principal. Le script active l'environnement conda agentdojo et s'exécute depuis agents/agentdyn/src. Nous recommandons d'utiliser tmux pour éviter que l'exécution ne soit interrompue.

InjecAgent

root@kitploit:~
python scripts/run_injecagent.py

Ceci lance main_injecagent.py et journalise sous logs/main_logs/.... Point d'entrée Slurm : scripts/main_injecagent.sh.

Invocation directe sans le lanceur :

root@kitploit:~
python main_injecagent.py \
  --model meta-llama/Llama-3.1-8B-Instruct \
  --defense agentwatcher \
  --monitor_llm SecureLLMSys/AgentWatcher-Qwen3-4B-Instruct-2507 \
  --name my_injecagent_run

Remerciements

  • Ce projet intègre du code provenant de PIArena, AgentDojo, AgentDyn, InjecAgent, et AT2.

Citation

Si vous utilisez ce code, veuillez citer l'article AgentWatcher (dès qu'il sera disponible).

Télécharger l’outil