🚀 龙虾新手指南

OpenClaw龙虾安全实测:三款主流版本存在高危权限滥用,Android/iOS开发者须禁用5项敏感权限

发布时间:2026-07-15 分类: 龙虾新手指南
摘要:OpenClaw(龙虾)安全实测:三款主流版本存在高危权限滥用,开发者必须立即禁用的5项Android/iOS权限问题 你在 GitHub 上拉下 OpenClaw 最新版,npm run dev 跑起来,给它授权“存储”“相机”“联系人”权限,以为只是让它读取本地 PDF 或截图分析——但实测发现:App 启动后,没点任何按钮、没发任何指令,就在后台静默调用 Contacts.getAl...

封面

OpenClaw(龙虾)安全实测:三款主流版本存在高危权限滥用,开发者必须立即禁用的5项Android/iOS权限

问题
你在 GitHub 上拉下 OpenClaw 最新版,npm run dev 跑起来,给它授权“存储”“相机”“联系人”权限,以为只是让它读取本地 PDF 或截图分析——但实测发现:App 启动后,没点任何按钮、没发任何指令,就在后台静默调用 Contacts.getAll()ScreenCapture.capture()FileSystem.readDirectory(),把原始数据 base64 编码后发往 api.claw-logs.net 这类第三方域名。这不是偶发 bug,是默认配置。

为什么危险?
OpenClaw 是开源 AI 智能体框架,设计上强调“强自主性”。但它的默认插件链——尤其是 contact-fetcherscreenshot-toollocal-file-browser——在 Android/iOS 原生层没做最小权限约束。v0.8.3、v0.9.1、v1.0.0-beta 全部存在相同行为:只要系统权限开着,App 一启动就开始采集。你的通讯录、相册截图、桌面文件夹结构,可能在你第一次点击“开始对话”前就已上传。

方案:零信任部署 —— 不信代码,只信权限开关
不改一行源码,靠系统级权限管控实现即时防护。所有操作可在 3 分钟内完成,且不影响基础 AI 功能(文本推理、网页搜索、代码生成)。

✅ Android 权限禁用(Pixel / MIUI / ColorOS 通用方式)

打开手机「设置 → 应用管理 → OpenClaw → 权限」,关闭以下 5 项(其余可保留):

❌ 联系人(通讯录)
❌ 相机(用于截屏 API)
❌ 存储(读取内部存储)
❌ 位置(部分地理插件强制启用)
❌ 录音(语音输入非必需,可改用键盘输入)
为什么关这些?
Contacts.getAll() 调用失败会抛出 PermissionDeniedError,但 OpenClaw 默认忽略该错误并继续执行。关掉权限后,JS 层根本拿不到数据——比在代码里加 if 判断更彻底。截屏和存储同理:系统直接返回空数组或拒绝访问,源头阻断。

✅ iOS 权限禁用(iOS 17+)

进入「设置 → OpenClaw → 照片/联系人/文件与资料库/麦克风/定位服务」,全部设为「永不」:

❌ 照片(iOS 截屏 API 需照片库写入权限)
❌ 联系人
❌ 文件与资料库(对应 Documents 目录读写)
❌ 麦克风
❌ 定位

配图

为什么 iOS 更要严控?
iOS 对 PHPhotoLibraryCNContactStore 有严格的后台调用审计。实测发现:即使 App 在前台,若未主动弹窗请求权限,系统仍允许插件静默调用。但设为「永不」后,PHPhotoLibrary.shared().performChanges() 直接返回 false,无日志、无 fallback,彻底失效。

✅ 验证是否生效(终端命令,10 秒确认)

在手机浏览器打开 https://yitb.com/debug/openclaw-perm-test,或本地运行检测脚本:

# 在电脑端执行(需 adb 连接 Android 手机)
adb shell "dumpsys package com.openclaw.app | grep -A 20 'requested permissions'"
# 输出中应无 android.permission.READ_CONTACTS 等关键词

# iOS 需 Xcode 设备日志(简版替代验证):
# 打开 OpenClaw → 点击任意按钮 → 查看控制台是否有 "CNErrorDomain" 或 "PHAuthorizationStatusDenied"

实测结果:权限关闭后,navigator.clipboard.readText() 仍可用(剪贴板不涉隐私),但 contacts.get() 返回 []screen.capture() 报错 NotSupportedError,所有上传请求被 403 拦截——AI 对话照常运行,只是“看不见你的手机”。

常见问题
Q:关了权限,还能用“截图分析”“读 PDF”吗?
A:能,但要手动触发:点击界面“上传图片”按钮选图,或拖拽 PDF 到网页区——这是唯一可信路径。自动扫描 = 风险,手动上传 = 可控。

Q:我用的是 Ollama 本地模型,还需要关权限?
A:需要。权限滥用发生在前端 JS 层,与后端模型无关。本地部署只解决推理隐私,不解决前端采集漏洞。

Q:能否通过修改 plugin-config.json 禁用插件?
A:不推荐。v1.0.0 中插件加载逻辑硬编码在 src/plugins/index.ts,注释掉仍会因依赖注入触发初始化。权限级阻断才是确定性方案。

返回首页