Back to skill

Security audit

HomeKit Smart Home Control

Security checks for vulnerabilities and agentic risk

Overview

This HomeKit skill does what it says, but it controls real smart-home devices while storing and handling pairing credentials with limited safeguards.

Review before installing. Use this only on a trusted machine and network, avoid running it against locks, garage doors, thermostats, or other safety-sensitive devices without explicit confirmation, remove pairing commands containing real PINs from shell history, and protect or delete `~/.config/homekit/pairings.json` if you stop using the skill.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (3)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:24
Finding

Unpinned and Inconsistent Third-Party Dependency Installation

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/homekit.py:264
Finding

HomeKit Pairing PIN Exposed Through Process Arguments

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/homekit.py:26
Finding

Restrictive Permissions Are Not Enforced for Stored HomeKit Pairing Data

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • 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 (6)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation instructs users how to unpair HomeKit devices without warning that this action is disruptive and may remove management access until the device is re-paired, potentially affecting household automation and availability. In a smart-home control skill, destructive device-management actions are especially sensitive because they can impact safety, convenience, and operational continuity for real devices.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · SKILL.md (reported line 132)May include surrounding context.

Scene Script Example

Create ~/scripts/goodnight.sh:

bash
#!/bin/bash
# Goodnight Scene: Turn off all lights except a dim bedside lamp

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The documentation instructs an agent to discover devices on the local network, pair with them using a PIN, and change device state, but it provides no warning that these actions touch the user's LAN and can affect physical devices in the home. In an agent skill context, that omission is security-relevant because it can normalize high-impact actions without requiring explicit user awareness, confirmation, or safety boundaries.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The script persists HomeKit pairing data to a predictable file under ~/.config/homekit/pairings.json, which likely contains long-lived credentials or keys needed to control smart-home devices. There is no user-facing warning, permission check, or explicit file-permission hardening, so local compromise, shared-user environments, or backups could expose credentials that enable unauthorized device control.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
79% confidence
Finding

Removing a pairing and immediately saving the updated pairing file is a destructive state-changing action. The code reports success afterward, but there is no prior warning or confirmation that the action will permanently remove stored access for that device.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.