CtrlK
BlogDocsLog inGet started
Tessl Logo

zigbee-touchlink

Touchlink commissioning abuse on Zigbee Light Link (ZLL) devices using the well-known ZLL transport key, ZCL command injection (toggle/move/step), network key extraction, and factory reset via touchlink. Toolchain covers KillerBee, zbstumbler, zbreplay, and Sonoff Zigbee 3.0 Dongle E running Wireshark live capture.

60

Quality

71%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/standard/iot/zigbee-touchlink/SKILL.md
SKILL.md
Quality
Evals
Security

Security

3 findings: 1 critical severity, 2 high severity. Installing this skill is not recommended: please review these findings carefully if you do intend to do so.

Critical

E006: Malicious code pattern detected in skill scripts.

What this means

Detected high-risk code patterns in the skill content — including its prompts, tool definitions, and resources — such as data exfiltration, backdoors, remote code execution, credential theft, system compromise, supply chain attacks, and obfuscation techniques.

Why it was flagged

This document contains explicit, actionable instructions and code to hijack Zigbee devices (steal devices via Touchlink), factory-reset targets, inject ZCL commands remotely, and extract/decrypt network keys—clear malicious intent and capability for abuse.

Report incorrect finding
High

W007: Insecure credential handling detected in skill instructions.

What this means

The skill handles credentials insecurely by requiring the agent to include secret values verbatim in its generated output. This exposes credentials in the agent’s context and conversation history, creating a risk of data exfiltration.

Why it was flagged

The skill embeds a literal ZLL Master Key and shows code to derive/decrypt and log plaintext network keys (nwk_key_hex) — forcing the model to handle and output secret key material verbatim.

High

W008: Secret detected in skill content (API keys, tokens, passwords).

What this means

Detected sensitive credentials directly embedded within the skill content, such as API keys, access tokens, private keys, or service-specific secrets. Secrets should never be hardcoded in plain text within skill instructions.

Why it was flagged

The document contains a literal, high-entropy key value used as the ZLL Master Key (hex bytes) and assigned to ZLL_MASTER_KEY in code. This value is a direct credential used to derive per-device transport keys and to decrypt captured NWK keys, so it meets the definition of a secret (high-entropy, usable for access). Note: the key is noted as "well-known / published" in the spec, but that does not change that the literal key value is present in the file and is a usable credential. I did not flag other items: examples like 0xDEAD, src_addr 0x1234, simple strings, file paths, or comments are low-entropy placeholders or non-secrets and therefore ignored.

Low

Low-risk findings.

1 low severity finding. Worth noting, but not necessarily harmful.

Low

W012: Unverifiable external dependency detected (runtime URL that controls agent).

What this means

The skill fetches instructions or code from an external URL at runtime, and the fetched content directly controls the agent’s prompts or executes code. This dynamic dependency allows the external source to modify the agent’s behavior without any changes to the skill itself.

Why it was flagged

The installation snippet clones and pip-installs KillerBee from https://github.com/riverloopsec/killerbee at runtime, which fetches and executes remote code that the skill requires.

Repository
PurpleAILAB/Decepticon
Audited
Security analysis
Snyk

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.