vindicara-inc/projectair

GitHub: vindicara-inc/projectair

面向 AI Agent 的取证重建与事件响应工具,通过签名意图胶囊链记录每一步决策,检测 OWASP Agentic 安全风险并导出可审计的取证报告。

Stars: 1 | Forks: 0

Project AIR™

针对 AI 代理的取证重建与事件响应。
当您的 AI 代理偏离预设轨道时,AIR 会告诉您发生了什么并提供证明。

vindicara.io · 快速入门 · 定价 · 博客

Python 3.12+ MIT Alpha

## 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发现, 上下文注入, 不可篡改, 人工智能安全, 决策记录, 合规性, 哈希链, 大模型安全, 安全检测, 密码学签名, 工具滥用, 数字取证, 文档安全, 无后门, 日志记录, 构建工具, 目标劫持, 编程工具, 自动化脚本, 远程代码执行, 逆向工具