provos/ironcurtain
A secure* runtime for autonomous AI agents. Policy from plain-English constitutions. (*https://ironcurtain.dev)
IronCurtain – 自主 AI 代理的安全运行时
它是什么 – IronCurtain 是一个研究原型平台,允许您运行 LLM 驱动的代理(例如 Claude Code、Goose、Codex),同时保持宿主系统的安全。您编写一份简短、人类可读的宪法,说明代理可以或不可以做什么。IronCurtain 使用基于 LLM 的编译器将该文本转换为确定性策略,通过生成的测试场景验证策略,然后在运行时为代理进行的每次工具调用强制执行规则。
为什么它很重要 – 当前的代理框架赋予模型完全的用户权限(文件系统、网络、凭据)。一次提示注入或漂移就可能导致破坏性操作。IronCurtain 的模型上下文协议 (MCP) 介入和 V8/Docker 沙箱提供了纵深防御:代理被视为不可信,所有外部影响都由策略引擎进行调解,该引擎可以允许、拒绝或升级给人类处理。
关键概念
- 宪法 → 编译策略 – 用简单的英语编写意图;系统注释 MCP 工具,编译 if/then 规则,解析动态列表,生成测试场景,并在使用前验证策略。
- 策略引擎 – 在沙箱外运行;每个 MCP 请求(文件系统、git、网络、包安装等)都通过它。
- 升级 UI – 当规则需要人工批准时,IronCurtain 会在终端多路复用器(Ctrl-A 命令模式)中或通过 Web UI 显示覆盖层,允许一键批准/拒绝/加入白名单。
- 两种代理模式 –
- 内置代理 (代码模式) – IronCurtain 自己的 LLM 编写在 V8 隔离区中执行的 TypeScript。
- Docker 代理模式 – 外部 LLM 在没有公共网络的 Docker 容器内运行;其所有 API 调用都经过 MITM 代理,所有 MCP 调用都经过策略检查。
- 角色与技能 – 命名策略配置文件(角色)捆绑了宪法、编译规则、工作区和语义记忆。SKILL.md 包可以以只读方式挂载到每个 Docker 会话中,为代理提供特定领域的指导。
- 工作流 – 预构建的多代理管道(例如,漏洞发现、设计与编码)编排多个代理,每个代理都有自己的策略,并公开一个用于监控和人工门控的 Web UI。
如何开始
- 全局安装 CLI:
npm install -g @provos/ironcurtain(需要 Node 24/26)。 - 导出 LLM API 密钥(
ANTHROPIC_API_KEY、OPENAI_API_KEY或GOOGLE_GENERATIVE_AI_API_KEY)。 - 运行
ironcurtain setup– 向导会创建~/.ironcurtain/config.json并帮助您添加 GitHub 令牌、网络搜索提供商等。 - 启动推荐的终端多路复用器:
ironcurtain mux。代理出现在 PTY 中;任何需要批准的工具调用都会弹出内联选择器。 - (可选) 自定义策略:
ironcurtain customize-policy→ 编辑生成的constitution-user.md→ironcurtain compile-policy以重建确定性规则。
运行模式
ironcurtain start "<prompt>"– 一次性任务,内置代理或通过--agent标志的 Docker 代理。ironcurtain mux– 带有升级处理的完整交互式 TUI。ironcurtain daemon --web-ui– 用于计划任务和基于浏览器的 UI 的后台服务。ironcurtain workflow start <name> "<goal>"– 启动定义的多代理工作流。
状态 – 标记为研究原型。API、配置格式和整体架构预计会演变。该项目包括 CI、npm 发布以及不断增长的文档集(SANDBOXING.md、WORKFLOWS.md 等)。
了解更多 – 官方网站:https://ironcurtain.dev(包含“我们所说的安全是什么意思?”常见问题解答)。存储库包含详细的设计文档、演示 GIF 和用于工作流检查的 Web UI。
相关
- 项目
- 项目
- 项目
- 项目
- 项目