pharosone/vector-plugin
GitHub: pharosone/vector-plugin
Vector 是一个集成到主流 AI 编辑器中的红队扫描插件,用于对 LLM Agent 进行持续的对抗性安全测试并生成修复建议。
Stars: 0 | Forks: 0
# Vector
**针对 LLM agent 的红队扫描 —— 直接集成到你的编辑器中。**
一个插件。四大 AI 编辑器。为你交付的 agent 提供持续的对抗性测试。
[](./LICENSE)
[](https://github.com/pharosone/vector-plugin/releases/tag/v0.1.2)
[](#claude-code)
[](#cursor)
[](#codex)
[](#gemini-cli)
[](https://modelcontextprotocol.io)
[安装](#install) · [功能特性](#what-you-get) · [认证机制](#how-auth-works) · [自托管](#self-hosted--private-deployments) · [pharosone.ai](https://pharosone.ai)
## 这是什么
[Vector](https://pharosone.ai) 是一个针对 LLM agent 的红队控制平面,由 [Pharos One](https://pharosone.ai) 运营。它会针对你特定的 agent 规划定向攻击,使用独立的 LLM 评估响应,并生成可操作的检测结果 —— 每次攻击对应 `PASS` / `FAIL` / `PARTIAL`,并进行评分、分类,映射到 AIUC-1 领域。
此插件为你的 AI 编辑器提供了访问 Vector 控制平面的一流入口,并内置了四项技能,可将检测结果转化为 pull request:
```
your AI editor ─▶ Vector plugin ─▶ MCP (OAuth) ─▶ Vector SaaS ─▶ planner + judge
│
◀──── findings ◀── report ◀────────────────────────────┘
│
▼
skills propose: adapter, CI step, narrow fix, regression test
```
在编辑器内使用无需复制任何 API 密钥。MCP server 在首次调用时通过 OAuth 2.1 进行授权 —— 你的浏览器将打开 Clerk 的授权同意页面,你只需点击批准,token 就会由编辑器在本地缓存。(仅在用于 CI/CD 时才需要长效 API 密钥 —— 请参阅下方的[认证机制](#how-auth-works)。)
## 安装说明
### Claude Code
```
/plugin marketplace add pharosone/vector-plugin
/plugin install vector@vector
```
然后输入 `/mcp` → 选择 `plugin:vector:vector` → 在浏览器中批准。
### Cursor
1. Cursor 设置 (`⌘⇧J`) → **Plugins** → **Add from URL**
2. 粘贴 `https://github.com/pharosone/vector-plugin`
### Codex
```
codex plugin marketplace add pharosone/vector-plugin
```
在 Codex 中:输入 `/plugins` → 选择 **vector** → **Install**。
### Gemini CLI
```
gemini extensions install https://github.com/pharosone/vector-plugin
```
Gemini 原生不支持 HTTP MCP,因此该扩展通过 `mcp-remote@latest` 进行桥接(首次使用时 npx 会自动安装桥接程序)。OAuth 认证流程相同。
## 功能特性
安装后,你将获得:**四项技能** + **一个 MCP server**。
### 技能
| 技能 | 何时使用 | 产出内容 |
| --- | --- | --- |
| **`integrate`** | 首次设置 | 一个调用你 LLM agent 的 `AgentAdapter`,一个驱动 Vector REST API 的 `RedTeamRunner`,一个 CI workflow,以及一个供你审查的 PR |
| **`harden-from-finding`** | 在出现单个 `FAIL` 后 | 针对你的系统 prompt 或工具定义进行定向修改,外加一个重放该确切攻击的回归测试 |
| **`batch-fix-findings`** | 在包含多个 `FAIL` 的完整会话后 | 检测结果按**根本原因**分组,每组一个最小补丁,每组一个回归测试 —— 而不是针对 N 个检测结果生成 N 个修复 |
| **`create-agent-context`** | 创建已保存的 agent 配置时 | Slug + 包含 5 个字段的 `AgentContext` JSON,可直接粘贴到控制台的 **New agent** 表单中 |
### 如何调用技能
| 编辑器 | 调用方式 |
| --- | --- |
| Claude Code | `/vector:integrate`, `/vector:harden-from-finding` 等 |
| Cursor / Codex | `/integrate`, `/harden-from-finding` 等 |
| Gemini CLI | 自然语言 —— *“integrate Vector into this repo”* 即可匹配 `integrate` 技能 |
在所有这四个客户端中,技能描述都会自动与你的请求进行匹配 —— 通常你不需要刻意去记这些名称。
### MCP server
预先配置好的入口,指向 `https://vector-api.pharosone.ai/api/v1/mcp/`。安装后,编辑器的 MCP 面板将列出 `vector`,其包含的工具与 SDK 保持 1:1 对应:
| 工具 | 功能描述 |
| --- | --- |
| `create_session` | 启动一个新的红队会话(规划器会为你的 agent 选择攻击方式) |
| `get_session` | 获取会话的状态与进度 |
| `list_attacks` | 拉取计划好的攻击 prompt 以发送给你的 agent |
| `submit_results` | 提交你 agent 的响应以供评判 |
| `wait_for_report` | 长轮询等待直到报告生成完毕 |
| `get_report` | 获取结论、摘要、AIUC 覆盖范围及检测结果 |
| `agents.*` | 对已保存的 agent 配置执行 CRUD 操作 |
## 认证机制
这里有**两个独立的认证端**,分别供两种不同的调用者使用:
| 端 | 调用者 | 认证方式 | 设置位置 |
| --- | --- | --- | --- |
| **MCP 工具**(此插件) | 交互式会话中的 AI 编辑器 | OAuth 2.1 (Clerk) —— 首次调用时通过浏览器流程授权 | 已在此预先配置 —— 无需复制任何内容。你只需在编辑器打开的浏览器标签页中点击一次即可。 |
| **REST API** (`/api/v1/sessions`, `/api/v1/agents`, …) | CI 运行器(夜间定时任务、PR 门禁、部署后的冒烟测试) | `Authorization: Bearer ak_...` —— Clerk 长效 API 密钥 | 在控制台中生成一次 → **API keys** (`https://vector.pharosone.ai/api-keys`),作为 CI 密钥存储并配置到本地 `.env` 中。`integrate` 技能生成的代码会从 `VECTOR_API_KEY` 读取它。 |
| **控制台**(浏览器 UI) | 浏览器中的人工操作 | Clerk 会话 cookie | `https://vector.pharosone.ai` —— 使用你的组织账户登录 |
这两个认证端都连接到同一个后端(`https://vector-api.pharosone.ai`)并查看相同的数据,只是入口不同。只要涉及读取会话或检测结果,该插件的技能会优先使用 MCP —— 完全不需要处理任何密钥。`integrate` 为你的代码仓库构建的 CI 集成是唯一需要长效密钥的地方,因为 CI 在无人值守的情况下运行,没有浏览器界面。
### 首次 MCP 调用 (OAuth 2.1, PKCE-S256, RFC 8707)
```
1. plugin ─▶ POST /api/v1/mcp (no auth)
2. server ─▶ 401 WWW-Authenticate: Bearer ... resource_metadata=标签:AI智能体, LNA, MCP协议, 大语言模型安全, 安全测试, 插件, 攻击性安全, 机密管理, 防御加固