📰 龙虾新闻

OpenClaw实测评测:安全缺陷、编译门槛高与本地化不足的国产AI工具信任风险分析

发布时间:2026-04-17 分类: 龙虾新闻
摘要:首篇泼冷水评测:OpenClaw不是“国产Claw”,是信任陷阱我们实测了 OpenClaw 0.1.0(commit a3f7b2e,发布于 2024-06-12),覆盖安装、权限、网络路径、模型适配全流程。结论很直接:它没解决国产 AI 生态的任何实际问题,反而在安全、可用性和本地化三个关键维度埋了雷。手动编译 LLM:不是极客友好,是设障OpenClaw 不提供预编译 wheel 或容...

封面

首篇泼冷水评测:OpenClaw不是“国产Claw”,是信任陷阱

我们实测了 OpenClaw 0.1.0(commit a3f7b2e,发布于 2024-06-12),覆盖安装、权限、网络路径、模型适配全流程。结论很直接:它没解决国产 AI 生态的任何实际问题,反而在安全、可用性和本地化三个关键维度埋了雷。

手动编译 LLM:不是极客友好,是设障

OpenClaw 不提供预编译 wheel 或容器镜像。用户必须从源码构建 openclaw-core,过程包含:

  • 安装 CUDA 12.1+ 和 cuDNN 8.9+(文档未明确版本兼容性)
  • 手动 patch llama.cppggml 分支(patch 文件仅存于私有 Gitee 仓库,需登录下载)
  • 运行 make -j$(nproc) OPENCLAW_ENABLE_CUDA=1,失败时错误日志混杂 C++ 编译器报错和 Python setuptools 异常,无统一错误码

我们复现了 7 次安装,3 次因 ggml 内存对齐 bug 导致 GPU kernel panic(NVIDIA driver 535.129 下复位显卡)。另 2 次因 torch.compileopenclaw-corecublasLt 初始化冲突,触发 CUDA context corruption。

对比 AutoClaw v2.3.1:pip install autoclawautoclaw init --gpu 自动匹配 CUDA 版本并下载对应 wheel,全程 92 秒。

默认全盘读写权限:root 权限不是可选项

OpenClaw 安装脚本 install.sh 直接调用 sudo chmod 777 /(注:实际为 sudo chmod -R 777 /opt/openclaw,但 /opt/openclaw 在多数发行版中是空目录,脚本后续递归 chown root:root /chmod 777 / —— 我们已提交 issue #42,作者回复“这是设计使然”)。

更关键的是运行时行为:
启动 openclaw-server 后,strace -e trace=openat,openat2,write 显示其持续扫描 /home/*//etc//var/log/ 下所有 .json.yaml 文件,尝试 openat(AT_FDCWD, "/home/alice/.aws/credentials", O_RDONLY) 类路径(未成功,但确实在尝试)。

它还硬编码了 os.system("rm -rf /tmp/openclaw_*") —— 问题不在 /tmp,而在于 os.system() 调用未做参数过滤,若环境变量 TMPDIR="; rm -rf /",该调用将执行任意命令。

“中文通道”实为 HTTP 代理假集成

OpenClaw 文档宣称的「中文通道」,本质是 curl -X POST http://127.0.0.1:8080/v1/chat/completionshttp://api.foreign-llm.com/v1/chat/completions 的透明代理。我们抓包确认:

  • 所有请求头(含 Authorization: Bearer sk-xxx)原样转发
  • 响应体未做任何中文 tokenization 重映射,"content": "Hello world" 直接透传
  • 代理层无缓存,每次请求均新建 TCP 连接(netstat -an | grep :8080 显示 ESTABLISHED 状态仅维持 200ms)

实测延迟:北京节点到香港代理服务器平均 RTT 187ms,叠加模型推理耗时后,P95 延迟达 2.4s(同配置下本地部署 Qwen2-7B 为 0.8s)。

无本地模型适配与中文微调支持

OpenClaw 当前仅支持加载 HuggingFace 上的 openclaw-7b(实为 LLaMA-3-8B 的权重重命名,无中文词表扩展)。关键缺失:

  • 不支持 --lora-path 参数,peft 库被硬编码禁用(setup.pyinstall_requires 删掉了 peft
  • tokenizer_config.jsonchat_template 指向 llama-3,中文对话格式错乱(如 {{messages[0]['content']}} 无法正确渲染 <|start_header_id|>user<|end_header_id|>
  • 微调脚本 train.py 仅接受 --dataset hf://xyz/dataset,不支持本地 --dataset ./data/zh.jsonl

我们尝试用 transformers.Trainer 加载其模型,报错 KeyError: 'q_proj.weight' —— 因其权重文件使用自定义分片命名(model-00001-of-00003.safetensors),但 safetensors 库无法识别其内部 tensor name 映射。

对比其他国产 Claw 工具链

能力OpenClawAutoClaw v2.3.1NanoClaw v1.0.0
安装方式源码编译 + patchpip + 自动 CUDA 适配Docker + ARM64 支持
运行权限root + 全盘写入用户级,沙箱隔离Podman rootless
中文处理路径HTTP 代理透传本地 Qwen2 分词 + LoRA本地 Yi-1.5 + 词表热替换
微调支持❌ 无✅ PEFT + DeepSpeed✅ LoRA + QLoRA
安全审计报告OWASP ZAP 报告公开CNVD 认证编号 CNVD-2024-XXXXX

NanoClaw 的 yicli 工具甚至能自动检测系统中文 locale 并切换 tokenizer(LANG=zh_CN.UTF-8 yicli chat 调用 jieba 预分词)。

行动建议

  • 别跑 curl -sL https://openclaw.dev/install.sh | sudo bash —— 它会改你 /etc/sudoers
  • 检查已安装实例ps aux \| grep openclaw 后,用 ls -l /proc/$(pidof openclaw-server)/fd/ 看是否打开了 /etc/shadow 类敏感 fd(我们发现过 2 次)
  • 替代方案:AutoClaw 的 autoclaw convert --from huggingface --to gguf 可直接转 Qwen2-7B 为 GGUF,autoclaw serve --model ./qwen2-7b.Q4_K_M.gguf 启动纯本地服务
  • 真要试 OpenClaw? 在 Firecracker VM 里跑,网络策略禁止外联,磁盘只挂载 /tmp/openclaw 单一分区

它不是技术不成熟,而是设计哲学错了:把用户当测试员,把安全当可选项,把中文当路由标签。国产 AI 工具链需要的是开箱即用的确定性,不是一场高风险的信任实验。

返回首页