prismor
AI代理运行时防火墙,hook拦截危险工具调用、阻断提示词注入、防止敏感信息外泄
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI代理运行时防火墙,hook拦截危险工具调用、阻断提示词注入、防止敏感信息外泄
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你正在用 Claude Code 或 Cursor 写代码,AI 代理在后台默默工作——它读取文件、安装依赖、调用 API,一切看起来都很顺利。但危险往往藏在看不见的地方:某份文档里嵌入了恶意指令,AI 悄悄把 .env 文件内容发送到了外部服务器;某个依赖安装命令被注入,AI 帮你装上了一个带后门的"优化包"。
传统的安全工具(防火墙、终端检测与响应 EDR)工作在操作系统内核层和文件系统层,它们不知道也不关心"AI 代理在做什么语义层面的操作"。当 EDR 看到 curl https://evil.com 时,它只看到一个普通网络请求——但 AI 代理发这个请求,可能是因为一份被污染的需求文档里的指令。这就是 AI 安全领域的核心 Gap:传统安全工具和 AI 代理意图之间存在语义鸿沟。
Prismor(曾用名 Immunity Agent)瞄准的正是这个空白。它不是去扫描病毒或监控系统调用,而是在 AI 代理执行工具调用之前,在"工具调用层"拦截危险行为。
Prismor 由 Prismor Security 团队开发,GitHub 位于 PrismorSec/prismor。项目采用 Apache-2.0 开源许可证,当前版本 1.18.3,在 AI 代理安全领域已获得 230+ stars 和 19 forks,获得了较高关注度。项目官方网站为 prismor.dev,配套文档站 docs.prismor.dev,同时维护了 X 社交媒体账号和 Discord 社区。
该团队的核心洞察是:AI 代理不是普通程序,它有"自主决策"能力,传统安全工具无法理解这种决策过程,因此需要一个专门运行在"代理意图层"的安全系统。
Prismor 提供了四层安全防护能力,覆盖了 AI 代理工作流中几乎所有危险场景:
运行时防火墙(Runtime Firewall) 是 Prismor 的核心能力。它通过 hook 机制在 AI 代理执行工具调用之前拦截请求,检查命令是否符合安全策略。比如,当 AI 代理准备执行 rm -rf / 或向外部服务器发送 API Key 时,Prismor 会在命令真正执行前将其阻断,并输出警告信息。这是 Claude Code、Cursor、Windsurf、OpenClaw、GitHub Copilot CLI 等主流 AI 编码代理的标准防护方式。
提示词注入防御(Prompt Injection Defense) 是另一项核心技术。攻击者可以在文件、Issue 或网页中嵌入恶意指令,诱导 AI 代理执行非预期操作。Prismor 实现了混合语义检测(Hybrid Semantic Detection),结合规则匹配和大语言模型语义分析,识别隐藏在正常内容中的注入攻击。区别于简单的关键词过滤,Prismor 能理解上下文语义,判断一条指令是否真的来自用户意图还是外部注入内容。
敏感信息泄露防护(Secret Exfiltration Prevention) 专门解决 AI 代理"好心办坏事"的问题。当 AI 在调试过程中读取了 .env 文件,它可能无意中将敏感信息发送给外部服务。Prismor 维护了一个敏感数据"下沉点"(Sink)列表,监控所有可能的外发渠道,并在检测到敏感信息外传时立即阻断。
供应链安全强化(Supply Chain Enforcement) 针对 AI 代理自行安装依赖包的风险。AI 在解决编程问题时经常"自作主张"安装包,而攻击者可以通过注册相似名称的恶意包来实施供应链攻击。Prismor 在包安装阶段进行拦截,结合已知 IOC(Indicator of Compromise)和包风险评分来阻止可疑安装。
Prismor 采用高度模块化的 Python 架构,核心代码集中在 prismor/runtime/ 目录下,主要模块包括:
policy_engine.py(约 89KB)是策略引擎核心。它读取 default_policy.yaml(约 64KB)中的 YAML 策略规则,对每个工具调用进行评估。这套策略系统支持细粒度配置——管理员可以为不同场景设置不同的阻断级别,从"仅警告"到"直接阻断"均可配置。
hooks.py(约 54KB)是连接 AI 代理的核心桥梁。不同 AI 代理(Claude Code、Cursor、Codex 等)有不同的 hook 配置方式,Prismor 通过适配器模式支持多种接入方式。Claude Code 使用 exit-2 方式阻断(即拦截在命令执行前返回退出码 2);Cursor 和 Windsurf 使用 JSON 权限提示框;OpenClaw 直接抛出异常。
semantic_guard.py 和 semantic_guard_v2.py 是提示词注入检测引擎。V2 版本采用了混合方法,结合传统正则规则和 LLM 语义分析,在准确率和性能之间取得平衡。
sweep.py 和 cloaking/ 模块提供了主动防御能力:sweep 对项目文件进行安全扫描,检测潜在的注入载荷;cloak 则通过混淆敏感文件内容来防止 AI 代理意外读取。
dashboard.html(约 220KB)是一个完全自包含的本地 HTML 仪表板,无需服务器即可查看 Prismor 的实时监控状态、拦截记录和安全报告。它通过 server.py 提供可选的 Web 服务模式。
Prismor 的适配器架构(adapters/ 目录)支持三类生态系统:
AI 编码代理(直接集成 hook):Claude Code ✅、Cursor ✅、Windsurf ✅、OpenClaw ✅、OpenAI Codex ✅、GitHub Copilot CLI ✅、Hermes(NousResearch)✅、Gemini CLI(🟡 有限支持)、OpenCode(🟡 SDK 级别)。
生产级框架:OpenAI Agents SDK ✅、CrewAI ✅、LangChain/LangGraph ✅、browser-use ✅、Vercel AI ✅。
这种广泛的兼容性使 Prismor 不仅适用于个人开发者,也适用于企业级 AI 代理系统的安全加固。
安装 Prismor 非常简单,只需要 Python 3.8+ 和 PyYAML:
pip install prismor
prismor setup
prismor setup 会启动一个交互式 TUI 向导,引导用户完成 hook 配置、策略文件生成和权限设置。对于企业用户,还可以通过参数化方式实现非交互式自动化部署。
使用中,Prismor 会以守护进程方式运行,实时监控 AI 代理的工具调用。当检测到危险操作时,它会在终端输出彩色警告信息并根据策略决定是否阻断。所有会话日志都会被持久化存储,供后续审计使用。
尽管 Prismor 填补了重要空白,但它也存在一些局限:提示词注入检测的语义分析依赖 LLM 调用,在网络不稳定或 LLM 服务不可用时降级为基础规则匹配,检测能力会有所下降。另外,供应链安全功能(supplychain/ 模块)主要覆盖 PyPI/npm 生态,对于其他语言生态的支持仍在完善中。
对于企业用户,Prismor 提供了可选的 Ed25519 签名功能(通过 cryptography>=41 实现),用于生成防篡改的遥测报告,这解决了安全团队对"Prismor 自身被攻击者篡改"的担忧。
随着 AI 代理从"辅助工具"向"自动化执行体"演进,安全风险成比例放大。2025-2026 年,GitHub Copilot、Claude Code、Cursor 等 AI 编码代理大规模普及,随之而来的是 Prompt Injection、Secret Leak、Supply Chain Attack 等攻击面迅速扩大。Prismor 作为这一趋势的直接产物,填补了"AI 代理层安全"这一新兴赛道的技术空白。
230+ stars 的增长曲线反映了开发者社区对 AI 代理安全工具的强烈需求。考虑到 AI 代理的渗透率仍在快速提升,Prismor 这类运行时安全工具的市场空间值得关注。