Back to skill

Security audit

Homey

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent Homey smart-home controller, but it gives an agent high-impact physical-device control and has under-scoped credential/network safety around local discovery and HTTP use.

Review before installing. Use this only in a trusted environment, prefer secure/verified endpoints where available, avoid saving discovered HTTP addresses on untrusted LANs or VPNs, protect Homey tokens, and require explicit user confirmation for locks, flows, thermostats, and other state-changing commands. Use exact IDs for sensitive devices rather than fuzzy names.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Error
Location
lib/discover-local.js:174
Finding

Local Homey API Token May Be Exposed Through Spoofable mDNS Discovery and Plaintext HTTP

Content
View full analysis
homeycli auth set-local --address http:// --stdin ``` ### Technical Analysis Loc ...[truncated 3257 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (11)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding

The skill explicitly instructs use of a CLI that needs environment/secrets, network access, and shell execution, yet the skill metadata does not declare corresponding permissions or trust boundaries. This creates a mismatch where an agent may perform networked device control and token handling without clear upfront authorization, increasing the chance of over-privileged or unexpected execution.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

These examples include security-sensitive actions such as locking doors as part of routine automation without any warning, confirmation step, or note about real-world consequences. In a smart-home control skill, documentation can be copied directly into agent workflows, so omission of safeguards increases the risk of unintended physical actions affecting safety, access control, or occupant security.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The AI integration section shows direct natural-language-to-command translation for real device control, but does not warn that ambiguous, spoofed, or misinterpreted user requests may trigger physical actions. In this context, an agent may treat the examples as normative behavior and execute commands on lights, thermostats, or other devices without adequate authorization, confirmation, or target verification.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documentation promotes fuzzy matching and typo tolerance for device selection without warning that approximate matching can target the wrong device. In a home automation context, mis-targeting can cause unintended physical effects, especially when commands affect locks, climate, lighting, or other critical devices.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The README explicitly promotes actions like turning devices on/off, adjusting thermostats, and triggering flows, but it does not clearly warn that these commands affect real physical devices and may execute automations with safety, privacy, or cost implications. In an agent-integrated context, this omission increases the chance of unintended real-world actions being taken by users or automation layers without adequate confirmation or safeguards.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

These commands perform real-world smart-home actions such as unlocking/locking devices, changing thermostats, and controlling lights, but the documentation provides no warning about physical or safety consequences. In an agent setting, ambiguous or automated execution could affect home security, energy usage, occupant comfort, or safety-critical devices.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

Flow triggers can execute arbitrary preconfigured automations, potentially causing multiple cascading actions beyond the single command shown. Without warnings or safeguards, an agent could unintentionally trigger routines affecting locks, alarms, appliances, or occupancy simulation, making side effects hard to predict.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The testing guide instructs users to turn devices on/off, set capabilities, and trigger flows against a real Homey environment without a prominent warning that these actions can affect physical devices and live automations. In a smart-home context, this can cause unintended real-world effects such as switching appliances, changing lighting, or invoking automation routines, especially during testing on production homes rather than isolated test setups.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The guide includes commands to clear stored authentication and notes only parenthetically that restoration is manual, but does not present this as a prominent destructive warning. Users following the test steps may unintentionally remove working credentials and lose access until they manually reconfigure local or cloud authentication.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The documentation instructs users to pass sensitive Homey local API keys and cloud tokens via shell commands and environment variables, but it does not warn that secrets can be exposed through shell history, process inspection, logs, or persisted environment configuration. In a smart-home context, compromise of these credentials can enable remote control of devices, access to device state, and triggering of flows, making the omission materially risky even though it appears unintentional.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The documented JSON output includes sensitive environment details such as local IP addresses, configuration file paths, and whether authentication tokens are present. In an agent-integrated CLI, these fields can be captured in logs, chat transcripts, telemetry, or downstream tools, enabling reconnaissance and privacy leakage even if the raw token values are not exposed.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.dangerous_exec

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
scripts/release.js:7