chiivy/aist
GitHub: chiivy/aist
AIST 是一个开源的 AI agent 提示注入安全测试框架,根据 agent 的实际执行能力对漏洞严重程度进行感知工具的上下文评分。
Stars: 0 | Forks: 0
# AIST:Agentic Injection Security Tester
开源 AI agent 安全测试框架,涵盖 prompt 注入、
guardrail 绕过、工具参数注入以及输出操纵。



## 问题背景
AI agent 可以访问电子邮件、文件、数据库和 API。Prompt 注入
在 OWASP LLM Top 10 和 OWASP Agentic AI
Top 10 中均位居第一,因为一次成功的攻击不仅仅会产生错误的回复。
它还会窃取数据、发送电子邮件、删除文件,并调用用户
从未授权的 API。
2026 年 4 月,研究人员确认 Claude Code、Gemini CLI 和
GitHub Copilot Agent 均通过包含特制内容的 prompt 注入
遭到入侵。攻击面是真实、活跃的,且其增长速度
远超用于测试它的工具。
大多数现有工具测试的是 LLM。AIST 测试的是 agent,并根据 agent 实际的执行能力
对漏洞严重程度进行评分。
## AIST 的独特之处
| 功能 | AIST | Promptmap | Rebuff | Pytector |
|---------|------|-----------|--------|----------|
| 感知工具的上下文严重性评分 | 是 | 否 | 否 | 否 |
| 攻击面映射与发现 | 是 | 否 | 否 | 否 |
| Agent 间检测 | 是 | 否 | 否 | 否 |
| Guardrail 绕过测试 | 是 | 否 | 否 | 否 |
| 工具参数注入测试 | 是 | 否 | 否 | 否 |
| 输出操纵测试 | 是 | 否 | 否 | 否 |
| 多轮攻击链测试 | 是 | 否 | 否 | 否 |
| 二阶注入保护 | 是 | 否 | 否 | 否 |
| Canary token 验证 | 是 | 否 | 是 | 否 |
| 会话持久性测试 | 是 | 否 | 否 | 否 |
| 流式响应支持 | 是 | 否 | 否 | 否 |
| 环境与 OS 探测 | 是 | 否 | 否 | 否 |
| 通过模型指纹识别进行自适应测试 | 是 | 否 | 否 | 否 |
| 用于精准检测的 LLM judge 分析 | 是 | 否 | 否 | 否 |
| 可配置的证据暴露模式 | 是 | 否 | 否 | 否 |
| 本地执行,不向第三方发送数据 | 是 | 是 | 否 | 是 |
| 映射 MITRE ATLAS 的发现 | 是 | 否 | 否 | 否 |
| 兼容 SIEM 的结构化日志 | 是 | 否 | 否 | 否 |
| 已发布的威胁模型 | 是 | 否 | 否 | 否 |
**感知工具的评分** 意味着相同的漏洞会根据
agent 的实际执行能力产生不同的评分。对于具有
只读权限的 agent,其 prompt 注入风险与具有电子邮件、文件
和数据库访问权限的 agent 的同名注入风险截然不同。目前没有现有的开源工具
考虑到这一点。
## 快速开始
**最小配置 —— 立即运行基础扫描:**
```
pip install aist
aist scan --target https://your-agent.com
```
**完整配置 —— 实现最高检测准确率:**
```
# Clone the repo
git clone https://github.com/chiivy/aist
cd aist
# 复制 environment 模板
cp .env.example .env
# 使用你的值编辑 .env
# 关于 canary 设置选项,请参阅 docs/canary_setup.md
# 安装并扫描
pip install -e .
aist scan --target https://your-agent.com \
--tools email,files,database \
--output report.html
```
**AIST 会根据您的配置进行优雅降级:**
| 配置 | 检测方法 | 准确率 |
|--------------|-----------------|----------|
| 完整配置 (LLM key + canary) | LLM judge + canary 触发 | 最高 |
| 仅 LLM key | LLM judge 分析 | 高 |
| 仅 Canary | Canary 触发 + 字符串匹配 | 中 |
| 无配置 | 仅字符串匹配 | 基本 |
有关免费的 canary 选项(包括 canarytokens.org),请参阅 [docs/canary_setup.md](docs/canary_setup.md)。
## AIST 的测试内容
**侦察与发现**
- 攻击面映射:endpoint、已连接的 agent、未公开的工具
- 用于自适应 payload 选择的模型指纹识别
- Guardrail 和安全边界检测
- 环境与 OS 探测
- 内存与存储架构检测
- 流式响应处理
**注入测试**
- 跨越六种 payload 类别的直接 prompt 注入
- 通过受污染的文档和工具响应进行的间接注入
- 在发起攻击前逐步构建上下文的多轮攻击序列
- 通过角色和权限注入绕过身份验证
- 会话持久性:成功的注入是否能在不同会话间留存
- Canary token 泄露检测
- 二阶注入:AIST 自身受到保护,免受恶意 agent 响应的影响
**绕过 Guardrail**
- 虚构和假设性框架绕过
- 通过 base64 和字符替换进行编码绕过
- 多语言安全过滤规避
- 跨越多轮的碎片化攻击
- 人格注入与越狱模式
- 通过流式传输进行 token 走私
**工具参数注入**
- 通过数据库工具进行 SQL 注入
- 通过 shell 工具进行命令注入
- 通过文件工具进行路径遍历
- 通过 Web 浏览工具进行 SSRF,包括 AWS、Azure 和 GCP 的 metadata endpoint
- 环境变量提取
**输出操纵**
- 生成输出中的 XML 和 JSON 注入
- 代码生成攻击
- 包含恶意链接的 Markdown 注入
- 针对消费 agent 输出的系统的下游 prompt 注入
每项发现均映射至 MITRE ATLAS 技术,并使用结合了 CVSS 与感知工具风险权重的
上下文严重性模型进行评分。
## 输出
每次扫描都会生成:
- 包含执行摘要和红绿灯评分的 HTML 报告
- 用于机器处理和 pipeline 集成的 JSON 报告
- 用于在 GitHub 和 VS Code 中原生显示的 SARIF 输出
- 兼容 SIEM 的结构化 JSON 审计日志
**三种报告模式:**
| 模式 | 命令 | 用例 |
|------|---------|----------|
| 标准 | `aist scan --target ...` | 默认。对敏感值进行部分掩码处理 |
| 敏感 | `aist scan --target ... --expose-evidence` | 用于修复的完整值。需要确认 |
| 执行 | `aist scan --target ... --executive` | 仅显示红绿灯。对非技术利益相关者安全 |
## 隐私与数据主权
AIST 完全在您的本地机器上运行。
您的 API key、目标 endpoint 和漏洞发现绝不会离开
您的环境。除了您正在测试的 agent 以及您为响应分析配置的
LLM API 之外,AIST 不会进行任何外部调用。
无需账户。不向第三方发送数据。无遥测。
不回传数据。
这对于处理敏感 agent 的安全团队至关重要。您可以
完全透明地查看正在测试的内容,并完全控制
发现的存储位置。
## 设计
AIST 的设计是以威胁模型优先的。在编写任何代码之前,对工具本身进行了完整的
STRIDE 分析,包括将二阶 prompt 注入识别为一种特定的架构威胁(即安全测试工具通过其接收到的响应成为攻击目标)。
阅读完整的威胁模型:[docs/threat_model.md](docs/threat_model.md)
## 路线图
| 版本 | 目标 | 重点关注 |
|---------|--------|-------|
| v1.0 | 2026 年 6 月 | 核心扫描引擎,HTML 和 SIEM 报告 |
| v1.5 | 2026 年第 3 季度 | MCP server 测试,RAG pipeline 注入 |
| v2.0 | 2026 年第 4 季度 | 批量扫描,原生 CI/CD 集成,执行仪表板 |
## 作者
由 [@chiivy](https://github.com/chiivy) 构建
标签:AI安全, Chat Copilot, CISA项目, DLL 劫持, OWASP Top 10, Web报告查看器, 后端开发, 多语言支持, 大语言模型, 子域枚举, 安全测试框架, 红队评估, 逆向工具