MQTT 过滤器语法
依据 MQTT 主题过滤器规则检查 # 的位置、+ 是否独占一层、UTF-8 长度、空字符和过宽的根通配符。
本地 MQTT 安全工具
使用固定的逐行 ACL 文档检查 MQTT 通配符错误,以及 RunMQTT 租户、设备和方向风险。分析完全在当前浏览器标签页内完成。
可从安全或故意不安全的 Fixture 开始。检查结果只引用行号,不会把文档发送给 RunMQTT 或 Analytics。
仅在本地分析
策略仅保留在当前浏览器标签页中,不会上传、记录、写入 URL 或保存到 Local Storage。
分析文档后即可查看具体到行的检查结果。
格式刻意保持精简,只描述一个 profile、一个可选的字面租户 scope、一个主体和带方向的 ACL 规则。
// Comments start with //
profile runmqtt
scope tenants/acme
principal device sensor-42
publish tenants/acme/devices/sensor-42/telemetry
subscribe tenants/acme/devices/sensor-42/commands/#使用 profile mqtt 仅执行协议检查;使用 profile runmqtt 还会检查 scope、设备和方向。
每条 ACL 规则以 publish、subscribe 或 both 开头,后接且只接一个 MQTT 主题过滤器。
RunMQTT scope 是 Linter 用来发现租户逃逸的字面主题前缀;它不会上传或添加到 Broker。
每条结果均标为 MQTT 或 RunMQTT,避免混淆协议要求与产品特定安全模型。
Linter 返回确定性的规则代码和行号,不虚构安全评分,也不推断运行时执行结果。
结果无告警只代表所提供的文档通过了已建模检查。Broker 配置和负向授权测试仍然是最终依据。
用静态检查结果完善策略设计,再针对真实 Broker 验证应允许和应拒绝的流量。