Neodyme 在 IoT 攻防活动里挑了亚马逊上口碑最好的 SwitchBot Lock Pro Combo(约 240 欧)下手。固件来得容易——Android 应用里就写着公开 S3 桶的地址。反编译后发现两个要命的架构决定:门外的键盘才是决策方,它验证 PIN、指纹或卡之后向门内的执行器发"UNLOCK";而键盘与执行器之间是一条未加保护的明文 BLE 链路,身份认证只靠应用层一套自研机制,密钥加 nonce,nonce 还能在一个会话里重复使用。更糟的是命令用 AES-CTR 加密,而 CTR 不提供完整性,比特翻转会一比一传到明文。于是攻击变得极简:LOCK 按钮在任何时候都发加密的 LOCK 命令,先算出 ENC(LOCK) XOR ENC(UNLOCK) 的差值——这个差值在所有会话、所有同固件设备上完全相同——之后按一下锁键、嗅探到 LOCK、异或上差值、发出,门就开了。厂商的修补是给命令追加 MD5(命令+密钥+nonce) 的前两字节,作者称之为 YOLO hash,理论上可爆破 65536 个标签;更关键的是只有键盘到执行器这段被改,手机应用仍不带校验标签,于是同一套攻击换个差值来源依旧成立。