rustyorb/pincer

GitHub: rustyorb/pincer

面向大语言模型的红队自动化测试平台,提供多维度攻击载荷、启发式分析和专业渗透报告。

Stars: 2 | Forks: 0

# :lobster: RedPincer **AI/LLM 红队测试套件** [![Next.js](https://img.shields.io/badge/Next.js-16-black?logo=next.js)](https://nextjs.org/) [![React](https://img.shields.io/badge/React-19-61DAFB?logo=react)](https://react.dev/) [![TypeScript](https://img.shields.io/badge/TypeScript-Strict-3178C6?logo=typescript)](https://www.typescriptlang.org/) [![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-4-06B6D4?logo=tailwindcss)](https://tailwindcss.com/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) *将 RedPincer 指向任何 LLM API endpoint,选择你的攻击模块,并运行自动化红队评估,获得实时流式结果、启发式分析和可导出的报告。*
## 目录 - [功能特性](#-features) - [v0.3 版本更新](#-whats-new-in-v03) - [快速开始](#-quick-start) - [使用说明](#-usage) - [架构设计](#-architecture) - [项目结构](#-project-structure) - [技术栈](#-tech-stack) - [许可证](#-license) ## :sparkles: 功能特性
### :dart: 攻击引擎 - 跨 4 个类别的 **160+ 攻击 Payload** - 针对 GPT、Claude、Llama 的 **模型特定攻击** - **20 种变体转换** (unicode, 编码, 大小写等) - 带模板变量的 **攻击链** - 通过目标 LLM 进行 **AI 驱动的 Payload 生成** - 即时 **停止/取消** 正在运行的攻击 ### :bar_chart: 分析与报告 - 具备上下文感知分析的 **启发式响应分类器** - **漏洞热力图** — 可视化的类别 x 严重性矩阵 - 带加权评分 (A+ 到 F) 的 **自定义评分标准** - 包含 10 个章节 + 附录的 **详细渗透测试报告** - **多目标对比** — 并排配置文件 - **回归测试** — 追踪修复情况
### 核心能力 | 类别 | Payload 数量 | 描述 | |:---------|:--------:|:------------| | :syringe: **Prompt Injection** | 40 | 指令覆盖、分隔符混淆、间接注入、Payload 走私 | | :unlock: **Jailbreak** | 40 | 人格分裂、逐步升级、假设性框架、角色扮演利用 | | :mag: **Data Extraction** | 40 | 系统提示窃取、训练数据探测、成员推理、Embedding 提取 | | :shield: **Guardrail Bypass** | 40 | 输出过滤器规避、多语言绕过、同形字技巧、上下文溢出 | ### 多 Provider 支持 ``` OpenAI · Anthropic · OpenRouter · Any OpenAI-compatible endpoint ``` ## :rocket: v0.3 版本更新
Bug 修复 - **自动获取模型** — 输入 API Key 后从下拉菜单选择可用模型 - **编辑/删除目标** — 对保存的 LLM 目标进行完整 CRUD 操作 - **减少误报** — 上下文感知分析可检测“先解释后拒绝”的模式 - **停止按钮** — 使用 AbortController 取消正在运行的攻击 - **详细报告** — 10 章节专业渗透测试质量报告
新功能 - :sparkles: **AI Payload 生成** — 使用目标 LLM 生成新颖的攻击 Payload - :brain: **自适应攻击引擎** — 分析弱点并建议针对性的后续攻击 - :chart_with_upwards_trend: **多目标对比** — 对多个模型运行相同的 Payload - :world_map: **漏洞热力图** — 成功率的可视化矩阵 - :repeat: **回归测试** — 保存基线,检测已修补/新出现的漏洞 - :pencil2: **自定义评分标准** — 带字母等级的加权标准 - **60 个新 Payload** — 现在总计 160 个(每类 40 个)
## :zap: 快速开始 ``` # 克隆 repository git clone https://github.com/rustyorb/pincer.git cd pincer # 安装 dependencies npm ci # 启动 development server npm run dev ``` 打开 **[http://localhost:3000](http://localhost:3000)** 访问仪表板。 ### 生产环境构建 ``` npm run build npm start ``` ## :video_game: 使用说明 ### 入门指南 ``` graph LR A[Configure Target] --> B[Select Categories] B --> C[Run Attack] C --> D[Review Results] D --> E[Generate Report] D --> F[Run Adaptive Follow-up] E --> G[Export Markdown] ``` 1. **配置目标** — 添加 LLM endpoint,包括 provider、API Key 和模型(自动获取) 2. **选择攻击类别** — 勾选要测试的类别 3. **运行攻击** — 点击 RUN 流式执行攻击;点击 STOP 随时取消 4. **查看结果** — 通过启发式分类、严重性评分和泄露数据高亮进行分析 5. **生成报告** — 将综合发现导出为 Markdown ### 高级工具 | 工具 | 描述 | |:-----|:------------| | **Compare** | 同时对 2-4 个目标运行相同的 Payload | | **Adaptive** | 分析运行中的弱点,生成针对性的后续攻击 | | **Heatmap** | 按类别和严重性划分的漏洞率可视化矩阵 | | **Regression** | 保存基线结果,稍后重新运行以检测修复或回归 | | **Scoring** | 定义自定义标准,包含加权的类别/严重性/分类评分 | | **Chains** | 使用 `{{previous_response}}` 模板变量构建多步骤攻击 | | **Payload Editor** | 创建带有语法高亮 + AI 生成的自定义 Payload | ## :building_construction: 架构设计 ### 数据流 ``` Target Config ──> POST /api/attack ──> NDJSON Stream ──> Heuristic Analysis ──> Zustand Store │ localStorage ``` - **所有组件均为客户端** (`"use client"`) — 无服务端组件 - **单页布局** — `page.tsx` 根据 `store.view` 切换视图 - **NDJSON 流** — 来自 API 路由的实时结果 - **启发式分析** — 模式匹配分类器(无基于 LLM 的评分) - **Zustand + persist** — 状态同步到 `localStorage` ### API 路由 | 路由 | 方法 | 描述 | |:------|:------:|:------------| | `/api/attack` | POST | 以 NDJSON 流式传输攻击结果 | | `/api/chain` | POST | 执行多步骤攻击链 | | `/api/test-connection` | POST | 验证 endpoint 连通性 | | `/api/models` | POST | 从 provider 获取可用模型 | | `/api/generate-payload` | POST | AI 驱动的 Payload 生成 | ## :open_file_folder: 项目结构 ``` src/ ├── app/ │ ├── page.tsx # Main app with 12-view routing │ ├── layout.tsx # Root layout + fonts │ ├── globals.css # Tailwind + OKLCH color tokens │ └── api/ │ ├── attack/route.ts # Attack streaming (NDJSON) │ ├── chain/route.ts # Chain execution │ ├── test-connection/route.ts # Connection validation │ ├── models/route.ts # Model list fetching │ └── generate-payload/route.ts # AI payload generation ├── components/ │ ├── sidebar.tsx # Navigation + targets + run/stop │ ├── target-config.tsx # Target CRUD + model dropdown │ ├── attack-modules.tsx # Payload browser │ ├── results-dashboard.tsx # Results + analysis display │ ├── report-generator.tsx # Verbose report export │ ├── chain-builder.tsx # Multi-step chain editor │ ├── session-manager.tsx # Export/import sessions │ ├── payload-editor.tsx # Custom payloads + AI generation │ ├── comparison-dashboard.tsx # Multi-target comparison │ ├── adaptive-runner.tsx # Adaptive follow-up attacks │ ├── vulnerability-heatmap.tsx # Category × severity heatmap │ ├── regression-runner.tsx # Baseline regression testing │ ├── scoring-config.tsx # Custom scoring rubrics │ └── ui/ # shadcn/ui components └── lib/ ├── store.ts # Zustand store (persisted) ├── types.ts # TypeScript interfaces ├── llm-client.ts # Multi-provider LLM client ├── analysis.ts # Context-aware heuristic engine ├── adaptive.ts # Weakness analysis + follow-ups ├── scoring.ts # Custom scoring rubric engine ├── chains.ts # Attack chain definitions ├── variants.ts # 20 payload transforms ├── persistence.ts # Session export/import └── attacks/ ├── index.ts # Payload aggregation + queries ├── injection.ts # 40 prompt injection payloads ├── jailbreak.ts # 40 jailbreak payloads ├── extraction.ts # 40 data extraction payloads └── bypass.ts # 40 guardrail bypass payloads ``` ## :hammer_and_wrench: 技术栈 | 层级 | 技术 | |:------|:-----------| | **Framework** | Next.js 16 (App Router + Turbopack) | | **UI** | React 19 + Tailwind CSS 4 + shadcn/ui | | **Language** | TypeScript (strict mode) | | **State** | Zustand 5 with persist middleware | | **Icons** | Lucide React | | **Toasts** | Sonner | | **Theme** | Dark mode with custom OKLCH color tokens | ## :page_facing_up: 许可证 [MIT](LICENSE) — 详情见 LICENSE 文件。
*专为授权的 AI 安全研究和红队测试而构建。* :lobster: **RedPincer** — *攻破那些 Guardrail*
标签:AES-256, AI伦理, AI安全, Chat Copilot, CISA项目, DLL 劫持, Kubernetes 安全, React, Syscalls, Tailwind CSS, TypeScript, 代码生成, 大语言模型, 安全工具包, 安全插件, 安全测试, 护栏绕过, 攻击性安全, 数据提取, 模型鲁棒性, 渗透测试工具, 渗透测试报告, 漏洞评估, 自动化攻击