immunity-agent
AI编程代理的运行时安全控制平面,拦截危险工具调用、防止密钥泄露、阻断供应链攻击
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI编程代理的运行时安全控制平面,拦截危险工具调用、防止密钥泄露、阻断供应链攻击
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2025 年中,某科技公司的 AI 编程助手在修复一个 Bug 时,读到了项目根目录下的 .env 文件,随后将数据库凭证发送到了一个外部 API——这不是攻击者的手笔,而是 AI 代理在"好心帮忙"时无意中泄露了机密。这个场景正在全球数万个开发团队中以不同形式上演。
传统的安全工具(EDR、防火墙、SEM)工作在操作系统内核和文件系统层,但 AI 编程代理的决策发生在更上层——工具调用层。当安全工具终于看到一条危险操作时,代理已经决定执行它了。这个"最后一公里"的安全空白,正是 Prismor 要填补的地方。
Prismor(项目原名 immunity-agent,现已更名)由 PrismorSec 团队开发,是一个专为 AI 编程代理设计的运行时安全控制平面。团队在 2024–2025 年间观察到 AI 代理的快速普及与安全意识不足之间的巨大鸿沟,决定从"代理实际执行工具的那一刻"这一最关键节点入手,构建一个可在任意 AI 编程代理上即插即用的安全层。
Prismor 获得了包括亚马逊、Adobe、微软、Salesforce、VMware、OpenTable 在内的众多科技公司开发者的实际使用。其 GitHub 仓库已积累 230+ Stars,围绕 AI 代理安全这一新兴领域形成了一定的社区影响力。项目采用 Apache-2.0 开源许可证,核心开发活跃,更新节奏快。
Prismor 的安全能力被划分为五个层次,从拦截、预防、检测、审计到持续学习,形成闭环:
Prismor 在 AI 代理的 PreToolUse / PostToolUse 钩子处拦截每一次工具调用,通过 YAML 策略规则判断是否放行。策略引擎支持 observe(仅记录)和 enforce(阻止执行)两种模式,且可精确到每一条规则独立配置。当检测到 rm -rf /、curl | bash、云元数据访问(169.254.169.254)等高危操作时,实时阻断并记录审计日志。
每一条 npm install、pip install、cargo add 命令在执行前都会经过 Prismor 的风险评分引擎。评分维度包括:包龄(age)、维护者数量、是否含安装脚本、是否命中已知 IOC(失陷指标)。得分 ≥60 或命中 IOC 时直接阻断。Prismor 内置了对 mini-shai-hulud(2026年5月)和 AntV 劫持维护者攻击(2026年5月)等真实威胁的检测能力。
Cloak 在工具调用边界对密钥进行替换:真实密钥存储在本地 (~/.prismor/secrets/) 而非传给模型,代理只收到占位符,执行时才由 Cloak 解析真实值。Sweep 则在离线状态下扫描 AI 工具缓存,清理已泄露的敏感信息。项目还支持 Canary(蜜罐凭证文件),一旦代理读取蜜罐立即触发 CRITICAL 告警。
这是 Prismor 的高阶能力:对于正则规则无法捕捉的语义变种攻击(如通过同义词、编码、混淆方式绕过的提示词注入),Semantic Guard 引入 LLM 辅助判断,验证用户真实意图与代理当前行为是否一致。这一层为可选模块,按需开启。
所有安全规则以 YAML 格式声明,纳入 Git 版本管理,与基础设施即代码(IaC)理念一脉相承。支持组织级(org)、团队级(team)、个人级(person)三层策略覆盖,并可授予有时间限制的临时豁免(exemption)。
Prismor 的架构高度模块化,核心由 Python 实现,依赖极简(仅 pyyaml),通过 CLI 入口 prismor 驱动。
核心模块(prismor/runtime/):
| 模块 | 文件 | 职责 |
|---|---|---|
| 策略引擎 | policy_engine.py、policies.py、default_policy.yaml | YAML 规则加载、执行、覆盖逻辑 |
| 钩子系统 | hooks.py、runtime.py | PreToolUse/PostToolUse 拦截入口 |
| 会话存储 | store.py、audit.py | SQLite/JSONL 审计日志持久化 |
| 供应链 | supplychain/ | 包管理器包装、IOC 匹配、风险评分 |
| 秘密管理 | cloaking/、sanitizer.py | 本地密钥存储、执行时替换、输出清洗 |
| 语义守卫 | semantic_guard.py、semantic_guard_v2.py | LLM 辅助意图验证 |
| 网络隔离 | sinks.py | 出站白名单、IP 检测、网络隧道阻断 |
| 身份与权限 | iam.py、scoped_agent.py | 代理身份配置、最小权限策略合成 |
| 学习模块 | learning.py | 会话历史挖掘、新规则建议、误报检测 |
| 仪表盘 | dashboard.html、server.py | 终端 TUI + Web 可视化界面 |
框架适配器(adapters/):
Prismor 通过标准化适配器接口支持多种 AI 框架:
adapters/langchain/prismor_langchain/adapters/crewai/prismor_crewai/adapters/openai-agents/prismor_openai/adapters/browser-use/prismor_browser_use/adapters/vercel-ai/supplychain/ 内置 Skill Scanner 支持 MCP 风险扫描此外,项目还提供了 Hermes Agent 插件(通过 pip 入口点自动发现)和 Claude Code 的深度集成,可在 CLAUDE.md 中直接引用 SKILL.md 实现零中断接入。
Prismor 提供了三种安装路径:
curl -sSL https://prismor.dev/install | sh,自动检测环境选择最优安装方式pip install prismor && prismor setup,启动交互式 TUI 向导git clone ... && bash init.sh,适合离线环境安装后运行 prismor status 即可查看安全状态。prismor setup 向导提供四步配置:选择执行模式(observe/enforce)、开关检测规则、选择代理类型、启用秘密防护 Cloaking。仪表盘支持终端 TUI 和本地 Web 两种查看方式,审计日志同时以 SQLite 和 JSONL 格式存储。
性能开销极低:在 10,000 次代理会话的模拟测试中,Prismor 每次工具调用的额外延迟仅为 0.8ms,且该开销主要来自 shell 进程启动时间,与命令复杂度无关。
尽管 Prismor 填补了 AI 代理安全的关键空白,但其局限性也值得关注:
Dockerfile,虽然有 docs/docker.md 文档,但不支持开箱即用的容器部署Prismor 出现于 AI 代理从"实验玩具"走向"生产级工具"的关键节点。随着 Claude Code、Cursor、Windsurf、OpenCode 等 AI 编程代理的大规模采用,企业面临的安全风险已从理论变为现实——提示词注入、凭证泄露、供应链投毒、权限滥用等问题正在高频发生。
从行业视角看,Prismor 代表了"安全左移"理念在 AI 时代的延伸:不是等攻击发生后再响应,而是在代理执行工具的那一刻进行前置拦截。这与 Palo Alto Networks 的 Prisma AIRS、Silverfort 的 AI Agent Security、Knostic 等商业产品的思路一致,但 Prismor 以开源方式提供了可自托管、可审计的基础安全能力。
OWASP 也在 2025 年推出了 Agentic Top 10(ASI01-ASI10),将代理系统的安全问题系统化。Prismor 的能力矩阵与 OWASP 标准直接对齐,覆盖了 LLM01(提示词注入)、LLM02(敏感信息泄露)、LLM03(供应链)、LLM05(输出处理不当)、LLM06(过度代理)五大类别。
总结:Prismor 是目前开源社区中,对 AI 编程代理安全覆盖最完整、框架适配最广泛的工具之一。对于已经在使用或计划引入 AI 编程代理的团队,Prismor 提供了一个零门槛、高覆盖、可审计的安全基础设施,值得在团队内优先试点部署。