Back to skill

Security audit

weatheresp32

Security checks for vulnerabilities and agentic risk

Overview

This ESP32 weather skill is purpose-aligned, but it needs review because it saves and contacts a user-configured network endpoint without clear limits or deletion controls.

Install only if you are comfortable with the agent making network requests to an ESP32 address you provide. Verify the endpoint belongs to your device, avoid using arbitrary URLs, and be aware the skill says it will remember the address but does not provide a clear way to clear it.

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
SKILL.md:13
Finding

Unrestricted ESP32 Endpoint Configuration Enables Server-Side Request Forgery

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger phrases for fetching sensor data are broad enough to overlap with normal conversation, which can cause the skill to activate unexpectedly and initiate network requests to a device endpoint without clear user intent. In this skill, accidental activation is more concerning because execution includes outbound HTTP requests to a user-supplied local IP or tunnel URL.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs the agent to send HTTP requests to a user device, including a local IP or exposed Cloudflare tunnel, without clearly warning the user that network access to their device will occur. This matters because users may not understand that interacting with the skill causes active connections to infrastructure they control, potentially exposing metadata, availability, or device information.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

Phrases like asking whether it is hot or whether to take an umbrella are generic and could match ordinary weather-related conversation unrelated to this personal sensor. This can lead to unintended use of the skill and misleading responses or unnecessary device access based on stale or irrelevant sensor data.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill states it will save a user-provided ESP32 IP for future requests but does not disclose how long that value is retained, where it is stored, or how the user can clear it. Persistent storage of network identifiers without transparency can create privacy issues and can also cause future requests to be sent to an outdated or unintended target.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The health-check phrases are ambiguous and could be invoked during routine troubleshooting conversation, causing unsolicited requests to the device health endpoint. While lower impact than reading data, it still creates unintended local-network interaction and may disclose device status information inappropriately.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.