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
PISmith — PISmith: Red Teaming basé sur l'apprentissage par renforcement pour les défenses contre l'injection de prompts | Kitploit
Outils/GitHubGitHub/albert-y1n/pismith
Génération de PayloadsApprentissage AutomatiqueArticles et RechercheRed TeamingSécurité de l'IAAttaque Adversariale
GitHubalbert-y1n/pismith

PISmith

PISmith: Red Teaming basé sur l'apprentissage par renforcement pour les défenses contre l'injection de prompts

Voir le dépôt
2232il y a 1 moisVérifié par Kitploit

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

PISmith : Red Teaming basé sur l'apprentissage par renforcement pour les défenses contre l'injection de prompts (COLM 2026)

Ceci est une implémentation officielle de PISmith : Red Teaming basé sur l'apprentissage par renforcement pour les défenses contre l'injection de prompts


Configuration de l'environnement

PISmith a été testé avec Python 3.10 et CUDA Version : 12.9

1. Créer un environnement conda Python 3.10

root@kitploit:~
conda create -n PISmith python=3.10 -y
conda activate PISmith

2. Installer les dépendances

root@kitploit:~
pip install -r requirements.txt

3. (Facultatif) Préparer le checkpoint du modèle Meta-SecAlign

Pour les expériences ciblant la défense secalign, exécutez le script de fusion fourni pour télécharger et fusionner le modèle de base avec l'adaptateur SecAlign :

root@kitploit:~
python merge_meta_secalign.py

Ce script télécharge meta-llama/Llama-3.1-8B-Instruct et facebook/Meta-SecAlign-8B depuis HuggingFace, les fusionne et enregistre le résultat dans checkpoints/Meta-SecAlign-8B-merged/.


Scripts

PIArena

PIArena prend en charge l'entraînement et l'évaluation face à une gamme de défenses contre l'injection de prompts. Utilisez l'argument defense pour sélectionner la défense cible.

Défenses prises en charge : secalign, none, promptguard, promptarmor, sandwich, instructional, datasentinel, piguard, datafilter

Entraînement

root@kitploit:~
bash scripts/train_piarena.sh <defense> [train_gpus] [target_gpu] [target_port]
ArgumentValeur par défautDescription
defensesecalignDéfense à utiliser pour l'entraînement
train_gpus"1,2,3"Index GPU pour l'entraînement RL
target_gpu0GPU du serveur vLLM cible
target_port8010Port du serveur vLLM cible

Exemples :

root@kitploit:~
# Train against SecAlign defense
bash scripts/train_piarena.sh secalign

# Train against no defense (plain LLM)
bash scripts/train_piarena.sh none

Évaluation

root@kitploit:~
bash scripts/eval_piarena.sh <checkpoint> <defense> [target_port] [target_gpu] [attacker_gpu] [attacker_port] [num_samples]
ArgumentValeur par défautDescription
checkpoint—Chemin du checkpoint de l'attaquant entraîné
defensesecalignDéfense à évaluer
target_port8000Port du serveur vLLM cible
target_gpu0GPU du serveur vLLM cible
attacker_gpu1GPU du serveur vLLM de l'attaquant
attacker_port8001Port du serveur vLLM de l'attaquant
num_samples10Pass@k : nombre d'échantillons par cas de test

Exemples :

root@kitploit:~
# Evaluate against SecAlign (default settings)
bash scripts/eval_piarena.sh checkpoints/piarena/checkpoint-500 secalign

# Evaluate against no piguard, pass@10
bash scripts/eval_piarena.sh checkpoints/piarena_none/checkpoint-500 piguard

AgentDojo

Prend en charge les cibles GPT-4o-mini, GPT-4o, GPT-5-nano et les serveurs vLLM locaux.

root@kitploit:~
bash scripts/train_agentdojo.sh [target_type] [suites] [train_gpus]
root@kitploit:~
# Default: GPT-4o-mini target on the firsr 7 injected task of workspace suite
bash scripts/train_agentdojo.sh

# Train on all suites (workspace, banking, travel, slack)
bash scripts/train_agentdojo.sh gpt4o-mini all

Évaluation :

root@kitploit:~
bash scripts/eval_agentdojo.sh <checkpoint> [target_type] [eval_suites] [num_samples] [target_defense]

# Example
bash scripts/eval_agentdojo.sh checkpoints/agentdojo/checkpoint-500 gpt4o-mini

AgentDyn

AgentDyn est construit sur AgentDojo. Installez-le séparément avant d'exécuter des expériences AgentDyn :

root@kitploit:~
git clone https://github.com/SaFo-Lab/AgentDyn.git
cd AgentDyn
pip install -e . --no-deps

L'entraînement prend en charge les suites AgentDyn telles que github, dailylife et shopping.

root@kitploit:~
bash scripts/train_agentdyn.sh [target_type] [suites] [train_gpus]

# Example
bash scripts/train_agentdyn.sh gpt5-nano github "0,1,2,3"

L'évaluation fournit à la fois le pass@k et l'ASR moyen au niveau des échantillons, et prend en charge le service vLLM de l'attaquant en parallélisme de données :

root@kitploit:~
ATTACKER_GPUS=0,1,2,3 ATTACKER_DP_SIZE=4 \
bash scripts/eval_agentdyn.sh checkpoints/agentdyn/checkpoint-500 gpt5-nano "github,dailylife,shopping" 5

InjecAgent

Prend en charge une cible vLLM locale, GPT-4o-mini ou le mode multi-cibles.

root@kitploit:~
bash scripts/train_injecagent.sh [target_type] [train_gpus] [target_gpu] [target_port]
root@kitploit:~
# Default: local vLLM target (Meta-SecAlign-8B)
bash scripts/train_injecagent.sh

# GPT-4o-mini API target
bash scripts/train_injecagent.sh gpt4o-mini

Évaluation :

root@kitploit:~
bash scripts/eval_injecagent.sh <checkpoint> [target_type] [target_gpu] [target_port] [eval_gpu] [num_samples]

# Example
bash scripts/eval_injecagent.sh checkpoints/injecagent/checkpoint-500

Résultats des expériences

Résultats principaux (vs Meta-SecAlign-8B, 13 benchmarks)

PISmith est évalué face à 7 méthodes de référence couvrant les catégories d'attaques statiques, basées sur la recherche et basées sur le RL. Toutes les méthodes basées sur le RL rapportent l'ASR@10 / ASR@1 ; les méthodes statiques et basées sur la recherche rapportent l'ASR@1.

MéthodeCatégorieMoy. ASR@10Moy. ASR@1
DirectStatique—0.04
CombinedStatique—0.07
TAPBasée sur la recherche—0.11
PAIRBasée sur la recherche—0.16
StrategyBasée sur la recherche—0.21
Vanilla GRPOBasée sur le RL0.130.05
RL-HammerBasée sur le RL0.700.48
PISmith (Ours)Basée sur le RL1.000.87

Compromis utilité–robustesse (8 défenses, Qwen3-4B-Instruct-2507)

ASR@1 de PISmith moyenné sur 13 benchmarks. L'utilité mesure la précision de la tâche sans attaque.

DéfenseTypeUtilitéPISmith ASR@1
Sans défense—0.740.92
SandwichPrévention0.740.91
InstructionalPrévention0.730.92
PromptArmorPrévention0.740.92
DataFilterPrévention0.630.49
PIGuardFiltre0.720.82
PromptGuardFiltre0.660.89
DataSentinelFiltre0.550.52

Il reste difficile pour les défenses de pointe d'atteindre simultanément une utilité élevée (≥0.70) et un faible ASR (≤0.60), ce qui révèle un compromis fondamental entre utilité et robustesse.

Configurations agentiques

InjecAgent

Modèle cibleASR@1 directPISmith ASR@10/1
Meta-SecAlign-8B0.001.00 / 0.99
GPT-4o-mini0.021.00 / 0.99
GPT-4.1-nano0.011.00 / 1.00
GPT-5-nano0.001.00 / 0.95

AgentDojo (meilleure référence statique vs PISmith)

Modèle cibleMeilleure ASR@1 statiquePISmith ASR@10/1
GPT-4o-mini0.230.78 / 0.62
GPT-4.1-nano0.200.81 / 0.64
GPT-5-nano0.010.38 / 0.24
Télécharger l’outil