ocra

安全与隐私

哪些内容会离开你的机器,以及 ocra 如何做隔离。

会发送给模型供应商的内容

  • 审查员的指令、变更的标题和描述,以及被审查文件的 diff。
  • AGENTS.md 和匹配的 .ocra/rules.json 规则。
  • 审查员通过工具请求的文件内容和搜索结果。

除此之外不会附加任何内容:ocra 启动 agent 运行时时,会关闭你本机的 OpenCode 全局配置、已安装的 skill 和项目指令文件,因此你本机的信息不会进入提示词。

隔离

  • OpenCode 运行时只监听 127.0.0.1,每次运行使用随机端口和随机密码,状态存放在临时目录里,结束后删除。
  • 审查工具由 ocra 自己的进程在 127.0.0.1 上提供,需要随机生成的 bearer token 才能访问。
  • 所有内置 agent 工具(shell、编辑文件、访问网络)都被关闭,审查员只能读取被审查的那个版本。
  • 模型请求的路径被限制在仓库之内,通过符号链接也跑不出去。

不可信的输入

PR 的文字、diff 和仓库文件一律当作数据处理,其中的指令永远不会被执行;模仿 ocra 提示词结构的文本,在交给模型之前就会被中和。

密钥

供应商 key 只从环境变量读取,绝不会写入配置、日志或会话文件。

CI

  • 把 key 存为 CI 的 secret。
  • 不要用 pull_request_target 带着 secret 在不可信的代码上运行 ocra。
  • .ocra/config.json、规则和插件都应当从受保护的 base 分支读取,而不是从 PR 里读取。
在 GitHub 上编辑

本页目录