vindicara-inc/projectair
GitHub: vindicara-inc/projectair
面向 AI Agent 的取证重建与事件响应工具,通过签名意图胶囊链记录每一步决策,检测 OWASP Agentic 安全风险并导出可审计的取证报告。
Stars: 1 | Forks: 0
Project AIR™
针对 AI 代理的取证重建与事件响应。
当您的 AI 代理偏离预设轨道时,AIR 会告诉您发生了什么并提供证明。
vindicara.io ·
快速入门 ·
定价 ·
博客
## AIR 是什么
AIR 为每一个代理决策(llm、tool、finish)写入一个 **签名意图胶囊 (Signed Intent Capsule)**。意图胶囊模式在 [OWASP Top 10 for Agentic Applications v12.6](https://owasp.org/www-project-top-10-for-large-language-model-applications/) 中被列为 ASI01 的第 5 项缓解措施:这是一种新兴模式,它将声明的目标、约束和上下文绑定到签名信封中的每个执行周期。AIR 的磁盘格式兼容 AgDR(即发布在 accountability.ai 上的 AI Decision Record schema),因此胶囊可以与更广泛的生态系统互操作。每个胶囊都通过 BLAKE3 进行内容哈希,使用 Ed25519 签名,并链接到上一个步骤。`air` CLI 会重放该链,验证每一个签名,并根据两个公开的 OWASP 分类法加上一个 AIR 原生检查来报告发现:
- **OWASP Top 10 for Agentic Applications** (10 项中的 8 项):ASI01 Agent Goal Hijack、ASI02 Tool Misuse & Exploitation、ASI04 Agentic Supply Chain Vulnerabilities(部分,仅限 MCP 供应链风险)、ASI05 Unexpected Code Execution (RCE)、ASI06 Memory & Context Poisoning、ASI07 Insecure Inter-Agent Communication、ASI08 Cascading Failures、ASI09 Human-Agent Trust Exploitation。ASI03、ASI10 在路线图中。
- **OWASP Top 10 for LLM Applications** (3 个类别):LLM01 Prompt Injection、LLM04 Model Denial of Service、LLM06 Sensitive Information Disclosure。
- **AIR 原生**:用于追踪不可追溯操作的取证链完整性 (forensic-chain-integrity) 检查。
它是运行在您的防护措施 (guardrails) **背后**的层。预防工具 (Lakera, NeMo Guardrails, Bedrock Guardrails) 试图阻止不良事件的发生。AIR 则以一种安全、法律和保险部门可以采取行动的形式,提供实际发生事件的证据。
## 安装
```
pip install projectair
```
这会同时安装 `air` 终端命令和 `airsdk` Python 库。
## 10 秒健全性检查
```
air demo
```
生成一条全新的已签名胶囊链(13 个步骤,包含两个内置的 ASI 违规),验证每个签名,运行检测器,并在您旁边写入 `forensic-report.json`。不需要代理、不需要日志文件、也不需要任何连接。
## 30 秒用法
检测您的 LangChain 代理:
```
from airsdk import AIRCallbackHandler
from langchain.agents import AgentExecutor
handler = AIRCallbackHandler(
key="...", # Ed25519 signing key; auto-generated when omitted
log_path="my-agent.log",
user_intent="Draft a Q3 sales report from the CRM data",
)
agent = AgentExecutor(callbacks=[handler], ...)
```
代理采取的每一个步骤都会作为签名意图胶囊追加到 `my-agent.log` 中。
重放追踪:
```
air trace my-agent.log
```
您将获得一份控制台报告:签名已验证,ASI01/ASI02 发现已标记,检测器覆盖率如实显示,并在此同时生成 `forensic-report.json`。
## 此仓库包含什么
这是一个 monorepo。
- **[`packages/projectair/`](packages/projectair/)**:发布到 PyPI 的 MIT 许可 `projectair` 包。提供 `air` CLI 和 `airsdk` Python 库。这是公开的、受支持的 AIR 表面。
- **[`site/`](site/)**:[vindicara.io](https://vindicara.io) 的 SvelteKit 源码。
- **`src/vindicara/`**:较旧的 Apache-2.0 运行时安全引擎(策略评估器、MCP 扫描器、代理 IAM、漂移监视器、合规收集器)。它现在是 AIR 底层的引擎基座,而不是公开的产品表面。保留用于参考和未来的集成。
关于过去存放在这里的传统五支柱 README,请参见 [`docs/legacy-vindicara-readme.md`](docs/legacy-vindicara-readme.md)。
## 状态
| 表面 | 状态 |
|-----------------------------------------|---------------------------|
| BLAKE3 + Ed25519 签名意图胶囊链 (AgDR 格式) | 已实现,已测试 |
| 链重放时的篡改检测 | 已实现,已测试 |
| LangChain `AIRCallbackHandler` | 已实现 |
| ASI01 Agent Goal Hijack | 已实现 (启发式) |
| ASI02 Tool Misuse & Exploitation | 已实现 (正则表达式) |
| ASI04 Agentic Supply Chain Vulnerabilities | 已实现 (部分:仅限 MCP 供应链风险) |
| ASI05 Unexpected Code Execution (RCE) | 已实现 (执行语义工具名称模式) |
| ASI06 Memory & Context Poisoning | 已实现 (启发式:检索输出 + 内存写入扫描) |
| ASI07 Insecure Inter-Agent Communication | 已实现 (身份、随机数、重放、降级、描述符伪造检查) |
| ASI08 Cascading Failures | 已实现 (对代理间消息进行振荡对 + 扇出突发检查) |
| ASI09 Human-Agent Trust Exploitation | 已实现 (在敏感操作前进行捏造理由 + 操纵性语言扫描) |
| ASI03, ASI10 | 尚未实现 |
| AIR-01 Prompt Injection | 已实现,映射到 OWASP LLM01 |
| AIR-02 Sensitive Data Exposure | 已实现,映射到 OWASP LLM06 |
| AIR-03 Unrestricted Resource Consumption | 已实现,映射到 OWASP LLM04 |
| AIR-04 Untraceable Action | 已实现,AIR 原生 |
| JSON 取证导出 | 已实现 |
| PDF 取证导出 | 已实现 (fpdf2) |
| SIEM 取证导出 (ArcSight CEF v0) | 已实现 |
| LangChain 回调集成 | 已实现 |
| OpenAI SDK 集成 | 已实现 |
| Anthropic SDK 集成 | 已实现 |
| LlamaIndex / CrewAI / AutoGen | 尚未实现 |
| AIR Cloud (托管仪表板,SIEM) | 尚未实现 |
处于 1.0 之前阶段。检测器启发式方法会产生误报和漏报。已签名的链本身是生产级密码学。有关下一步计划的详细信息,请参阅[定价页面](https://vindicara.io/pricing)。
## 贡献
欢迎提交 Issues、能破坏检测器的追踪记录以及新的 ASI 检测器 PR。Bug 和功能请求:https://github.com/vindicara-inc/projectair/issues。
## 许可证
- `packages/projectair/` 和 `projectair` PyPI 发行版:**MIT**。参见 [`packages/projectair/LICENSE`](packages/projectair/LICENSE)。
- `src/vindicara/`(引擎基座,未发布):**Apache-2.0**。
标签:AI Agent 安全, ASI01-ASI10, BLAKE3, CISA项目, Ed25519, ETW劫持, Go语言工具, LLM 安全, Python, URL发现, 上下文注入, 不可篡改, 人工智能安全, 决策记录, 合规性, 哈希链, 大模型安全, 安全检测, 密码学签名, 工具滥用, 数字取证, 文档安全, 无后门, 日志记录, 构建工具, 目标劫持, 编程工具, 自动化脚本, 远程代码执行, 逆向工具