pi-computer-use安全最佳实践:运行AI Agent前的5项桌面安全清单
【免费下载链接】pi-computer-useLet Pi control your apps on MacOS & Windows项目地址: https://gitcode.com/GitHub_Trending/pi/pi-computer-use
pi-computer-use是一个让 AI Agent 直接操作 macOS、Windows 和 Linux 桌面应用的 Pi 扩展:Agent 可以观察应用窗口、识别按钮与文本,并执行点击、输入、滚动、等待等操作。正因为 AI Agent 会真实地"动手"控制你的电脑,运行前的桌面安全配置至关重要。本文为你整理了一份运行 AI Agent 前的 5 项安全清单,帮助你在享受自动化便利的同时守住安全边界。
1️⃣ 最小权限原则:只授予必要的一项系统权限
AI Agent 要控制桌面,必须依赖操作系统级的权限。pi-computer-use 在 macOS 上通过独立的辅助应用~/Applications/pi-computer-use.app申请权限,你需要授予的只有两项:
- 辅助功能(Accessibility):用于读取界面结构并执行点击、输入
- 屏幕录制(Screen Recording):用于观察窗口内容
✅安全要点:只给pi-computer-use.app这个身份授权,不要顺手给其他终端或脚本应用开权限。macOS 的授权是按"进程身份"区分的,授权给错误的身份会导致功能异常(详见 docs/troubleshooting.md 中 "Permission source says caller" 一节)。权限检查逻辑可参考 src/permissions.ts,它明确区分了helper-app与caller两种授权来源。
Windows 和 Linux 则要求 Pi 运行在当前用户的交互式图形会话中(Linux 还需 AT-SPI2 无障碍总线),这本身就是一道天然隔离:Agent 只能操作你当前会话里可见的窗口,无法越权到别的用户会话。
2️⃣ 一键上保险:用browser_use锁死浏览器边界
浏览器是敏感操作的"重灾区"——账号、支付、聊天记录都在里面。pi-computer-use 提供了一个开关browser_use,设为false后,扩展会直接拒绝所有已知的浏览器窗口(Safari、Chrome、Firefox、Arc、Edge、Brave 等),从根上阻断 Agent 控制浏览器的可能。
{ "browser_use": false }✅安全要点:如果你的项目只处理本地办公应用,建议在项目级配置 .pi/computer-use.json 中关闭浏览器访问。默认值为true(见 src/config.ts),"默认开放"意味着你需要主动收紧它。
3️⃣ 严格后台模式:headless: true划出硬边界
默认情况下 Agent 可以切换前台窗口、移动光标、发送原始键鼠事件。如果你的使用场景是批处理、CI 任务或无人值守运行,建议开启headless: true,它会强制 Agent 只能"在后台"工作,以下行为全部被禁止:
- ❌ 抢占用户正在使用的前台窗口焦点
- ❌ 发送原始指针/键盘事件
- ❌ 移动全局鼠标光标
- ❌ 显示 Agent 光标覆盖层
✅安全要点:headless 模式是 pi-computer-use 提供的最严格执行策略,配合"模糊的指针动作绝不盲目重放"(ambiguous pointer actions are never replayed blindly)的运行时规则,可大幅降低 Agent"误操作你正在用的应用"的风险。策略细节见 docs/architecture.md 的 "Acting and batching" 一节。
4️⃣ 敏感网页任务:始终使用独立浏览器配置
若任务确实需要控制网页,pi-computer-use 的launch_browser已经内建了两项关键安全设计:
- 专用临时配置(Profile):每次启动的浏览器都使用全新的非默认
--user-data-dir临时目录,不触碰你日常使用的账号 Cookie(Chrome 136+ 也会拒绝默认目录的远程调试开关) - 随机回环端口:CDP 调试端口绑定到本地 loopback 地址且随机分配,外部进程无法轻易接管页面
✅安全要点:不要手动指定你日常浏览器的调试端口去复用个人配置。相关实现可参考 src/cdp.ts,配置说明见 docs/configuration.md 的 "CDP browser support" 一节。
5️⃣ 运行前必做:用/computer-use核对生效配置
配置来自三层:全局配置~/.pi/agent/extensions/pi-computer-use.json、项目配置.pi/computer-use.json、环境变量(环境变量优先级最高)。多层覆盖很容易"配了个寂寞"。
✅安全要点:在每次让 Agent 执行桌面操作前,先在 Pi 中运行/computer-use命令,它会显示当前实际生效的配置及其来源。这是一条零成本的审计动作,能确保你写的browser_use: false、headless: true真的生效了。
📋 5 项清单速查表
| # | 检查项 | 建议配置 | 适用场景 |
|---|---|---|---|
| 1 | 系统权限最小化 | 仅授权给pi-computer-use.app | 所有平台 |
| 2 | 浏览器访问边界 | browser_use: false | 无需控制浏览器时 |
| 3 | 严格后台模式 | headless: true | 无人值守 / CI 任务 |
| 4 | 独立浏览器配置 | 默认临时 Profile | 涉及敏感网页时 |
| 5 | 生效配置核对 | 运行/computer-use | 每次任务启动前 |
总结
AI Agent 控制桌面的能力越强,"安全边界"就越值得花时间配置。pi-computer-use 的设计哲学本身就是防御性的:状态不可变、过期写入直接拒绝(fail closed)、输出有界(48 KiB 上限),Agent 看到的和操作到的每一步都被显式约束。配合上面的 5 项清单——最小权限、浏览器防火墙、严格后台、独立配置、配置审计——你就能放心地把桌面任务交给 AI 了。
更多文档:docs/usage.md | docs/configuration.md | docs/troubleshooting.md
【免费下载链接】pi-computer-useLet Pi control your apps on MacOS & Windows项目地址: https://gitcode.com/GitHub_Trending/pi/pi-computer-use
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考