T08 · Insecure Dependencies
- Location
SKILL.md:43- Finding
Unpinned Third-Party Skill Installation Creates Supply-Chain Risk
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a disclosed smart-home setup guide, but it warrants review because it can connect agents that control home devices, auto-approves trust after handshakes, installs unpinned skills, and can send home status externally.
Review this before installing on any real smart-home environment. Use pinned and trusted dependency versions, choose a simple hostname prefix with only lowercase letters, numbers, and hyphens, verify peer identities before handshakes, and enable Slack/webhook/email summaries only if you are comfortable sending home-state data outside the local network.
SKILL.md:43Unpinned Third-Party Skill Installation Creates Supply-Chain Risk
SKILL.md:40Unvalidated Deployment Prefix Can Enable Shell Command Injection
The setup instructs that trust is automatically approved once both sides exchange handshakes, with no independent verification of identity, authorization, or out-of-band approval. In a smart-home context, this weak trust establishment can allow an unintended or spoofed agent using a similar hostname/prefix to become trusted and then receive sensor data or issue/relay device-control messages.
Agents are private by default. Each pair that communicates must exchange handshakes. When both sides send a handshake, trust is auto-approved -- no manual step needed.
# sensor-hub <-> brain (sensor data flow)
The dashboard role explicitly installs webhook and Slack bridge skills, which enable outbound transmission of smart-home status beyond the local coordinator's core sensing/decision/actuation purpose. In a home-automation context, this can expose occupancy patterns, device state, and other sensitive telemetry to third-party services without clear necessity or minimization.
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.
clawhub install pilot-metrics pilot-webhook-bridge pilot-slack-bridge
**Step 3:** Set the hostname and write the manifest:
```bash
pilotctl --json set-hostname <prefix>-<role>
mkdir -p ~/.pilot/setups
The skill describes outbound sharing via webhook/Slack but does not warn the operator that home telemetry may be transmitted to external parties. In this context, lack of disclosure is dangerous because users may deploy the setup assuming it is purely local while unintentionally exporting sensitive household status and activity information.
The documented data flow includes dashboard -> external on port 443 for daily summaries, expanding the trust boundary from a local smart-home mesh to external services. Home-state summaries can reveal behavioral and occupancy information, so sending them off-device without strong justification or controls creates a real privacy and data-exposure risk.
No suspicious patterns detected.