配图

当你的客厅 Agent 能听到邻居的广播

MiClaw 等本地 AI 网关常依赖局域网发现协议(如 mDNS/SSDP)实现设备自动配对,但这种便利性背后隐藏着三类典型威胁:

  1. 未授权设备嗅探:邻居的智能音箱可能捕获你的 Agent 广播包,获取设备指纹
  2. 协议 downgrade 攻击:旧版本固件可能存在未签名的发现协议实现漏洞
  3. 共享账户穿透:家庭成员的设备访问权限可能通过云端同步意外扩散

信任锚点与最小暴露面

设备白名单的工程实现

MiClaw 的 discovery.yaml 需包含以下强制字段(v2.3+版本):

strict_whitelist: true  # 关闭开放发现模式
pairing:
  require_physical_button: true  # 首次配对需物理确认
  ttl_seconds: 300  # 临时凭证有效期
certificate:
  enforce_ocsp: true  # 吊销列表检查

实际部署时还需注意: - 白名单应绑定设备硬件指纹(如 TPM 2.0 的 Endorsement Key)而非IP地址 - 临时凭证的签发需通过 /dev/random 注入熵值,避免伪随机数预测 - OCSP 检查失败时应触发熔断机制,而非降级为宽松模式

固件签名验证链

  • 烧录时验证:clawctl verify-firmware --image=discovery.mod --key=/etc/keys/vendor.pub
  • 运行时防护:内核模块监控 /sys/bus/usb/drivers/miclaw_discovery 的写操作
  • 审计线索:所有发现协议交互记录到 /var/log/claw/audit.discovery.log(含源 MAC 地址)

常见疏漏: - 开发板调试接口未禁用(如 UART 的 JTAG 引脚) - 未验证签名时间戳导致重放攻击 - 日志文件未设置 chattr +a 属性允许追加写入

家庭网络的特殊考量

该不该禁用发现协议?

权衡指标建议:

场景 建议策略 补偿措施
公寓高密度Wi-Fi环境 关闭 mDNS 改用静态 IP 绑定 每周手动触发限时发现窗口
独栋住宅 启用但强制 AES-128 加密广播 设置 RSSI 阈值过滤远距离设备
临时访客网络 完全禁用 提供二维码扫码配对

隐私泄漏的蝴蝶效应

某用户案例:通过抓包发现 MiClaw 的发现协议会携带以下元数据: - 设备主人姓名(从云端账户同步时未脱敏) - 最近调用的三个工具名称(如 homeassistant.light_control) - 网关地理位置(通过 Wi-Fi SSID 反向推断)

这提示我们需要在 /etc/claw/features.conf 中设置:

[discovery]
strip_metadata = yes
obfuscate_identifiers = sha3

进阶防护: - 使用 network_namespace 隔离发现协议流量 - 对设备标识符实施轮换策略(每小时变更一次哈希盐值) - 在家庭路由器部署 SPI 防火墙规则:

-A INPUT -p udp --dport 5353 -m recent --name mdns --set
-A INPUT -p udp --dport 5353 -m recent --name mdns --update --seconds 30 --hitcount 5 -j DROP

审计与升级清单

  1. 发现协议版本检查

    miclaw-cli info | grep -A2 Discovery
    # 预期输出应含 ProtocolVersion: 3.2+
  2. 物理边界测试(需另一台设备):

  3. 在距离目标 15 米外启动 tcpdump -i wlan0 udp port 5353
  4. 观察是否捕获到明文设备标识符

  5. 云端恢复隔离测试

  6. 删除本地配对记录后尝试通过家庭账户恢复
  7. 验证是否要求二次短信认证

  8. 压力测试场景

    # 模拟伪造发现包攻击
    from scapy.all import *
    send(IP(dst="224.0.0.251")/UDP(dport=5353)/DNS(rd=1,qd=DNSQR(qname="_miclaw._tcp.local")))

横向对比:Claw 系产品的信任边界

ClawBridge 采用更激进的零信任策略: - 每次工具调用都需重新验证设备证书(高延迟但安全) - 发现协议完全依赖预共享的 WireGuard 隧道

而 PadClaw 则面向移动场景优化: - 使用 BLE 5.2 的定向广播特性 - 但存在固件降级风险(CVE-今年-48762)

架构差异带来的运维影响

指标 MiClaw ClawBridge PadClaw
配对延迟 2-5秒 8-12秒 1-3秒
协议加密强度 AES-128-GCM ChaCha20-Poly1305 AES-256-CCM
固件更新强制签名 可选
物理抗拆解 防撬开关 TPM 绑定

实践建议:在 docker-compose.yml 中为 MiClaw 添加如下安全配置:

services:
  miclaw:
    cap_drop:
      - NET_RAW  # 禁止原始套接字
    sysctls:
      net.ipv4.conf.all.accept_redirects: 0
    isolation: strict
    environment:
      - DISCOVERY_BLACKLIST=00:11:22:*,AA:BB:CC:*  # 屏蔽可疑厂商前缀

持续防护体系建设

  1. 威胁建模:每季度执行 STRIDE 分析,重点关注:
  2. 欺骗(Spoofing)伪造发现包
  3. 信息泄露(Information Disclosure)元数据暴露

  4. 红蓝对抗:使用 Flipper Zero 设备模拟:

  5. 重放攻击(关闭序列号校验时)
  6. 射频干扰(测试 BLE 的容错机制)

  7. 供应链审计

  8. 验证 SDK 中 libdiscovery.so 的编译选项是否含 -fstack-protector-strong
  9. 检查芯片供应商提供的安全白皮书第4.2节(侧信道防护声明)

最终记住:便利性与安全性永远需要权衡——当你享受「开箱即用」的智能时,不妨先用 Wireshark 看看这个「魔法」背后究竟泄露了多少信息。更关键的,定期检查 /proc/net/udp 中那些不为人知的监听端口。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐