
【免费下载链接】computerYour Computer. Anywhere.项目地址https://gitcode.com/gh_mirrors/computer2/computer点击查看免费下载Open WebUI Computer命令名cptr是一个把整台电脑变成Web 工作站的工具文件、终端、Git、浏览器、AI Agent 全部在浏览器里完成。但当你的整台机器都连上了网络安全就是第一个问题。这篇文章基于源码带你深度解读 cptr 的安全模型它的认证、加密、审计机制如何运作哪些场景下它真的不安全并附上一份可直接照做的风险与防护清单。它到底是什么一台电脑一个浏览器标签Open WebUI Computer 的设计哲学只有一句话Your Computer. Anywhere.它在本地机器上运行然后把本地文件系统、本地 Shell、本地 Git 状态原样端进浏览器。你可以从手机、平板或另一台电脑访问同一台机器会话还会在断线后保持存活。安装也极简pip install cptr cptr run然后浏览器打开http://localhost:8000即可。注意默认只绑定本机——这一点后面会再次提到它是安全的第一道闸门。官方定性无沙箱是刻意的设计选择很多用户在第一次看到浏览器里直接操作整个文件系统时会紧张这会不会有权限漏洞先说结论官方是明确承认没有沙箱的而且这是刻意为之。README 的 Security model 一节README.md写得很直白一旦通过认证用户就拥有对宿主机文件系统和 Shell 的完全访问权等价于一个 SSH 会话。没有路径沙箱也没有按用户隔离。官方同时给出了适用边界✅ 安全你是唯一用户且你控制网络❌ 不安全不可信用户共享同一实例❌ 不安全直接暴露到公网❌ 不安全反向代理转发了可伪造的认证头一句话理解把共享的 Open WebUI Computer 当成一个开着的 SSH 端口来对待。下面看它到底做了哪些防护以及哪些事它故意不做。安全机制拆解认证、限流、加密、审计一条链1️⃣ 登录认证三种模式 JWT 会话 bcrypt认证配置在 cptr/utils/config.py支持三种模式模式适用场景特点password默认单人使用应用内账号密码bcrypt 加盐哈希cost 12pamLinux 多用户直接走系统 PAM 验证每个系统用户独立登录trusted_header反向代理 / 平台网关由上游网关认证服务端只信任指定来源的请求头会话机制cptr/routers/auth.py值得新手了解两点JWT 无状态令牌HS256 签名有效期 30 天存在 HttpOnly Cookiecptr_session里前端 JS 读不到滑动续期当令牌寿命过半时自动签发新令牌活跃用户不会莫名掉线。首次启动还有一次性的startup token保护cptr/cli.pycptr run会生成一次性令牌并打印形如http://localhost:8000/?token...的地址只有带着这个 token 才能完成管理员账号初始化防止空实例被别人抢注。2️⃣ 登录限流每 IP 每分钟 5 次check_rate_limit 对登录接口做了内存级限流同一 IP 每分钟最多尝试 5 次超出直接返回 429。这挡不住蓄意攻击但能有效过滤掉扫描器和大范围暴力猜解。3️⃣ 密钥静态加密Fernet 哈希存储你填进设置的模型 API Key 不会明文躺在数据库里cptr/utils/crypto.py 使用 FernetAES-128-CBC对 API Key 加密落盘加密密钥从服务端的 JWT secret 派生Gateway API 的对外 Bearer Key 只存 SHA-256 哈希cptr/routers/gateway.py数据库被拖走也拿不到原始密钥界面上展示密钥时还会脱敏sk-ab...yz。4️⃣ 审计日志敏感字段自动打码默认关闭但一条环境变量即可开启CPTR_AUDIT_LOG_LEVEL可选METADATA/REQUEST/REQUEST_RESPONSE。审计中间件cptr/utils/audit.py会对所有 API 变更做结构化记录并自动把password、api_key、token、authorization等敏感字段替换为********日志按 10MB 轮转写入 JSONL方便排查到底是谁动了我的文件。5️⃣ 执行身份以登录的那个人跑命令identity.py 定义了执行身份概念在 PAM 模式下终端和 AI 执行的命令会以登录用户的 Unix 身份uid/gid/home/shell运行服务器进程会主动降权。这意味着即便多人使用A 用户也无法借 B 用户的会话去操作 B 的系统权限——但请注意文件层面仍然没有跨用户隔离隔离的是以谁的身份执行不是能碰哪些目录。风险清单这 4 种场景下它不安全场景为什么危险官方/源码依据与不可信的人共享实例登录即拥有整台机器的 Shell 和文件系统README 明示等价 SSH 会话无用户隔离直接暴露公网等于把 SSH 端口挂到互联网密码限流扛不住真实攻击README 明确标注不安全反向代理转发可伪造的认证头trusted_header模式下任何能塞入Remote-User头的请求都可能被当作已认证官方特别点名此风险--host 0.0.0.0 弱密码局域网内任何人都能尝试登录你的工作站限流仅 5 次/分钟/IP且为内存态防护清单7 步安全部署 cptr照着做能覆盖 90% 的个人/小团队场景默认只绑本机cptr run默认127.0.0.1需要局域网访问时才加--host 0.0.0.0且只在可信 Wi-Fi/内网使用。远程走隧道不走公网官方推荐 Tailscale 组私有网络或用 Cloudflare Tunnel / ngrok访问/data目录下的服务始终指向localhost。用 PAM 模式 待审核机制多人场景Linux 上启用pam模式复用系统账号首次登录的新用户角色为pending需管理员批准后才能使用auth.py相当于门禁白名单。收紧 CORS默认CPTR_CORS_ALLOWED_ORIGINS为*对外服务时改成具体域名列表cptr/env.py。开启审计日志CPTR_AUDIT_LOG_LEVELREQUEST让每个变更都有据可查敏感字段自动打码。保护~/.cptr数据目录config.toml含 JWT secret和app.db丢了/泄了会话和加密密钥全受影响定期备份并保证目录权限Docker 挂载时同样注意属主可写。trusted_header必须配trusted_sources只用在一台你控制的可信代理后面并确保代理会清除客户端发来的同名请求头——配置校验见 check_access。写在最后它的安全边界在哪里Open WebUI Computer 的安全模型可以概括为一句话你 你的电脑。它不做沙箱、不做用户隔离因为它的目标就是让你以本人身份使用本人的机器——认证链JWT bcrypt 限流 启动令牌、静态加密Fernet / 哈希、审计与降权执行都是为这条边界服务的而不是用来替代它。所以你的电脑真的安全吗这个问题的答案取决于使用方式单人 受控网络 隧道远程 → 安全边界清晰可以放心用多人共享 / 裸露公网 / 可伪造的请求头 → 等于主动交出管理员终端。对照上面的防护清单检查一遍再享受掏出手机就能 push 一个 hotfix的自由吧。赞分享【免费下载链接】computerYour Computer. Anywhere.项目地址https://gitcode.com/gh_mirrors/computer2/computer点击查看免费下载相关推荐BrowserSkill 快速入门三步让 AI Agent 用上你已登录的浏览器BrowserSkill 快速入门三步让 AI Agent 用上你已登录的浏览器 让 AI 去查点内网资料它卡在一个没登录的页面上一步都走不动——这是拿人工智能AI Agent浏览器控制AI 技能AI 插件CLIdsh-plugin免费代理真的安全吗free-proxy-list 风险自查清单与最佳实践免费代理真的安全吗free proxy list 风险自查清单与最佳实践 免费代理 Free Proxy看起来零成本实则暗藏 MITM 中间人攻击、证书genv监控面板搭建PrometheusGrafana可视化GPU使用情况genv监控面板搭建PrometheusGrafana可视化GPU使用情况 对于管理GPU集群的团队来说最头疼的问题往往是GPU到底被谁占用了、显上一篇Backburner iPhone端安装完全指南AltStore免开发者账号侧载全流程6GB内存预算检查避坑清单下一篇CPA-Codex-Manager 架构拆解FastAPI WebSocket 实时日志推送如何实现进度可视化监控创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考