c't 3003编辑Lukas Rumpler:AI控制智能家居的安全关键不在云端还是本地,而在你给了哪些工具
通过MCP协议将Claude或本地模型接入Home Assistant,可以构建复杂自动化、生成可视化仪表盘并排查故障。作者用同一任务实测对比了云端与本地模型的耗时差异,并给出一套分层权限方案:日常用受限的Assist接口,仅在需要构建时临时开启ha-mcp管理访问,且所有变更需逐次审批。
c't 3003编辑Lukas Rumpler在最新一期视频中展示了一个颇具争议的实践:通过Model Context Protocol(MCP)将大语言模型接入Home Assistant,赋予其管理智能家居的权限。他的核心判断是,安全与否不取决于模型运行在云端还是本地,而取决于你实际授予了哪些工具权限。
MCP是一个开放标准,允许Claude、ChatGPT、Gemini或本地程序(如LM Studio)通过统一接口向智能家居系统发出操作指令。Home Assistant提供了两条接入路径:官方内置的MCP服务器和通过HACS安装的社区项目ha-mcp。两者的权限差异巨大——官方集成只能查询状态和开关设备,ha-mcp则拥有近90个工具,可以创建自动化、编写仪表盘、读取日志、制作备份,甚至安装HACS扩展包。Rumpler将前者比作遥控器,后者比作管理员登录。
他用ha-mcp和Claude构建了几样东西来展示这种能力的实际价值。最直观的是仪表盘:他描述了想要一个挂在厨房iPad上、看起来像家居装饰而非技术面板的界面,Claude生成了以阿姆斯特丹运河房屋为隐喻的可视化——每栋房子代表一个房间,灯光亮起时窗户发光,有人在房间时门打开,洗衣机则是一艘小船,运行时滚筒转动。第二个仪表盘借鉴梵高《黄房子》,用SVG图形和动画呈现家中各房间状态。这些他自认手写代码无法完成。
更实用的场景是复杂自动化和故障排查。他描述了一个涉及多个条件的卧室灯光逻辑:无人五分钟后关灯,两小时内回来则恢复原状,晚八点到凌晨两点保持特定灯具常亮,有人进入时部分灯启动并在两分钟内调暗。手写这些分支条件很繁琐,Claude直接生成了所需的自动化、场景和脚本。故障排查同样有效:一次灯光意外变绿,Claude在日志中查到是女友误按了开关;一次语音文件无法播放,Claude定位到文件名中的德语变音符号被系统不支持。
但Rumpler强调这可以造成严重问题。他列举了三类风险:第一,ha-mcp的密钥地址本身就是密码,一旦泄露,攻击者可以在你的家庭网络中安装任意代码;第二,如果AI能读取你的日历,一条包含恶意指令的会议邀请可能在数周后被触发执行——安全研究人员去年已用Gemini在真实公寓中演示了这种提示注入攻击,导致百叶窗打开和热水器启动;第三,所有通过Claude处理的家庭数据都经过Anthropic服务器。
他给出的分层防护方案是:日常使用官方集成的Assist地址(只暴露已授权给语音助手的设备,无法创建自动化或安装扩展);仅在需要构建时临时开启ha-mcp,并在完成后立即关闭访问开关;在ha-mcp面板中禁用不需要的危险工具(安装HACS包、重启、删除);在Claude连接器中将所有变更设为逐次审批,每次点击仅允许一次而非始终允许;同时关闭Claude的网页搜索和邮件功能,防止AI同时接触外部内容和你的私人数据。
对于本地模型替代方案,Rumpler在同一任务上做了直接对比:让Claude和Qwen3.8-27b(运行在M2 Max、64GB内存的MacBook上)分别构建一个两小时后关闭卧室球形灯的自动化。Claude不到一分钟完成,Qwen花了30分钟,经历三次尝试,单次思考停顿超过四分钟,仅在2小时应写成02:00:00还是hours: 2这个格式问题上就纠结了数分钟。他后来让Qwen排查一个灯光不亮的问题,模型确实找到了一个他自认永远无法独立发现的逻辑错误(自动化在检查灯光是否关闭时,灯光尚未关闭,因此恢复条件未触发),但它提出的修复方案会引入新问题——灯光每次恢复都跳到最亮,忽略了之前的调光状态。
Rumpler解释本地模型慢的原因是Home Assistant在每一步操作时返回大量数据,模型需要先读完才能继续,而Mac的推理芯片在处理大上下文输入时远慢于独立显卡。他的结论是:构建复杂内容时用云端模型,简单操作和隐私敏感场景用本地模型,但无论哪种,人工审核不可跳过。AI替他完成了书写,没有替他完成验证。