MQTT Fuzzer

Fuzz MQTT 3.1.1 brokers with boofuzz to detect protocol violations.

Updated Dec 5, 2025
One-click install
npx skills add https://github.com/lawless-m/mtqq-fuzzer --skill mqtt-fuzzer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: MQTT Fuzzer
Source: https://github.com/lawless-m/mtqq-fuzzer/tree/main/.claude/skills/Creating%20Skills
Command: npx skills add https://github.com/lawless-m/mtqq-fuzzer --skill mqtt-fuzzer

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires boofuzz, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps identify vulnerabilities in MQTT broker implementations by fuzzing them against the MQTT 3.1.1 specification, ensuring robust security and protocol compliance.

Core Features & Use Cases

  • Comprehensive Protocol Coverage: Tests all MQTT 3.1.1 packet types including CONNECT, PUBLISH (all QoS levels), SUBSCRIBE, UNSUBSCRIBE, PING, and DISCONNECT.
  • Edge Case and Malformed Packet Testing: Identifies weaknesses by sending invalid remaining lengths, malformed UTF-8 strings, and incorrect wildcard usage.
  • Use Case: A security engineer can use this fuzzer to proactively discover and fix potential buffer overflows or denial-of-service vulnerabilities in an IoT device's MQTT communication layer before deployment.

Quick Start

Run the MQTT fuzzer against a broker running on localhost at port 1883, including malformed and edge-case packets.

Frequently Asked Questions about MQTT Fuzzer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fuzz an MQTT broker to find protocol violations?

Fuzzing an MQTT broker involves sending mutated packets and malformed data to detect protocol violations. This Skill targets MQTT 3.1.1 implementations to validate standard packet types and identify security weaknesses like buffer overflows.

What types of MQTT vulnerabilities can boofuzz identify in IoT devices?

Boofuzz identifies MQTT vulnerabilities like buffer overflows and denial-of-service conditions by testing edge cases. It sends malformed UTF-8 strings, invalid remaining lengths, and incorrect wildcard usage to expose implementation flaws.

Does this MQTT fuzzer support testing all QoS handshake levels?

Yes, this MQTT fuzzer supports testing all QoS handshake levels. It provides comprehensive protocol coverage across all MQTT 3.1.1 packet types including CONNECT, PUBLISH, SUBSCRIBE, UNSUBSCRIBE, PING, and DISCONNECT.

Can I test a local MQTT implementation running on localhost port 1883?

Yes, you can test a local MQTT implementation running on localhost at port 1883. The fuzzer executes deterministic tasks against the specified broker endpoint to validate protocol compliance and detect edge case vulnerabilities.

Why should I use boofuzz instead of other fuzzing frameworks for protocol testing?

Using boofuzz for protocol testing provides deterministic task execution and protocol validation specifically for MQTT 3.1.1. It systematically generates malformed packets and edge cases to ensure robust security and specification compliance.

What edge cases should I look for when securing MQTT brokers?

When securing MQTT brokers, look for edge cases like malformed data and invalid lengths. This fuzzer specifically tests incorrect remaining lengths, malformed UTF-8 strings, and invalid wildcard usage to uncover potential security vulnerabilities.