KristinaSabitova/SPECTRA
GitHub: KristinaSabitova/SPECTRA
SPECTRA 是一个针对 AI Agent 流水线的红队安全审计平台,通过模拟间接 prompt 注入攻击帮助企业提前发现 Agent 被恶意操纵的风险。
Stars: 0 | Forks: 0
# SPECTRA
### 针对 AI agent pipeline 的安全审计平台
## 什么是 SPECTRA?
SPECTRA 是一个 red team 平台,旨在审计人工智能 agent pipeline 针对间接 **prompt 注入** 攻击的安全性。
当业界还在争论 AI 生成什么内容时,SPECTRA 将焦点放在了一个不同的问题上:当 AI 接收到恶意 input 时会发生什么?它会泄露内部数据吗?它会接受攻击者的指令吗?它会在自己的内存中植入持久化指令吗?
越来越多的企业部署了可访问真实工具(如数据库、邮件、GitHub、Google Drive)的 AI agent,并将它们连接到外部数据源。SPECTRA 用于审计这些 agent 是否会被这些来源操纵。
## 解决的问题
我们对 AI 的信任方式,是我们不会应用于任何其他系统的:
- 我们向其粘贴包含敏感业务逻辑的 system prompt
- 我们赋予其具有真实权限的工具访问权
- 我们将其连接到外部文档和知识库
- 我们向其托付客户数据、密码和访问权限
agent 检索到的一个文档、抓取的一个网页、一条数据库记录——这些来源中的任何一个都可能包含恶意指令。如果 agent 没有将其过滤掉,攻击者就掌握了控制权。
SPECTRA 会在那些心怀不轨的人之前,精确测试这种攻击向量。
## 工作原理
SPECTRA 通过三个阶段执行自动化审计:
### 1. 侦察
对目标 pipeline 进行指纹识别:检测 framework(LangChain、AutoGen、n8n、Dify)、活跃的 endpoint、可用工具以及 agent 的能力。
### 2. 注入 payload
生成并发送针对 pipeline 特征定制的注入 payload,涵盖 7 类攻击:
| 类别 | 描述 |
|-----------|-------------|
| `tool_misuse` | 胁迫 agent 使用带有攻击者参数的工具 |
| `context_poison` | 使用虚假事实破坏工作上下文 |
| `role_override` | 篡改 system prompt 和 agent 的人设 |
| `exfiltration` | 提取 system prompt、内存或用户数据 |
| `instruction_hijack` | 将合法任务重定向至攻击者的目标 |
| `persistence_plant` | 在跨 session 内存中植入持久化指令 |
| `jailbreak_assist` | 通过注入的内容进行间接 jailbreak |
### 3. 分类与取证分析
agent 的每一个响应都会被分类为 `benigna`(良性)、`sospechosa`(可疑)或 `maliciosa`(恶意)。分析结果包含完整的取证推理:
- 具体哪个指标触发了该分类,以及它出现在哪一行
- 该发现对实际风险意味着什么
- agent 本应该采取什么正确做法
## 兼容的 Agent
SPECTRA 可以审计任何通过 HTTP 暴露的 pipeline。原生支持:
- **LangChain** — 带有工具的链和 agent
- **AutoGen** — 多 agent pipeline
- **n8n** — 带有 AI 节点的工作流
- **Dify** — 带有知识库的 LLM 应用
- **Generic** — 任何接受用户 input 的 endpoint
## AI 配置审计
对于使用 ChatGPT、Claude 或其他 LLM 而没有部署自己 agent 的团队,SPECTRA 包含一个静态配置审计模块:粘贴贵公司的 system prompt,描述上下文和连接的工具,SPECTRA 即可在不需要活跃 endpoint 的情况下分析攻击面。
## 主要特性
- 实时仪表盘 — 在注入 payload 时通过 SSE 实时跟踪运行过程
- 审计时间线 — 展示运行过程中的每个事件,包含发送的 payload、接收到的响应和元数据
- 具有取证推理的发现结果 — 每个发现都有一个可展开的面板,包含描述、证据和建议
- blast radius — 计算 pipeline 图级联影响的半径
- 持久化检测 — 验证注入的指令是否能在 session 之间留存
- 导出报告 — 支持 markdown、HTML 和 PDF
- 多语言 — ES / EN / RU
- 访问角色 — admin、senior、junior 拥有不同的权限
- 基于 TOTP 的 2FA — 原生双因素认证
- 集成实验室 — 包含一个真实的脆弱 agent,用于测试和开发
## 技术栈
**后端** — FastAPI · Python · SQLAlchemy · AsyncIO · httpx
**前端** — React · TypeScript · Vite · Zustand · i18next · D3
**基础设施** — Docker Compose · nginx · PostgreSQL · Let's Encrypt
## 安装说明
```
git clone https://github.com/KristinaSabitova/SPECTRA
cd SPECTRA
cp .env.example .env
# 使用你的凭证编辑 .env
docker compose up -d
```
有关完整的配置,请参阅 [INSTALL.md](INSTALL.md)。
## 项目背景
SPECTRA 最初是作为一项关于 AI 系统安全的个人研究项目诞生的。其动机很简单:业界非常关注 AI 生成了什么——幻觉、偏见、output 质量——但却很少关注当有人试图操纵 AI 时它会作何反应。
间接 prompt 注入攻击非常隐蔽,难以检测,并且对于拥有真实工具访问权限的 agent 具有极高的威胁。SPECTRA 是一款帮助安全团队在真实攻击者下手之前测试其 pipeline 的工具。
## 安全性
有关负责任的披露政策,请参阅 [SECURITY.md](SECURITY.md)。
*由 [Kristina Sabitova](https://github.com/KristinaSabitova) 开发*
*由 [Kristina Sabitova](https://github.com/KristinaSabitova) 开发*标签:AI安全, Chat Copilot, CISA项目, DLL 劫持, IPv6支持, Web报告查看器, 大语言模型, 对称加密, 测试用例, 版权保护, 自动化审计, 运行时操纵, 逆向工具