offensive-z-wave

offensive-z-wave is a skill for Claude Code, Codex from Miosa-osa/OSA. It costs 113 tokens per session (1,700 once invoked), scanned A, a copy of offensive-z-wave, Apache-2.0.

A methodology for testing the security of Z-Wave wireless networks used in some home-automation devices. It covers older S0 and newer S2 security, wireless capture, replay and injection, commissioning, and hub pivots.

In plain words
What is it for?
Use it to assess key handling, replay or injection exposure, default keys in test deployments, and the security of hubs and connected devices.
Why use it?
It gives testers a checklist for examining both legacy and modern Z-Wave protections in authorised assessments.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to assess key handling, replay or injection exposure, default keys in test deployments, and the security of hubs and connected devices.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/miosa-osa/osa/offensive-z-wave
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Miosa-osa/OSA --skill offensive-z-wave
Clone the repo
git clone --depth 1 https://github.com/Miosa-osa/OSA

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for offensive-z-wave

README.md
[![agentmods](https://agentmods.dev/badge/skills/miosa-osa/osa/offensive-z-wave/github.svg)](https://agentmods.dev/skills/miosa-osa/osa/offensive-z-wave)
Your own site
<a href="https://agentmods.dev/skills/miosa-osa/osa/offensive-z-wave"><img src="https://agentmods.dev/badge/skills/miosa-osa/osa/offensive-z-wave/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for offensive-z-wave

Your own site · 80×15
<a href="https://agentmods.dev/skills/miosa-osa/osa/offensive-z-wave"><img src="https://agentmods.dev/badge/skills/miosa-osa/osa/offensive-z-wave.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 113 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,700 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 89% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00113 $0.01700
Opus 5.5 $0.00045 $0.00680
Sonnet 5.5 $0.00023 $0.00340
Haiku 4.5 $0.00011 $0.00170

Measured 1mo ago against content hash 7dfe5ff2f4fa, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

offensive-z-wave scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

89% identical to offensive-z-wave — 40 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

priv/skills/offensive-z-wave/SKILL.md · 187 lines

How it starts

The opening of the file, as written. The whole thing — 187 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Z-Wave Attacks

Z-Wave runs in the 800/900 MHz ISM band (US: 908 MHz, EU: 868 MHz). Older networks used the S0 security scheme with a fixed-derivation network key — long-known to be flawed. S2 (mandatory for Z-Wave Plus v2 since 2017) uses ECDH commissioning and is significantly stronger.

Quick Workflow

  1. Identify region (US 908 MHz / EU 868 MHz) — adapter frequency must match
  2. Sniff inclusion (commissioning) traffic — that's where keys are exchanged
  3. Determine S0 vs S2 from frame format
  4. For S0: derive/replay; for S2: analyze ECDH and look for implementation flaws

Hardware

Adapter Use
Z-Force (legacy, hard to find) Original research tool
EZ-Wave (custom HackRF firmware) Modern, full transceiver
Aeotec Z-Stick Commercial controller, useful as legitimate node
HackRF + open Z-Wave firmware Multi-band SDR approach
RTL-SDR + ZniffMobile (passive only) Cheap sniffer

Sniffing

# EZ-Wave (HackRF firmware-based)
git clone https://github.com/cureHsu/EZ-Wave
ezwave-sniff -f 908.4MHz -o capture.pcap

# Wireshark with the Z-Wave dissector parses captured frames
wireshark capture.pcap

Look for the inclusion phase (controller adding new device) — that's where the network key is exchanged.

S0 Security Flaw

S0 derives the network key from a fixed all-zero PSK during the inclusion of the first device. That fixed material is well-known — any S0 network you sniff during inclusion can be decrypted offline.

S0 commissioning:
  1. New node joins → controller sends key with zero-PSK encryption
  2. Attacker sniffs commissioning frame → derives session key
  3. All future S0 traffic on that network is decryptable

If you can:

  • Trigger inclusion (factory-reset a node, or wait for legitimate inclusion)
  • Sniff during the ~2-second key-exchange window

You own the network key for that mesh.

S2 (Z-Wave Plus / S2 Authenticated)

S2 fixes S0 by using ECDH for commissioning:

  • Each device has a Curve25519 keypair
  • Inclusion uses DSK (Device Specific Key) verified out-of-band (sticker/QR)
  • Network key never traverses the air in plaintext

Read the full file on GitHub · 187 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 187 lines · 113 tokens per session scan A 7dfe5ff2f4fa

Subscribe to this mod's changes

offensive-z-wave is a skill published in the GitHub repository Miosa-osa/OSA (78 stars, last pushed 11d ago), licensed Apache-2.0. It adds 113 tokens to every session and 1,700 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 89% identical to offensive-z-wave, differing in 40 lines, and is treated as a copy.

Related

Other skills, from other repositories

neuroskill-bci

Use live BCI cognitive and mood state from NeuroSkill.

NousResearch/hermes-agent · 18 tokens

opentrons-integration

Official Opentrons Protocol API for OT-2 and Flex robots. Use when writing protocols specifically for Opentrons hardware with full access to Protocol API v2 features. Best for production Opentrons protocols, official API compatibility. For multi-vendor automation or broader equipment control use pylabrobot.

synthetic-sciences/openscience · 66 tokens

pylabrobot

Vendor-agnostic lab automation framework. Use when controlling multiple equipment types (Hamilton, Tecan, Opentrons, plate readers, pumps) or needing unified programming across different vendors. Best for complex workflows, multi-vendor setups, simulation. For Opentrons-only protocols with official API…

synthetic-sciences/openscience · 73 tokens

openhue

Control Philips Hue lights, rooms, and scenes via the OpenHue CLI. Turn lights on/off, adjust brightness, color, color temperature, and activate scenes.

moltis-org/moltis · 35 tokens

eightctl

Control Eight Sleep pods (status, temperature, alarms, schedules).

moltis-org/moltis · 16 tokens

gap

Program robots with GaP (graph-as-policy) — compile natural-language tasks into typed, verified robot skill graphs and run them on simulators or real robots. Use when the user mentions GaP or graph-as-policy, robot manipulation, robot skills, robot tools or capabilities, skill registries, open-robot-skills, LIBERO or…

graph-robots/graph-as-policy · 195 tokens