kagexai/mirage

GitHub: kagexai/mirage

一款浏览器 AI 红队扩展,通过自主 agent 循环对 LLM 聊天界面和 API 发起对抗性测试,用确定性评分发现安全漏洞。

Stars: 0 | Forks: 0

# Mirage 一款在您的浏览器中运行的 AI 红队 agent。将其指向任何 AI —— 聊天小部件、 agent 或 API endpoint —— 它就会像真正的对手一样发起攻击:侦察、规划、测试、 评估、迭代。每一项发现都经过确定性确认,因此模型绝对无法通过自我评分来获取胜利。 由 KageX 构建。 ## 功能 - **自主循环。** 侦察 → 规划 → 测试 → 评估 → 迭代。攻击者模型会对 目标进行指纹识别,形成假设,发起攻击,读取结果并进行自适应调整 —— 没有固定的 payload 列表。 - **目标驱动。** 设定一个目标(提取 system prompt、寻找 flag、获取违规 内容、滥用工具),一旦目标的响应达成了目标,Mirage 就会立即停止。 - **双重目标界面。** 既可以驱动当前活动标签页中的在线聊天 UI,也可以直接请求已配置的 API endpoint。对两者发起相同的攻击。 - **多 provider。** 支持 Claude、OpenAI、Grok 和本地 Ollama —— 既可用作攻击者/评估者的大脑,也可 用作目标。 - **确定性评分。** 获胜需要一个真实的 marker / canary / 副作用,并可通过 base64、rot13、反转文本以及零宽文本进行解码。LLM 评估者是附加性的,绝对不作为 唯一的评判标准。 - **映射 OWASP-LLM**,支持导出 HTML/JSON 报告以及由 AI 编写的执行摘要。 ## 开发说明 ``` npm install npm run dev # opens a dev Chrome with the extension loaded (HMR) npm run build # production build → .output/chrome-mv3 npm run compile # tsc --noEmit npm test # vitest ``` 加载未压缩的扩展:`chrome://extensions` → 开发者模式 → **加载已解压的扩展程序** → `.output/chrome-mv3`。 重新构建后,请**重新加载**扩展程序并接受任何新的网站访问权限 提示 —— Mirage 需要 host 权限才能注入到处于测试中的标签页(任何 http/https 网站)。 ## 使用说明 1. 打开侧边栏并接受授权使用通知。 2. 在 **设置** 中配置您的攻击者/评估者模型和 API key。默认使用快速模型 (grok-4-fast、gpt-4o-mini、claude-haiku);旗舰模型速度较慢但更智能。 3. 将焦点切换到包含 AI 聊天 UI 的标签页(常规的 `http`/`https` 页面 —— 而非 `chrome://`)。 4. 选择目标 **当前标签页**(或 API)、**节奏** 以及一个目标。 5. **启动。** 实时观察 agent 的推理过程;随后导出报告。 如果您看到 `no host permission for …`,请在 `chrome://extensions` 重新加载 Mirage,以便更新后的 host 权限生效。 API key 存储在 `chrome.storage.local` 中,且绝不会写入报告中。 ## 技术栈 采用 WXT、TypeScript 和 React 构建的 MV3 扩展程序。核心模块:`src/engine/agent.ts`(主 循环)、`src/agents/`(红队 agent、目标评估者)、`src/scoring/`(确定性确认)、 `src/providers/`、`src/targets/`、`src/report/`。 ## 安全提示 Mirage 会向您指定的任何目标发送对抗性 prompt。请仅对您拥有或获得明确授权的系统 进行测试。 ## 许可证 MIT —— 详情请参阅 [LICENSE](./LICENSE)。
标签:AI红队, TypeScript, 反取证, 安全插件, 安全评估, 浏览器扩展, 自动化攻击