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 显示覆盖层,允许一键批准/拒绝/加入白名单。
  • 两种代理模式 –
    1. 内置代理 (代码模式) – IronCurtain 自己的 LLM 编写在 V8 隔离区中执行的 TypeScript。
    2. Docker 代理模式 – 外部 LLM 在没有公共网络的 Docker 容器内运行;其所有 API 调用都经过 MITM 代理,所有 MCP 调用都经过策略检查。
  • 角色与技能 – 命名策略配置文件(角色)捆绑了宪法、编译规则、工作区和语义记忆。SKILL.md 包可以以只读方式挂载到每个 Docker 会话中,为代理提供特定领域的指导。
  • 工作流 – 预构建的多代理管道(例如,漏洞发现、设计与编码)编排多个代理,每个代理都有自己的策略,并公开一个用于监控和人工门控的 Web UI。

如何开始

  1. 全局安装 CLI:npm install -g @provos/ironcurtain(需要 Node 24/26)。
  2. 导出 LLM API 密钥(ANTHROPIC_API_KEY、OPENAI_API_KEY 或 GOOGLE_GENERATIVE_AI_API_KEY)。
  3. 运行 ironcurtain setup – 向导会创建 ~/.ironcurtain/config.json 并帮助您添加 GitHub 令牌、网络搜索提供商等。
  4. 启动推荐的终端多路复用器:ironcurtain mux。代理出现在 PTY 中;任何需要批准的工具调用都会弹出内联选择器。
  5. (可选) 自定义策略: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。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目