TL;DR: Malformed-traffic testing in the MQTT-based protocol used across ICS and SCADA can now cover all 9 message types, 19 data types, and 87+ field paths, turning it into something operators can apply before broken parsing or state handling becomes a plant-floor problem, according to Bishop Fox. For IAM and OT defenders, the point is not the tool itself but the control gap: publish-subscribe trust, broker permissions, and protocol validation still determine blast radius.
Editorial analysis by NHI Mgmt Group, based on content published by Bishop Fox: “Sparkplug B Protocol Fuzzing with AI Assistance”.
By the numbers:
- The improved fuzzer maps all 9 message types, 19 data types, and 87+ unique field paths defined by the Eclipse Sparkplug specification.
- The initial script covered only 4 of 9 message types and fuzzed just 1 metric with string data.
Key questions
Q: What breaks when Sparkplug B messages are not strictly validated?
A: Devices and brokers can accept malformed payloads, mis-handle aliases, or process out-of-order state changes as if they were valid.
Q: Why do broad MQTT topic permissions increase risk in Sparkplug B deployments?
A: Broad permissions let one misbehaving publisher reach many subscribers through a shared broker, so a single malformed or malicious message can spread widely.
Q: How can security teams tell whether Sparkplug B fuzzing is finding real exposure?
A: Look for parser failures, silent acceptance of invalid payloads, unexpected rebirths, orphaned sessions, and devices that keep operating after malformed traffic.
Practitioner guidance
- Harden MQTT broker authentication and topic ACLs Require authenticated publishers and subscribers, disable anonymous access, and scope topic permissions to the minimum Sparkplug B namespace needed for each role.
- Validate Sparkplug B payloads before state changes Check protobuf structure, metric types, alias reuse, and sequence ordering before a message can alter device or application state.
- Log lifecycle transitions across the fleet Record NBIRTH, DBIRTH, NDEATH, DDEATH, and STATE events so orphaned devices, stale sessions, and unexpected rebirths are visible quickly.
Bottom line: Sparkplug B testing exposes a wider operational risk than broken parsing alone, because broker trust and state handling determine whether malformed traffic stays contained.
Explore further
View Full Forum → | NHI Foundation Course → | Our Services → | Read the full analysis →
Protocol fuzzing has become a control validation discipline for OT, not just a software-testing exercise. Sparkplug B shows why specifications are not enough when the protocol itself sits inside the operational path. The meaningful question is whether parsers, brokers, and device logic fail safely when traffic is malformed. Practitioners should treat fuzz results as evidence about control effectiveness, not as isolated bug reports.
A few things that frame the scale:
- Claude Code-assisted commits leaked secrets at a rate of 3.2%, more than double the human-only baseline of 1.5%, with peaks reaching 31 secrets per 1,000 commits in August 2025, according to the State of Secrets Sprawl 2026.
A question worth separating out:
Q: Should organisations treat Sparkplug B validation as an OT control or an application test?
A: Both, but the governance owner should treat it as an OT control because the failure mode affects safety, availability, and process integrity. Application testing alone misses the broker, topic, and lifecycle assumptions that make industrial telemetry trustworthy. The practical answer is to test protocol handling as part of operational resilience.
👉 Read our full editorial: Sparkplug B fuzzing exposes protocol gaps in industrial control systems