WPA3 Security Testing
WPA3 security testing requires complex SAE and EAPOL analysis; Penzzer enables fuzzing by acting as a controllable WPA3 Access Point for devices.

Bluetooth audio accessories have become ubiquitous in modern life - from hands-free car kits and wireless earbuds to smartwatches and infotainment systems. At the heart of hands-free calling capabilities is the Bluetooth Hands-Free Profile (HFP), a protocol suite that bridges the gap between mobile devices and external audio hardware.
For developers, engineers, and security researchers, understanding HFP at both the protocol and implementation level is essential - not just for enabling features but also for securing devices against real-world threats and failures. This guide synthesizes best practices from Bluetooth SIG specifications, in-depth technical notes like Silicon Labs' AN992, and leading-edge fuzzing methodologies with Penzzer, providing an end-to-end playbook for anyone working with Bluetooth HFP.
The Hands-Free Profile (HFP) is a Bluetooth protocol designed to facilitate voice communication between a mobile phone (or any Audio Gateway) and an external hands-free device, such as a car kit or a wireless headset. Its key purpose is to enable users to initiate, receive, and manage phone calls without physically handling the phone, promoting convenience and safety - especially while driving.
"Hands-Free Profile describes how an audio gateway device can be used to place and receive calls for a hand-free device."
- AN992, Silicon Labs
Both the phone and the accessory must implement the HFP to ensure compatibility.
HFP splits device roles into:
Hands-free control is implemented using AT commands over an RFCOMM serial port emulation. Audio is transmitted over SCO/eSCO (for voice quality and bandwidth).
"Hands-Free control is the entity responsible for Hands-Free unit specific control signalling; this signalling is AT command based. Control channel works on top of RFCOMM connection and the audio channel on top of SCO or eSCO channel."
- AN992, Section 1.1
To enable HFP as HF on an embedded device or Bluetooth module:
SET PROFILE HFP ON
SET BT CLASS 200404
RESET
SET PROFILE HFP ON: Enables HFP mode.SET BT CLASS 200404: Sets the Class-of-Device (CoD) for discoverability.RESET: Applies changes.
SET PROFILE HFP-AG ON
SET BT CLASS 400204
RESET
SET PROFILE HFP-AG ON: Enables Audio Gateway mode.
SET BT CLASS 400204: Correct CoD for AG.
SET BT SSP 3 0 # Enables "just works" SSP
SET BT AUTH * 0000 # Enables PIN code pairing with code '0000'
RESET
SDP 00:07:80:93:0c:aa 111F
SDP 00:07:80:81:66:6f 111E
CALL {bd_addr} 111F HFP
CALL {bd_addr} 111E HFP-AG
ANSWER command; audio channel (SCO) established.ATD<number>; or AT+BLDN (last dialed).callsetup, call, etc.) and audio connection negotiated.
HANGUP command from either device.CLOSE {sco_link_id} command.CLOSE {link_id} command.
HFP is fundamentally driven by AT commands and their respective field values. Understanding and correctly handling these is essential for both interoperability and security.
After establishing the control channel, the AG sends status reports:
These are reported as HFP {link_id} STATUS "{indicator}" {value}.
AT+VGS (speaker) and AT+VGM (microphone), range 0-15.HFP {link_id} CODEC {codec}.
0: Release all held calls1: Release all active calls2: Place active calls on hold3: Add held call to conversation (conference)
Some implementations expose AT commands for phonebook and SMS access:
AT+CPBS/AT+CPBR: Phonebook select and read.AT+CMGF, AT+CMGL: SMS format and listing.
Despite its simplicity, HFP can be a source of security and stability issues, especially as the complexity of implementations increases. Real-world bugs have included:
Vulnerabilities may be triggered by:
The HFP protocol surface, especially its AT command set and stateful operation, makes it an attractive target for fuzzing—not just to find implementation flaws, but to proactively secure devices against malicious actors or malformed device behavior.
ANSWER if a call is incoming).
1. AT Command Fuzzing:
2. Call State Manipulation:
AT+CHLD, ANSWER, and HANGUP.
3. Indicator and Event Stress:
service, call, callsetup, etc.) through their min/max and undefined values.
4. Audio Channel Abuse:
5. Phonebook/SMS Attack Surface:

Identify security flaws before attackers do, automatically and at scale with Penzzer's intelligent fuzzing engine.
