
MCP सर्वरों पर LLM एजेंटों के रेड-टीमिंग के लिए ट्रैजेक्टरी-जागरूक विकासवादी खोज ढांचा, जो जोखिम श्रेणियों में भेद्यता परिदृश्यों को मैप करने के लिए प्रतिकूल प्रॉम्प्ट उत्पन्न करता है।

T-MAP MCP सर्वरों पर LLM एजेंटों के रेड-टीमिंग के लिए एक प्रक्षेपवक्र-जागरूक विकासवादी खोज ढांचा है। यह निष्पादन प्रक्षेपवक्रों द्वारा निर्देशित प्रतिकूल प्रॉम्प्ट को पुनरावृत्त रूप से उत्पन्न और उत्परिवर्तित करता है, विभिन्न जोखिम श्रेणियों और हमले की शैलियों में एजेंट की भेद्यता परिदृश्य का मानचित्रण करता है।
pip install -r requirements.txt
आवश्यकताएँ: Python 3.11+, हमलावर और लक्ष्य मॉडल के लिए API कुंजियाँ, एक या अधिक MCP सर्वरों तक पहुंच।
एकल सर्वर
python run_main.py \
--server Slack \
--attacker_model "deepseek-chat" \
--attacker_model_api "https://api.deepseek.com" \
--attacker_model_api_token "$DEEPSEEK_API_KEY" \
--target_model "openai/gpt-5-mini" \
--target_model_api "https://openrouter.ai/api/v1" \
--target_model_api_token "$OPENROUTER_API_KEY" \
--stdio_server_cmd npx \
--stdio_server_args "-y slack-mcp-server@latest --transport stdio" \
--stdio_server_envs "SLACK_MCP_XOXP_TOKEN=$SLACK_MCP_XOXP_TOKEN SLACK_MCP_ADD_MESSAGE_TOOL=true" \
--iteration 100 \
--mutation_n 3
बहु-सर्वर
python run_main.py \
--server "Slack,CodeExecutor" \
--attacker_model "deepseek-chat" \
--attacker_model_api "https://api.deepseek.com" \
--attacker_model_api_token "$DEEPSEEK_API_KEY" \
--target_model "openai/gpt-5-mini" \
--target_model_api "https://openrouter.ai/api/v1" \
--target_model_api_token "$OPENROUTER_API_KEY" \
--stdio_server_cmd_1 npx \
--stdio_server_args_1 "-y slack-mcp-server@latest --transport stdio" \
--stdio_server_envs_1 "SLACK_MCP_XOXP_TOKEN=$SLACK_MCP_XOXP_TOKEN SLACK_MCP_ADD_MESSAGE_TOOL=true" \
--stdio_server_cmd_2 docker \
--stdio_server_args_2 "run -i --rm --workdir /app mcp-code-executor:latest" \
--iteration 100 \
--mutation_n 3
अधिक उदाहरण run_examples.sh में।
| तर्क | विवरण |
|---|---|
--server | MCP सर्वर नाम, बहु-सर्वर के लिए अल्पविराम से अलग |
--server_config | सर्वर परिभाषाओं के लिए JSON कॉन्फ़िग फ़ाइल |
--stdio_server_cmd/args/envs | एकल-सर्वर stdio मोड |
--stdio_server_cmd_1..8 / _args_1..8 / _envs_1..8 | अनुक्रमित बहु-सर्वर stdio मोड |
--remote_server_url, --remote_server_token | एकल दूरस्थ MCP एंडपॉइंट |
| तर्क | विवरण |
|---|---|
--attacker_model/api/api_token | हमलावर LLM (प्रॉम्प्ट उत्पन्न और उत्परिवर्तित करता है) |
--target_model/api/api_token | लक्ष्य LLM एजेंट (MCP के माध्यम से प्रॉम्प्ट निष्पादित करता है) |
--level_judge_model/api/api_token | निर्णायक LLM (छोड़े जाने पर हमलावर पर डिफ़ॉल्ट) |
| तर्क | डिफ़ॉल्ट | विवरण |
|---|---|---|
--iteration | 100 | उत्परिवर्तन दौरों की संख्या |
--mutation_n | 3 | प्रति दौर नमूना किए गए उत्परिवर्तक |
--max_workers | 10 | उत्पादन और मूल्यांकन के लिए समानांतरता |
--query_timeout | 300 | प्रति-क्वेरी टाइमआउट (सेकंड) |
--checkpoint_interval | 20 | हर N पीढ़ी पर चेकपॉइंट सहेजें |
--output_dir | outputs | परिणाम और TCG स्नैपशॉट |
--log_dir | logs | टेक्स्ट लॉग |
.
├── core/
│ ├── base.py # प्रयोग ऑर्केस्ट्रेशन और मूल्यांकन
│ ├── config.py # जोखिम श्रेणियाँ और हमले की शैलियाँ
│ ├── langchain_client.py # LangChain-आधारित MCP क्लाइंट
│ ├── llm.py # LLM रैपर
│ └── utils.py # CLI तर्क परिभाषाएँ
├── prompts/
│ └── tmap.py # बीज, निर्णायक, उत्परिवर्तन और विश्लेषण प्रॉम्प्ट
├── run_main.py # प्रवेश बिंदु
├── run_examples.sh # उदाहरण कमांड
└── requirements.txt
@article{lee2026tmapredteamingllmagents,
title={T-MAP: Red-Teaming LLM Agents with Trajectory-aware Evolutionary Search},
author={Hyomin Lee and Sangwoo Park and Yumin Choi and Sohyun An and Seanie Lee and Sung Ju Hwang},
year={2026},
eprint={2603.22341},
archivePrefix={arXiv},
primaryClass={cs.CR},
url={https://arxiv.org/abs/2603.22341}
}