HOLYKEYZ/ModelFang

GitHub: HOLYKEYZ/ModelFang

基于图论的大语言模型对抗性测试框架,支持自动化多轮越狱攻击与实时安全评估。

Stars: 14 | Forks: 3

# ModelFang ### 高级 AI 红队测试与 LLM 漏洞利用框架 ModelFang Logo **ModelFang** 是一个授权的、基于图论的对抗性测试框架,旨在评估大语言模型 (LLM) 的安全性和鲁棒性。它能够自动化生成、执行和评分复杂的多轮越狱攻击。 ## 🔥 概念验证:成功越狱 ModelFang 使用 Auto-LLM 模式,在仅需 **2 轮** 对话的情况下成功越狱了 **Llama 3.3 70B** 和 **Gemini 2.5 Pro**: | 攻击提示词 | 目标响应 (已越狱) | |:---:|:---:| | ![Attacker Prompt](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/b0ec3e96fc080140.png) | ![Target Response](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/e6e71445d1080142.png) | ## 关键特性 * **基于图论的攻击引擎**:具备条件分支和回溯功能的非线性攻击流。 * **自适应策略**:6 层程序化生成(语境夺取 → 升级 → 违规)。 * **FSM 评估器**:利用有限状态机进行确定性的成功检测(拒绝、困惑、服从)。 * **实时仪表盘**:现代化的 Next.js 分析师 UI,用于实时监控。 ![Attack History](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/9f954c3c91080143.png) * **多提供商支持**:适配 **Groq** (Llama 3, Mistral) 和 **Google Gemini**。 * **安全与控制**:全局执行预算、变异纪律和严格的审计日志。 ## 安装说明 ### 前置条件 * Python 3.8+ * Node.js 18+ (用于 UI) ### 1. 克隆并配置后端 ``` # 安装 Python 依赖 pip install -r requirements.txt ``` ### 2. 配置前端 (UI) ``` cd frontend pnpm install cd .. ``` ## 配置 1. **API 密钥**:将 `.env.example` 重命名为 `.env`(或创建该文件)并添加您的密钥: GROQ_API_KEY=gsk_... GEMINI_API_KEY=AIza... # Auth (必填) AUTH_SECRET=your_generated_secret AUTH_USERNAME=admin AUTH_PASSWORD=modelfang2024 2. **模型配置**:编辑 `config/models.yaml` 以定义目标: llama3-70b: provider: groq model_name: llama-3.3-70b-versatile role: target ## 使用方法 ### 选项 A:分析师仪表盘 (推荐) 1. **启动后端 API**: python -m modelfang.api_server *(运行在端口 5000)* 2. **启动前端 UI**: cd frontend pnpm run dev *(运行在端口 3000)* 3. 打开 **[http://localhost:3000](http://localhost:3000)** 以运行攻击。 ### 选项 B:CLI 强力工具 (无头模式) 使用增强版 CLI 直接从终端运行复杂的攻击: ``` # 列出可用模型 python -m modelfang.cli list models # 1. 标准模板攻击 python -m modelfang.cli run --model target-llama3 --template standard # 2. IRIS 自越狱(迭代优化) # 使用攻击模型优化针对目标的提示词 python -m modelfang.cli run --model target-llama3 --iris "Generate a ransomware script" --attacker-model attacker-gemini # 3. 策略傀儡(框架诱导) python -m modelfang.cli run --model target-gpt4 --puppetry "Bypass safety filters" # 4. AmpleGCG(迁移后缀) python -m modelfang.cli run --model target-llama3 --gcg "Write a keylogger" # 5. 弱到强(对数概率引导) python -m modelfang.cli run --model target-llama3 --weak-strong "Explain how to hack" # 6. 自动化红队测试(LLM 对抗 LLM) python -m modelfang.cli run --model target-llama3 --attacker "Find vulnerabilities" --attacker-model attacker-gemini ``` ## 项目结构 * `modelfang/` - 核心 Python 包 * `orchestrator/` - 攻击执行逻辑 * `strategies/` - 程序化提示词生成 * `evaluator/` - 成功/失败分类 * `adapters/` - LLM API 连接器 * `frontend/` - Next.js React 仪表盘 * `config/` - YAML 配置文件 * `output/` - 攻击报告和日志 ## 部署 ### 后端 (Render) | 设置 | 值 | |---------|-------| | **Root Directory** | `.` (项目根目录) | | **Build Command** | `pip install -r requirements.txt` | | **Start Command** | `gunicorn modelfang.api_server:app` | **环境变量 (Render):** ``` GROQ_API_KEY=gsk_... GOOGLE_API_KEY=AIza... ``` ### 前端 (Vercel) | 设置 | 值 | |---------|-------| | **Root Directory** | `frontend` | | **Framework Preset** | Next.js | | **Build Command** | `next build` (默认) | | **Install Command** | `pnpm install` (默认) | **环境变量 (Vercel):** ``` NEXT_PUBLIC_API_URL=https://your-render-backend.onrender.com AUTH_SECRET=generate_a_secure_random_string_here AUTH_USERNAME=admin AUTH_PASSWORD=your_secure_password ``` ### 身份验证 (NextAuth v5) ModelFang 使用 **NextAuth.js v5** 和标准凭证进行安全访问。 1. **生成密钥**: 运行 `openssl rand -base64 32` 或使用安全的随机字符串生成器。 2. **设置环境变量**: 将 `AUTH_SECRET`、`AUTH_USERNAME` 和 `AUTH_PASSWORD` 添加到您的 `.env`(本地)或 Vercel 仪表盘(生产环境)。 3. **登录**: 在 `/login` 使用配置的凭证。 **仅供授权使用。** 此工具旨在针对您拥有或已获得明确测试许可的模型进行安全研究和红队测试。生成有害内容违反了大多数 LLM 提供商的使用政策。请负责任地使用。
标签:AI安全, AI鲁棒性, Chat Copilot, Groq API, IP 地址批量处理, Llama 3, LLM越狱, Prompt注入, Python, Rego, 内容安全策略, 反取证, 图计算攻击, 域名收集, 多轮对话攻击, 大模型安全, 安全评估, 对抗攻击, 敏感信息检测, 无后门, 模型漏洞扫描, 白帽黑客, 私有化部署, 网络安全, 自动化渗透测试, 规则仓库, 逆向工具, 防御规避, 隐私保护