xiao-esp32s3-mqtt-dashboard
Warn
Audited by Gen Agent Trust Hub on Jul 28, 2026
Risk Level: MEDIUMCOMMAND_EXECUTIONEXTERNAL_DOWNLOADSPROMPT_INJECTION
Full Analysis
- [PRIVILEGE_ESCALATION]: The skill uses
Start-Process -Verb RunAsto execute PowerShell scripts (setup_broker.ps1andsetup_firewall.ps1) with administrative privileges. These scripts are designed to modify the Mosquitto configuration file atC:\Program Files\Mosquitto\mosquitto.confand create new inbound firewall rules usingNew-NetFirewallRule. While these actions are documented as necessary for the skill's networking functionality, they involve high-privilege operations that should be reviewed carefully. - [INDIRECT_PROMPT_INJECTION]: The web dashboard application is vulnerable to indirect injection attacks through the MQTT broker.
- Ingestion points: The
app.jsscript processes incoming MQTT messages viaclient.on('message'). - Boundary markers: No delimiters or sanitization logic is present to isolate data from the dashboard UI structure.
- Capability inventory: The dashboard can execute arbitrary JavaScript in the context of the user's browser (XSS).
- Sanitization: The
renderCardfunction inapp.jsusesinnerHTMLto display the devicestatusandidderived from MQTT topics and payloads without escaping, allowing a malicious MQTT client on the same network to inject and execute scripts in the dashboard UI. - [UNVERIFIABLE_DEPENDENCIES_AND_REMOTE_CODE_EXECUTION]: The skill installs the
PubSubClientlibrary viaarduino-cliand loads the MQTT.js library from a public CDN (unpkg.com). Both are standard and expected dependencies for the skill's stated purpose of MQTT communication. - [COMMAND_EXECUTION]: The skill instructs the agent to execute several local commands for network diagnostics (
Get-NetIPAddress), service management (Restart-Service), and firmware deployment (arduino-cli).
Audit Metadata