
RL-आधारित प्रॉम्प्ट इंजेक्शन रेड टीमिंग के लिए खुला फ्रेमवर्क, जिसमें एक साझा ट्रेनर, करिकुलम लर्निंग, और AgentDojo, InjecAgent, और PIArena जैसे बेंचमार्क शामिल हैं।
RL-आधारित प्रॉम्प्ट इंजेक्शन रेड टीमिंग के लिए एक ओपन फ्रेमवर्क
PIForge, PISmith और Climbing the Hill के लिए साझा कोडबेस है। PISmith प्रॉम्प्ट इंजेक्शन रेड टीमिंग में विरल इनाम (sparse reward) की समस्या का समाधान करता है, जिससे RL हमलावरों को दुर्लभ सफल हमलों से खोज करने और सीखने में मदद मिलती है। PISmith पर आगे बढ़ते हुए, Climbing the Hill अधिक मजबूत फ्रंटियर लक्ष्यों की रेड टीमिंग करते समय कोल्ड स्टार्ट समस्या के समाधान के लिए पाठ्यक्रम शिक्षण (curriculum learning) का उपयोग करता है।
| घटक | कहाँ | उद्देश्य |
|---|---|---|
| बेंचमार्क | benchmarks/ | PIArena, InjecAgent, AgentDojo, AgentDyn, और IPI Arena। |
| प्रशिक्षण कोर | train.py, core/, configs/ | साझा RL ट्रेनर और बेंचमार्क कॉन्फ़िगरेशन। |
| एंट्री पॉइंट | scripts/, eval/ | एक प्रशिक्षण स्क्रिप्ट, एक पाठ्यक्रम स्क्रिप्ट, और एक मूल्यांकन स्क्रिप्ट। |
कमांड रिपॉज़िटरी रूट से चलाएँ। प्रशिक्षण के लिए Python 3.10 और GPUs आवश्यक हैं।
git clone https://github.com/albert-y1n/PIForge.git
cd PIForge
conda create -n piforge python=3.10 -y
conda activate piforge
pip install -r requirements.txt
तीनों एंट्री पॉइंट एक छोटा इंटरफ़ेस साझा करते हैं:
bash scripts/train.sh <benchmark> <target> [train_gpus] [train.py overrides...]
bash scripts/train_curriculum.sh [curriculum]
bash scripts/eval.sh <benchmark> <attacker path or HF model ID> <target> [num_samples] [eval.py overrides...]
रन बदलने के लिए ATTACKER_MODEL, TRAIN_SUITES, OUTPUT_DIR, LEARNING_RATE, और NUM_TRAIN_EPOCHS जैसे एनवायरनमेंट वेरिएबल्स का उपयोग करें। DRY_RUN=1 मॉडल लॉन्च किए बिना कमांड प्रिंट करता है।
AgentDyn github सबसेट के लिए AgentDyn इंस्टॉल करें, जो नीचे दिए गए AgentDojo/AgentDyn रेसिपी के लिए डिफ़ॉल्ट प्रशिक्षण सूट है:
git clone https://github.com/SaFo-Lab/AgentDyn.git
pip install -e AgentDyn --no-deps
export OPENAI_API_KEY="your-openai-api-key"
GPT-4o-mini या GPT-5-nano के विरुद्ध PISmith के साथ प्रशिक्षण लें:
bash scripts/train.sh agentdyn gpt4o-mini
bash scripts/train.sh agentdyn gpt5-nano
पाठ्यक्रम RL के साथ GPT-5.6-Luna या GPT-5.6-Terra की ओर प्रशिक्षण लें। प्रत्येक चरण पिछले चरण के हमलावर चेकपॉइंट से शुरू होता है:
bash scripts/train_curriculum.sh nano-luna
bash scripts/train_curriculum.sh nano-luna-terra
वही एकल-लक्ष्य एंट्री पॉइंट किसी भी हमलावर मॉडल या सहेजे गए चेकपॉइंट से प्रशिक्षण जारी रखता है:
ATTACKER_MODEL=checkpoints/agentdyn_curriculum/nano-luna-terra/stage_3_gpt-5.6-terra/checkpoint-XXX \
OUTPUT_DIR=checkpoints/muse_spark \
bash scripts/train.sh agentdyn muse-spark-1.2
जारी किए गए Hugging Face मॉडल का सीधे मूल्यांकन करें।
bash scripts/eval.sh agentdyn AlbertYin/agentdojo_attacker_qwen3_4b_5_nano gpt5-nano 10
bash scripts/eval.sh agentdyn AlbertYin/agentdojo_attacker_qwen3_4b_5.6_terra gpt-5.6-terra 10
AgentDojo सूट के लिए, agentdojo चुनें और TRAIN_SUITES या EVAL_SUITES को workspace, banking, travel, या slack पर सेट करें:
TRAIN_SUITES=workspace bash scripts/train.sh agentdojo gpt4o-mini
EVAL_SUITES=workspace bash scripts/eval.sh agentdojo AlbertYin/agentdojo_attacker_qwen3_4b_4o_mini gpt4o-mini 10
स्थानीय Meta-SecAlign लक्ष्य को एक बार python merge_meta_secalign.py के साथ तैयार करें। फिर InjecAgent डेटासेट के साथ प्रशिक्षण और मूल्यांकन करें:
bash scripts/train.sh injecagent secalign
bash scripts/eval.sh injecagent AlbertYin/injecagent_attacker_qwen3_4b_secalign secalign 10
स्क्रिप्ट डिफ़ॉल्ट रूप से GPU 0 पर स्थानीय लक्ष्य शुरू करती है और प्रशिक्षण के लिए GPU 1,2,3 का उपयोग करती है। इस सेटअप को बदलने के लिए TARGET_GPU, TRAIN_GPUS, या TARGET_URL सेट करें।
वही Meta-SecAlign तैयारी secalign डिफ़ेंस पर लागू होती है। PIArena अपना स्वयं का बेंचमार्क डेटासेट उपयोग करता है:
bash scripts/train.sh piarena secalign
bash scripts/train.sh piarena none
bash scripts/eval.sh piarena AlbertYin/piarena_attacker_qwen3_4b_secalign secalign 10
अन्य डिफ़ेंस को उनके कॉन्फ़िगरेशन नाम से चुना जा सकता है, जैसे promptguard या piguard। भिन्न GPUs या किसी मौजूदा लक्ष्य सर्वर का उपयोग करने के लिए TARGET_GPU, TRAIN_GPUS, या TARGET_URL सेट करें।
हम अपने प्रशिक्षित हमलावरों को PIForge Hugging Face संग्रह में जारी करते हैं।
PIForge को MIT License के अंतर्गत जारी किया गया है।