OpenClaw 技能与提示注入:你如何审查安装的内容?
摘要
本文探讨了在使用 OpenClaw 等代理框架时,安装社区技能所带来的安全风险,特别是提示注入和恶意代码的潜在威胁。作者指出,目前缺乏有效的审查机制,手动审查耗时且难以扩展,自动化工具存在误报问题。OpenClaw 的高度可扩展性是其优势,但也带来了大量的安全隐患,如同“委托式攻击”。文章呼吁建立更可靠的社区审查或签名机制,以应对日益增长的供应链安全风险。
正文
关于提示注入导致自托管部署被破坏的讨论让我思考 OpenClaw。我一直在设置它来管理一些家庭自动化和本地文档搜索,并意识到在安装大多数社区技能之前,我根本不知道它们里面到底有什么。你实际上是在运行代码,而这些代码会获得你的代理所拥有的任何权限。
OpenClaw 自己的 FAQ 对此非常坦诚,他们直言安全权衡是“浮士德式的交易”,并表示没有完全安全的设置。我对此表示赞赏,但同时……当我授予代理访问我的文件系统和智能家居控制的权限时,这并不令人放心。
我尝试了几种方法。手动代码审查可行但无法扩展,我花了一个小时审查了一个技能,结果发现它没问题。尝试先在 Docker 容器中运行技能,但这会破坏一半的功能。Discord 中的有人提到了一个名为 Trust Hub 的扫描工具,它标记了一个我即将安装的技能,因为它存在可疑的数据访问模式,但它也标记了我自己的测试技能,因为它存在明显没问题的内容,所以误报率似乎很高。
根本问题在于,OpenClaw 的可扩展性既是它有用的原因,也是它在安全角度上令人担忧的原因。700 多个社区技能意味着 700 多个潜在的供应链攻击向量。安全研究人员称这种攻击模式为“委托式攻击”,即攻击者针对代理来利用它已拥有的所有权限。我看到过恶意技能被移除后很快又以不同名称出现的报告。
感觉应该有一些社区审查流程或签名技能之类的东西。目前信任模型基本上是“希望技能作者不是恶意的,并希望没有人破坏他们的仓库”。其他人都在做什么?只是接受风险?运行所有东西都隔离?