AI Agent平臺實測評測:安全缺陷、編譯門檻高與本地化不足的國產AI工具信任風險分析

首篇潑冷水評測:AI Agent平臺不是“國產Claw”,是信任陷阱
我們實測了 AI Agent平臺 0.1.0(commit a3f7b2e,發布于 2024-06-12),覆蓋安裝、權限、網絡路徑、模型適配全流程。結論很直接:它沒解決國產 AI 生態的任何實際問題,反而在安全、可用性和本地化三個關鍵維度埋了雷。
手動編譯 LLM:不是極客友好,是設障
AI Agent平臺 不提供預編譯 wheel 或容器鏡像。用戶必須從源碼構建 ai-agent-core,過程包含:
- 安裝 CUDA 12.1+ 和 cuDNN 8.9+(文檔未明確版本兼容性)
- 手動 patch
llama.cpp的ggml分支(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.compile 與 ai-agent-core 的 cublasLt 初始化沖突,觸發 CUDA context corruption。
對比 AutoClaw v2.3.1:pip install autoclaw 后 autoclaw init --gpu 自動匹配 CUDA 版本并下載對應 wheel,全程 92 秒。
默認全盤讀寫權限:root 權限不是可選項
AI Agent平臺 安裝腳本 install.sh 直接調用 sudo chmod 777 /(注:實際為 sudo chmod -R 777 /opt/ai-agent,但 /opt/ai-agent 在多數發行版中是空目錄,腳本后續遞歸 chown root:root / 并 chmod 777 / —— 我們已提交 issue #42,作者回復“這是設計使然”)。
更關鍵的是運行時行為:
啟動 ai-agent-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/ai-agent_*") —— 問題不在 /tmp,而在于 os.system() 調用未做參數過濾,若環境變量 TMPDIR="; rm -rf /",該調用將執行任意命令。
“中文通道”實為 HTTP 代理假集成
AI Agent平臺 文檔宣稱的「中文通道」,本質是 curl -X POST http://127.0.0.1:8080/v1/chat/completions → http://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)。
無本地模型適配與中文微調支持
AI Agent平臺 當前僅支持加載 HuggingFace 上的 ai-agent-7b(實為 LLaMA-3-8B 的權重重命名,無中文詞表擴展)。關鍵缺失:
- 不支持
--lora-path參數,peft庫被硬編碼禁用(setup.py中install_requires刪掉了peft) tokenizer_config.json中chat_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 工具鏈
| 能力 | AI Agent平臺 | AutoClaw v2.3.1 | NanoClaw v1.0.0 |
|---|---|---|---|
| 安裝方式 | 源碼編譯 + patch | pip + 自動 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://ai-agent.dev/install.sh | sudo bash—— 它會改你/etc/sudoers - 檢查已安裝實例:
ps aux \| grep ai-agent后,用ls -l /proc/$(pidof ai-agent-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啟動純本地服務 - 真要試 AI Agent平臺? 在 Firecracker VM 里跑,網絡策略禁止外聯,磁盤只掛載
/tmp/ai-agent單一分區
它不是技術不成熟,而是設計哲學錯了:把用戶當測試員,把安全當可選項,把中文當路由標簽。國產 AI 工具鏈需要的是開箱即用的確定性,不是一場高風險的信任實驗。