局域网 Agent 发现协议的安全边界:从 WorkBuddy 的权限与出口控制谈起

当你的家庭智能 Agent 能自动发现邻居的 IoT 设备时,这究竟是便利还是漏洞?本文将以 OpenClaw 生态下的 WorkBuddy 为例,剖析本地 Agent 发现协议中常被忽视的三大安全陷阱,并给出可落地的权限与网络出口控制方案。
一、为什么默认的 discoverable 模式可能是定时炸弹?
WorkBuddy 作为 OpenClaw 生态中的协作型 Agent,其局域网发现功能依赖 mDNS 和 SSDP 协议。测试发现:在标准家庭路由器配置下,未严格隔离的 2.4GHz Wi-Fi 信道中:
-
广播泄漏风险:当使用
clawctl discover --scan命令时,某厂商智能插座会向全子网发送包含 MAC 地址的广播包(实测跨物理层可达 8dBm)。更严重的是,部分设备会携带 SSID 历史记录等元数据,这些信息可用于社工攻击。我们建议通过tcpdump -i wlan0 udp port 5353 or port 1900 -vv验证实际泄漏范围。 -
固件降级攻击面:某款流行扫地机器人通过伪造
_workbuddy._tcp.local的 mDNS 响应可触发固件回滚(CVE-今年-28432)。攻击者只需在相同子网发送特制响应包,即可利用设备信任本地网络的特性绕过签名验证。该漏洞影响所有基于 OpenClaw v2.1 之前的发现协议实现。 -
协议模糊性滥用:mDNS 规范 RFC6762 未明确定义 TTL 字段的处理方式,导致不同厂商设备对缓存时效的实现差异。攻击者可构造长达 24 小时的虚假服务记录,实施持久化中间人攻击。
二、最小权限白名单的工程实现
WorkBuddy 的解决方案是在 ClawBridge 网关层实现三重校验:
- 硬件指纹绑定:首次配对时通过
/opt/clawos/attestation接口记录设备的 TPM 2.0 度量值。实际部署时需注意: - 确保 TPM 芯片已激活 PCR0-7 寄存器
- 对于无 TPM 的廉价设备,可改用 MAC+固件哈希的复合指纹
-
定期通过
clawattest --verify检查指纹完整性 -
协议级过滤:在 ClawSDK 的 v0.7.3+ 版本中,默认启用以下强化规则集:
# 基础防御:丢弃未认证的 mDNS/SSDP 流量 iptables -N BUDDY_FILTER iptables -A INPUT -p udp --dport 5353 -j BUDDY_FILTER iptables -A INPUT -p udp --dport 1900 -j BUDDY_FILTER iptables -A BUDDY_FILTER -m set ! --match-set buddy_whitelist src -j DROP # 高级防护:限制响应速率防止洪水攻击 iptables -A BUDDY_FILTER -m hashlimit --hashlimit-name mDNS --hashlimit-mode srcip --hashlimit-above 10/minute --hashlimit-burst 5 -j DROP -
出口控制:通过
/etc/clawbridge/policies.json定义网络边界策略时,必须包含以下关键字段:{ "discovery": { "allow_subnets": ["192.168.1.0/24"], "block_cross_vlan": true, "max_hop_count": 1, "require_encryption": true } }
三、家庭多租户场景的特殊处理
当多个 WorkBuddy 实例共享同一家庭网络时,需要额外考虑以下攻击面:
- 横向渗透风险:恶意实例可能通过伪造 LLMNR/NBNS 响应劫持跨用户通信。解决方案:
- 为每个用户实例分配独立的 network namespace
- 在 ClawOS 中启用
user.slice的 cgroup 网络隔离 -
禁止容器间的 raw socket 访问(设置
CAP_NET_RAW能力白名单) -
资源竞争问题:密集的 mDNS 查询可能导致低端路由器 CPU 过载。建议:
- 调整
clawbridge.conf中的discovery_interval参数(默认 60s 可延长至 300s) -
对树莓派等设备启用 QoS 策略:
tc qdisc add dev eth0 root cake bandwidth 10Mbit -
隐私数据交叉污染:某案例显示,智能电视的 UPnP 响应中包含最近观看记录。应对措施:
- 在 ClawBridge 网关层强制清洗服务发现报文中的非必要字段
- 对媒体设备启用
_privacy._tcp.local特殊标记 - 定期运行
clawscan --privacy审计泄漏风险
四、上线前检查清单(扩展版)
网络层验证
- [ ] 使用
iw dev wlan0 get mesh_param确认 802.11s mesh 网络已禁用 - [ ] 通过
nmap -sU -p 5353,1900 --script=dns-service-discovery扫描暴露的服务 - [ ] 检查路由器是否过滤了 IPv6 的 FF02::FB 组播流量
主机层加固
- [ ] 确认
/sys/class/net/eth0/device/driver驱动版本已修补 Spectre 漏洞 - [ ] 为 clawbridge 进程设置 seccomp 规则,禁用
socket(AF_NETLINK) - [ ] 在 eBPF 层挂载发现协议流量统计程序(参考 ClawSDK 示例代码)
策略审计
- [ ] 运行
clawpolicy --validate检查所有 JSON 策略文件的语法完整性 - [ ] 人工复核
/var/log/claw/discovery.log中的异常跨子网请求 - [ ] 测试移除 TPM 芯片后设备是否被自动隔离
五、深入防御建议
对于需要更高安全等级的场景,可以考虑:
- 物理层隔离:使用带外管理网络(如 PLC 电力线)传输发现流量
- 时间窗限制:通过 cron 设置
clawctl discovery --enable仅在 8:00-22:00 生效 - 行为基线监控:利用 ClawHub 的异常检测模块建立设备通信模式指纹
反例警示
某智能家居厂商曾因以下错误设计导致大规模隐私泄露: - 使用静态加密密钥保护 mDNS 响应(可通过固件逆向提取) - 允许通过 TCP 1900 端口执行 SSDP 发现(违反 RFC 标准) - 未对设备证书设置合理的 CRL 检查机制
这些反面案例印证了本文提出的权限白名单和协议强化措施的必要性。开发者应定期参考 OpenClaw 安全公告(security.openclaw.org)更新防御策略。
更多推荐




所有评论(0)