rustyorb/pincer
GitHub: rustyorb/pincer
面向大语言模型的红队自动化测试平台,提供多维度攻击载荷、启发式分析和专业渗透报告。
Stars: 2 | Forks: 0
# :lobster: RedPincer
**AI/LLM 红队测试套件**
[](https://nextjs.org/)
[](https://react.dev/)
[](https://www.typescriptlang.org/)
[](https://tailwindcss.com/)
[](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, 代码生成, 大语言模型, 安全工具包, 安全插件, 安全测试, 护栏绕过, 攻击性安全, 数据提取, 模型鲁棒性, 渗透测试工具, 渗透测试报告, 漏洞评估, 自动化攻击