cy873rr10r/promptCTF

GitHub: cy873rr10r/promptCTF

一个兼容 OpenEnv 的 Prompt 注入 CTF 环境,帮助红蓝双方在本地标准化地训练和评估 LLM 注入攻防策略。

Stars: 0 | Forks: 0

# PromptCTF-Env 兼容 OpenEnv 的 Prompt 注入 CTF 环境,支持本地模拟防御者。 ## 目前可运行的内容 - `env/` 核心逻辑与类型化 schema - 用于 `create/reset/step` 的 FastAPI 服务器 - 用于手动攻击测试的 Gradio UI - 红/蓝模式,归一化奖励范围为 `[0.0, 1.0]` - 训练脚手架中兼容 W&B 的日志钩子 此本地设置不需要 GPU。防御者行为是模拟的,因此您可以在 8GB 内存的机器上验证环境逻辑。 ## 已为后续搭建的脚手架 - 通过 Unsloth + TRL GRPO 进行 Qwen 2.5 7B 攻击者微调 - 蓝方防御者训练循环 - 一旦获得 HF GPU 额度即可进行真实模型执行 ## 快速开始 ``` cd /path/to/promptctf python -m venv promptctf_venv source promptctf_venv/bin/activate pip install -r requirements.txt ``` 运行 API 服务器: ``` python -m uvicorn src.server.main:app --host 0.0.0.0 --port 8000 --reload ``` 运行 UI(在新终端中): ``` python -m src.ui.app ``` - API 文档:http://localhost:8000/docs - UI:http://localhost:7860 ## 模式 - 红队模式:奖励跟踪提取成功(完全泄露 flag 为 `1.0`) - 蓝队模式:奖励跟踪拦截成功(拦截且未泄露为 `1.0`) ## 核心布局 ``` src/ env/ models.py # typed action/observation/reward schemas tasks.py # easy/medium/hard tasks defender.py # mock defender backend rewards.py # reward logic for red/blue environment.py # reset/step OpenEnv-style API server/main.py # FastAPI service ui/app.py # Gradio test UI training/ red_train.py # GRPO scaffold blue_train.py # defender scaffold ``` ## 训练(仅脚手架) ``` python -m src.training.red_train --task easy --config configs/openenv.yaml python -m src.training.blue_train ``` 这些命令会准备输出文件夹和配置,但尚不会运行 GPU 训练。 ## Docker ``` docker build -t promptctf-env . docker-compose up ``` 容器面向 CPU,用于本地环境验证。
标签:AI安全, API服务, AV绕过, Chat Copilot, CTF环境, Docker, FastAPI, Gradio, LLM漏洞, OpenAI Gym, Python, Qwen2.5, Rewards, TGT, TRL GRPO, UI测试, Unsloth, 大模型安全, 安全防御评估, 对抗性机器学习, 强化学习环境, 攻防演练, 无后门, 模型微调, 混合加密, 网络安全, 蓝队防御, 请求拦截, 逆向工具, 隐私保护