Wireless Rf logo

Wireless Rf

Community
hypnguyen1209
wireless-rf

Use when the target has a non-Wi-Fi radio attack surface — Bluetooth/BLE (GATT, pairing, KNOB/BIAS/BleedingTooth), Zigbee/Thread/Matter & Z-Wave mesh (Touchlink, S0 downgrade), LoRaWAN/Sub-GHz LPWAN, SDR capture/replay/rolljam, smart locks/medical/IoT radios. For Wi-Fi/WPA/evil-twin see network-attack.

Overview

Publisherhypnguyen1209
Repositoryoffensive-claude
Skill namewireless-rf
Stars
396
Forks
71
Bundled files
4
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 4 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by hypnguyen1209 on GitHub. Read the source before you install it.

Installation

Install the Wireless Rf AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/hypnguyen1209/offensive-claude/tree/main/skills/wireless-rf
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/hypnguyen1209/offensive-claude.git /tmp/offensive-claude
mkdir -p .claude/skills
cp -r /tmp/offensive-claude/skills/wireless-rf .claude/skills/wireless-rf
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Wireless Rf in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Wireless Rf on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Wireless Rf is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Wireless / RF (non-Wi-Fi radio)

Radio attack surface beyond Wi-Fi: Bluetooth (BLE + Classic), 802.15.4 mesh (Zigbee/Thread/Matter), Z-Wave, and LPWAN/Sub-GHz (LoRaWAN, ISM rolling-code / OOK-ASK). For Wi-Fi, WPA2/WPA3, evil-twin and 802.1X, use network-attack (references/wireless-attacks.md, which also now carries KRACK/FragAttacks and WPS). Adapted in part from Claude-Red (MIT, Kai Aizen/SnailSploit) — see THIRD-PARTY-NOTICES.md.

When to Activate

  • Auditing a BLE device (smart lock, wearable, medical, tracker): GATT enumeration, unauthenticated characteristic R/W, pairing-mode identification, LTK recovery, sniffing, companion-app RE.
  • Bluetooth Classic targets: encryption-key entropy downgrade (KNOB), impersonation (BIAS), BlueZ/stack memory-corruption (BlueBorne / BleedingTooth).
  • Zigbee / Thread / Matter / Z-Wave home/building automation: Touchlink commissioning abuse, key transport in the clear, S0 key-exchange downgrade, replay/AiTM on mesh commands.
  • LoRaWAN / Sub-GHz: join-accept / uplink replay, ABP counter & nonce reuse, and generic ISM capture→replay / rolljam of OOK-ASK remotes (garage, gate, some auto keyfobs).
  • You have (or can request) the right radio: a dual-mode BT adapter + BLE sniffer (Sniffle/Ubertooth), a KillerBee-supported 802.15.4 stick, an RfCat dongle (CC1111), and/or an SDR (RTL-SDR, HackRF).
  • STOP if the RF target or its band is out of scope. RF is trivially cross-boundary (you will hear neighbours). Confirm scope.json and the physical/RF authorization before transmitting. Jamming, deauth-style disruption, and replay against safety/medical systems can be illegal and dangerous — see OPSEC & Detection.

Technique Map

TechniqueATT&CKCWEReferenceScript
BLE GATT enum + unauth characteristic R/WT1040 / T1592CWE-306references/bluetooth.mdscripts/rf_recon.sh
BLE LE-Legacy Just-Works LTK recovery (crackle)T1557CWE-322references/bluetooth.md-
BLE sniffing / active MITM (Sniffle/btlejack)T1040 / T1557CWE-319references/bluetooth.mdscripts/rf_recon.sh
BT Classic key-entropy downgrade (KNOB, CVE-2019-9506)T1557CWE-326references/bluetooth.md-
BT Classic impersonation (BIAS, CVE-2020-10135)T1557CWE-287references/bluetooth.md-
BlueZ/stack RCE (BleedingTooth CVE-2020-12351/12352)T1200CWE-787references/bluetooth.md-
Bluetooth data exfiltrationT1011.001CWE-319references/bluetooth.md-
Zigbee Touchlink commissioning abuse / resetT1557CWE-284references/mesh-iot-radio.mdscripts/rf_recon.sh
Zigbee/ZLL key transport in clear + replayT1040 / T1557CWE-319references/mesh-iot-radio.mdscripts/rf_recon.sh
Z-Wave S0 key-exchange downgrade ("Z-Shave")T1557CWE-757references/mesh-iot-radio.md-
LoRaWAN join-accept / uplink replayT1602CWE-294references/lpwan-subghz.md-
LoRaWAN ABP counter / nonce reuseT1040CWE-323references/lpwan-subghz.md-
Sub-GHz OOK-ASK capture→replay / rolljamT1557CWE-294references/lpwan-subghz.mdscripts/rf_recon.sh

Quick Start

bash
# 0. AUTHORIZATION FIRST — confirm the RF target/band is in scope (RF crosses walls).
python3 ../coding-mastery/scripts/_lib/scope_guard.py --target "<device-id-or-mac>" || exit 3

# 1. BLE recon: discover, enumerate GATT, flag unauthenticated writable characteristics
sudo bash scripts/rf_recon.sh ble-scan
sudo bash scripts/rf_recon.sh ble-enum <BD_ADDR>      # services/characteristics + R/W perms

# 2. BLE pairing/crypto: identify pairing method; LE-Legacy Just Works -> crackle recovers LTK
#    (capture pairing with Sniffle/Ubertooth to a pcap, then:)
crackle -i pairing.pcap                                # LTK/STK if LE Legacy

# 3. 802.15.4 mesh recon (KillerBee): find Zigbee networks + channel
sudo bash scripts/rf_recon.sh zb-scan                  # zbstumbler across channels 11-26

# 4. Sub-GHz capture -> analyze -> replay (RfCat / SDR). rtl_433 first to fingerprint.
sudo bash scripts/rf_recon.sh subghz-id                 # rtl_433 protocol/mod fingerprint
#    then capture+replay in Universal Radio Hacker (URH), watching for rolling codes.

OPSEC & Detection (summary)

TechniqueTelemetry / IOCDetectionOPSEC / legal note
BLE scan/enumconnectable advertising probes; repeated GATT connectsBLE WIDS (rare); app-side connection anomalypassive hcitool lescan/Sniffle is quiet; enumeration is a normal client action
BLE MITM / LTK recoverycloned advertiser; a 2nd device holding the connectionduplicate BD_ADDR; RSSI/2-radio anomalyLE Legacy Just Works is the weak path; LE Secure Connections (ECDH) defeats crackle
KNOB / BIAS (Classic)renegotiated low-entropy key; unexpected re-pairpatched stacks reject 1-byte entropy / require MITM-protectionneeds proximity + a window; patched hosts (post-2019/2020) mitigate
BleedingTooth / BlueBornetarget BlueZ/stack crash or rebootcrash telemetry; kernel/stack patch levelmemory-corruption = crash/DoS risk; lab-validate, get written sign-off
Zigbee Touchlink / key-in-clearTouchlink scan/identify; devices leaving/rejoining802.15.4 IDS (rare); coordinator join logsTouchlink range abuse can factory-reset lights building-wide — scope tight
Z-Wave S0 downgradeS0 key-exchange when S2 expectedcontroller S2 bootstrap logsneeds presence during (re)pairing; S2 defeats it
LoRaWAN replayduplicate frame counters at the NS; join floodsNS frame-counter monitoring; join-nonce checks1.0.x is weaker than 1.1; downlink replay can toggle actuators
Sub-GHz replay / rolljamjamming energy in-band + delayed replayRF spectrum monitoring (rare on ISM)jamming is illegal in most jurisdictions; rolljam defeats rolling codes but needs jam+capture — explicit authorization only

Deep Dives

  • references/bluetooth.md — BLE (GATT enumeration & unauth R/W, pairing-method identification, LE-Legacy Just-Works LTK recovery with crackle, Sniffle/btlejack sniffing & active MITM, companion-app RE, device-class playbooks for locks/medical/wearables) and Bluetooth Classic (KNOB CVE-2019-9506, BIAS CVE-2020-10135, BlueBorne, BleedingTooth CVE-2020-12351/12352/24490, BLESA, SweynTooth). Detection + OPSEC per technique.
  • references/mesh-iot-radio.md — 802.15.4 mesh: Zigbee (Touchlink/ZLL commissioning abuse & master-key leak, key transport in the clear, NWK/APS replay, KillerBee/zbstumbler/zbdump), Thread/Matter (commissioning, OpenThread lab), and Z-Wave (S0 key-exchange downgrade "Z-Shave", S2 bootstrap, Scapy-radio/EZ-Wave, RfCat).
  • references/lpwan-subghz.md — LoRaWAN (1.0.x vs 1.1 root/session keys, join-accept & uplink replay, ABP counter/nonce reuse, gr-lora/ChirpStack lab) and generic Sub-GHz/ISM (rtl_433 fingerprinting, RfCat CC1111, HackRF + Universal Radio Hacker capture→replay, OOK-ASK rolling-code vs fixed-code, rolljam theory & legality).

Cross-references

  • Wi-Fi / WPA2 / WPA3 / evil-twin / 802.1X / KRACK / WPS → network-attack (references/wireless-attacks.md).
  • Companion-app / firmware reversing → reverse-engineering; mobile app pairing logic → mobile-pentest.
  • REQUIRED: scope-discipline before transmitting; finding-discipline before any [CONFIRMED] (an advertised characteristic is not impact — you must read/write it or recover the key). Authorized only (TERMS.md).

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Wireless Rf AI skill do?

Use when the target has a non-Wi-Fi radio attack surface — Bluetooth/BLE (GATT, pairing, KNOB/BIAS/BleedingTooth), Zigbee/Thread/Matter & Z-Wave mesh (Touchlink, S0 downgrade), LoRaWAN/Sub-GHz LPWAN, SDR capture/replay/rolljam, smart locks/medical/IoT radios. For Wi-Fi/WPA/evil-twin see network-attack.

Why use Wireless Rf on TypingMind?

Because you install it once and use it with any model. Wireless Rf is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Wireless Rf in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/hypnguyen1209/offensive-claude/tree/main/skills/wireless-rf. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Wireless Rf?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Wireless Rf?

As many as you like. As long as a model supports skills, you can use Wireless Rf with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Wireless Rf AI skill free?

Yes. It is published on GitHub by hypnguyen1209 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇