Blog / Security Comparison

SmallClaw 与 OpenClaw 的安全性对比

这篇文章比较 SmallClaw 和 OpenClaw 在平台攻击面、macOS 系统安全、iCloud 同步、skills 外来内容、LLM 上下文约束和权限执行边界上的安全策略。两者都在让 LLM 参与真实工作,但对风险的处理方式并不一样。

Version v1.0 Timepoint: 2026-04-06 Last Updated: 2026-04-06 Published: 2026-04-06

Copyright © 2026 Smallsoft Pty Ltd. All rights reserved.

概述

SmallClaw 和 OpenClaw 都在做“让 LLM 参与真实工作”的事,但两者对安全的侧重点并不一样。SmallClaw 更偏向 macOS 本地桌面应用的安全治理,OpenClaw 更偏向通用 agent / runtime 平台的隔离与运行边界。

如果把安全拆成几个主要方面来看,可以得到一个比较清晰的结论:SmallClaw 更强调“入口收口、上下文收口、技能收口”,OpenClaw 更强调“运行隔离、安装治理、执行边界”。这不是谁绝对更安全,而是两者对风险的处理方式不同。

1. 平台与攻击面

SmallClaw 是原生 macOS 桌面应用,安全设计天然围绕 Apple 的系统能力展开。它依托 macOS App Sandbox 和 entitlements,依托 Apple Events / TCC / Keychain / iCloud 等系统级服务,不需要用户先搭 Node、CLI、包管理器或额外运行时,这会明显减少常见的环境复杂度和供应链暴露面。

OpenClaw 则更像一个跨场景的 agent 工具链,能力更通用,运行面也更宽。它更强调 sandbox runtime、安装、更新、插件扫描和 load-time filtering,也更适合多环境、多运行时、多代理结构。从纯粹的“攻击面收敛”角度看,SmallClaw 因为平台更专注,通常更容易控制。

2. 与 macOS 系统安全机制的对接

SmallClaw 的安全不是自建一套孤立体系,而是直接对接 macOS 的系统级安全模型。主要包括 App Sandbox 和 entitlements、Apple Events / Automation / TCC、Keychain 存储敏感凭据、用户选择式文件访问,以及审计日志和本地执行轨迹。

这意味着 SmallClaw 的很多安全边界并不是“应用自己说了算”,而是由 macOS 本身提供基础约束。OpenClaw 也会借助操作系统和容器 / 沙箱能力,但它的安全叙事更偏平台化和运行时化,而不是单纯依赖一个桌面 App 的系统级集成。

3. iCloud 与数据同步

SmallClaw 的同步策略同样是建立在 Apple 的系统级服务之上,而不是自建同步后端。它使用 iCloud / ubiquity container 这类 Apple 提供的能力来同步部分数据,例如 Sessions、LLM Usage 和 Runtime Events。

与此同时,敏感信息并不会跟着同步,例如 API keys 和 channel tokens 仍然留在本地,并通过 Keychain 管理。这样做有两个直接收益:减少自建同步系统带来的复杂性,把迁移、同步和跨设备可用性放在 Apple 的系统级服务上处理。

4. Skills 与外来内容

SmallClaw 对外来 skill 的态度更偏“先审后用”。核心规则是:外来 skill 默认进入 pendingReview,只有 approved + enabled 才能进入注入链路;如果已批准的外来 skill 文件内容变化,会重新回到 pendingReview。也就是说,SmallClaw 不把 skill 当成“加载即信任”的东西,而是把它当成需要持续治理的输入。

OpenClaw 也把第三方 skills / plugins 当作不可信内容,并提供安装扫描、加载过滤和 sandbox 约束,但它更像一套通用平台上的防线组合。SmallClaw 的特点是把 skill 这个入口收得更紧。

5. LLM 上下文约束

SmallClaw 对 LLM 的调用不是把所有历史和所有资料原封不动发给模型,而是先构造强约束上下文,再发起请求。具体做法是:先根据 prompt、workspace、skills、权限和规则选择上下文,再把匹配到的 skill 注入为 Local Skill Context,然后用这个受控上下文替换原始 user message 的最后一条内容。

这带来两个直接好处:一是提升响应质量,因为模型看到的是更相关、更干净的上下文;二是降低 token 消耗,因为无关内容不会大规模进入 prompt。同时,这种上下文收口也会降低误导性信息干扰,让模型更不容易被无关历史带偏。

6. 权限与执行边界

SmallClaw 的危险动作不是由模型直接决定,而是经过多层权限约束。包括文件系统权限、shell 执行权限、网络权限、浏览器自动化权限、定时执行权限,以及通知和其它本地能力。也就是说,LLM 的建议只是建议,真正的执行还要过应用内权限和 macOS 系统权限。

OpenClaw 的重点则更偏向 runtime sandbox、agent boundary 和安装治理,适合更复杂的隔离模型。SmallClaw 更像把本地入口和执行边界收得更紧。

7. 哪个更安全

如果只看某一个维度,答案会不同。SmallClaw 更强的地方是更少的环境依赖、更少的供应链复杂度、更紧的 skill 入口治理、更受控的上下文输入和更强的 macOS 本地集成。OpenClaw 更强的地方是更完整的运行时隔离思路、更系统的安装与更新治理、更明确的平台化安全文档,以及更适合多运行环境、多 agent 的场景。

总体判断是:如果威胁模型主要是“陌生 skill 混入、上下文污染、环境复杂导致不可控”,SmallClaw 的设计更保守;如果威胁模型主要是“运行环境、插件生态、隔离边界和通用平台治理”,OpenClaw 的安全体系更完整。所以更准确的说法是:SmallClaw 更擅长守住本地入口和上下文边界,OpenClaw 更擅长构建更完整的运行与隔离体系。

结语

SmallClaw 的安全路线很清晰:它不追求把所有平台问题都纳入一个通用框架,而是专注在 macOS 这个明确环境里,把权限、同步、技能、上下文和执行边界都收得更紧。OpenClaw 的路线则更平台化,适合更广泛的运行和隔离需求。

如果把安全理解为“少暴露面、少依赖、少误用、少上下文噪声”,SmallClaw 很有优势;如果把安全理解为“更完整的运行时隔离和生态治理”,OpenClaw 更成熟。