Installs into .claude/skills of the current project.
Are you the author of Zigbee?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/0dayinc-zigbee)
---
name: pwn-sdr-decoder-zigbee
description: Drive PWN::SDR::Decoder::ZigBee from pwn_eval.
license: MIT
allowed-tools: [pwn, pwn_eval]
metadata:
bundled: true
generated: true
module: PWN::SDR::Decoder::ZigBee
source: pwn/sdr/decoder/zigbee.rb
---
# PWN::SDR::Decoder::ZigBee
IEEE 802.15.4 O-QPSK (2.4 GHz ZigBee/Thread) true-air decoder. 2 Mchip/s half-sine O-QPSK ≡ MSK: continuous Ruby FM/NRZ recovery produces differential frequency signs, not raw chips. Each symbol maps to a 32-chip PN sequence (Table 73, IEEE 802.15.4-2011); soft- correlate every 32 chips against the 16 sequences → symbols → nibbles → bytes. Hunt SHR (4×0x00 preamble + SFD 0xA7) → PHR len → MHR (FCF/seq/PAN/addr) → FCS (CRC-16-KERMIT). Emits per-frame {pan_id:, src:, dst:, frame_type:, len:, fcs_ok:}.
## When to use
Call `PWN::SDR::Decoder::ZigBee` from `pwn_eval` when the task needs this module.
Do not reimplement it in shell.
## Methodologies
Generated from `pwn/sdr/decoder/zigbee.rb`. Prefer the public class methods below.
Class methods take `(opts = {})` and read `opts`.
## How to call
```ruby
PWN::SDR::Decoder::ZigBee.help
PWN::SDR::Decoder::ZigBee.parse_mpdu(opts)
```
## Public methods
- `parse_mpdu`
- `decrypt_ccm`
- `parse_security`
- `parse_nwk`
- `parse_aps`
- `decode`
- `detect`
- `parse_line`
- `authors`
- `help`
## References
- `references/urls.md` — URLs from source
## Source
`pwn/sdr/decoder/zigbee.rb`
## Verification
`PWN::SDR::Decoder::ZigBee.respond_to?(:parse_mpdu)` after the
module is loaded. Read the source for parameter names.