Back to skill

Security audit

The Spatiotemporal Rendering Engine

Security checks for vulnerabilities and agentic risk

Overview

This smart-home timeline skill is not deceptive, but it should be reviewed because it saves unvalidated LLM-generated device schedules that may later drive real-world automation.

Review this before installing in any real smart-home environment. It is most appropriate for simulation or a sandbox unless a separate executor independently validates every device, action, value, and schedule and requires confirmation for sensitive actions such as heaters, locks, high-volume audio, robots, or medication workflows. Treat any microphone, mmWave, behavioral, or elder-care use as privacy-sensitive and require explicit consent and clear retention controls.

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

Warning
Location
skill.py:48
Finding

Unvalidated LLM Output Persisted as Actionable IoT Timeline Instructions

Content
View full analysis
{kf.get('device_id')}") print(f" Action: {kf.get('rendered_state')} ({kf.get('reason_nlp')})") tracks_db = load_json(TRACKS_FILE) if "scheduled_tracks" not in tracks_db: tracks_db["scheduled_tracks"] = [] tracks_db["scheduled_tracks"].append(track_result) save_json(TRACKS_FILE, tracks_db) ``` ### Technical Analysis The skill embeds user-controlled natural-language input and hardware-mount metadata into a single LLM prompt. Both sources must be treated as untrusted because the interactive user controls the intent, while local processes o ...[truncated 2911 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (7)

Ssd 1

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

User-controlled natural language is inserted directly into the orchestration prompt that determines device actions, so an attacker can craft input that semantically overrides constraints or manipulates the model into generating unsafe or unauthorized keyframes. In this skill context, the generated output affects IoT automation timelines, making prompt injection more dangerous because it can influence real-world device behavior rather than only text output.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill uses a broad spoken trigger phrase ('Make a wish!') tied to immediate environmental actions, which can be activated accidentally, by guests, or by media playback. In a smart-home context, ambiguous voice triggers increase the chance of unintended automation and can be abused to manipulate lighting/audio behavior without clear user intent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill describes continuous or event-driven microphone monitoring to detect natural-language phrases but does not present any explicit privacy notice, consent model, or data-handling limitation. Audio monitoring inside a home is highly privacy-sensitive because it may capture bystanders, private conversations, and non-user speech without meaningful awareness.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill describes collecting and correlating intimate in-home behavioral data, including breathing patterns, posture, emotional distress, pet vocalizations, long-term movement history, and elder activity status, without clear disclosure or safeguards. This level of behavioral inference can reveal health, emotional, and daily-routine information, making misuse or overcollection especially invasive and potentially harmful.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill describes autonomous physical actions—dispatching a robot, transporting medication and water, and issuing reminders—without clearly warning that the system can affect the real world. Real-world actuation creates safety and reliability risks if the inference is wrong, conditions change, or the robot interferes with people, pets, or ongoing activities.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill sends user intent and device inventory to an HTTP API endpoint without notifying the user or obtaining consent. Even though the endpoint is localhost, it still exposes sensitive behavioral data and local device metadata to another service, which may log, forward, or be replaced by an untrusted local process.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

The message at L149 says the rendered track was 'securely injected into Timeline DB', which implies a secured database operation. In reality, L143-L147 simply load a local JSON file, append data, and write it back to disk, so the wording actively overstates and mischaracterizes what the code does.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.