Skip to content

凭据与权限边界

Peri 可以读写文件、执行 shell、访问网络和调用扩展工具。审批模式影响“是否在执行前询问”,不提供操作系统级隔离。

交互 TUI 没有显式权限参数时使用 Bypass。要进入 Default 审批模式:

Terminal window
peri --permission-mode default

也可以显式指定:

Terminal window
peri --permission-mode default

未知权限模式会回退到 Bypass。启动后检查状态栏显示,不要只根据启动命令推断最终模式。

非交互 -p 默认也是 Bypass,并会自动回应工具权限请求。当前 --allowed-tools 与 --disallowed-tools 在 print 路径没有应用,不能作为 CI 安全控制。

即使使用 Default 或 AcceptEdit,工具最终仍以 Peri 进程的 OS 用户权限运行。高风险任务应同时使用:

  • 临时容器或受限用户。
  • 只挂载任务需要的目录。
  • 最小网络访问。
  • 外部 secret 注入和短期凭据。
  • 可丢弃的 Git worktree 或明确快照。

apiKey 与 config.env 以明文 JSON 保存。配置写入使用临时文件加 rename,但没有显式设置文件权限;权限依赖现有文件、umask 和平台。

类 Unix 系统可检查:

Terminal window
chmod 700 ~/.peri
chmod 600 ~/.peri/settings.json

工作区 .peri/settings.json 不应进入版本控制。公开日志、issue 或截图前删除 key、token、内网 endpoint 和真实路径。

官方安装示例通过网络直接执行 main 分支脚本。发布工作流会生成 checksum,但当前 shell 与 PowerShell 安装器没有校验下载制品 checksum。

需要更严格审计时,先下载脚本和制品,检查内容与发布来源,再在隔离环境执行。安装成功不代表制品已经由本地 checksum 验证。

peri web 默认监听 0.0.0.0,即请求监听全部网卡:

Terminal window
peri web --host 127.0.0.1 --port 8080

是否能从外网访问还取决于防火墙、容器网络和路由。除非已经配置认证、反向代理和网络访问控制,否则不要把 Web PTY 暴露到不受信任网络。

Hooks、MCP server、Skills 和 Plugins 会扩大可执行代码与数据访问面:

  • 安装前查看来源与权限需求。
  • MCP 配置更改后重启,再检查 /mcp 状态。
  • Hook 中不要把完整工具输入发送到未知 HTTP endpoint。
  • 第三方 skill 是给 Agent 的指令,不应自动获得超出当前任务的授权。

相关文档:权限系统 · Settings 参考 · 安装 · 非交互模式 · MCP