Back to skill

Security audit

Lovefromio Sonoscli

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Sonos control helper, with the main caveat that it installs an unpinned third-party Go CLI dependency.

Install only if you are comfortable fetching and building the Sonos CLI from its upstream Go module at install time. For stronger supply-chain control, pin or review a specific version before installing, and only provide Spotify credentials if you intend to use Spotify search features.

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

T08 · Insecure Dependencies

Warning
Location
SKILL.md:5
Finding
Unpinned Third-Party Executable Dependency## Vulnerability Details **File Location**: `SKILL.md`, line 5 **Vulnerability Type**: Unpinned third-party Go module installed from a mutable source **Risk Level**: Medium **Complete Code Snippet**: ```yaml metadata: {"clawdbot":{"emoji":"🔊","requires":{"bins":["sonos"]},"install":[{"id":"go","kind":"go","module":"github.com/steipete/sonoscli/cmd/sonos@latest","bins":["sonos"],"label":"Install sonoscli (go)"}]}} ``` ### Technical Analysis The installation configuration obtains and builds `github.com/steipete/sonoscli/cmd/sonos@latest`. The `@latest` selector is mutable and resolves when installation occurs, so the effective source code may differ from the version available when this Skill was reviewed. This creates a supply-chain risk because neither an audited version nor an immutable commit is specified. Although no malicious behavior was observed in the packaged files, a future upstream compromise or unsafe release could result in unreviewed code being downloaded, compiled, and installed. ### Attack Path 1. An attacker compromises the upstream repository, its release process, or a relevant dependency. 2. The attacker publishes a newer version containing malicious code. 3. A user installs the Skill dependency after that publication. 4. The `@latest` selector resolves to the compromised release. 5. Go downloads and builds the altered source. 6. The resulting `sonos` executable runs malicious code when invoked. ### Impact Assessment A compromised dependency could execute arbitrary code with the privileges of the user performing the installation or running `sonos`. Potential scope includes access to that user's files, environment variables, optional Spotify credentials, and reachable local-network resources. The precise impact depends on the privileges and environment of the affected process. The project itself contains no local executable source, and the externally retrieved module implementation was not includ ...[truncated 141 chars]
Remediation
## Remediation Suggestions - Replace `@latest` with a specific, reviewed semantic version or immutable commit. - Verify the selected release's provenance and Go module checksum before approval. - Record the approved version and checksum in release documentation or a dependency lock policy. - Review upstream dependency changes before performing upgrades. - Use an internal mirror or controlled package proxy where stronger supply-chain governance is required. - Run installation and execution with least privilege and restrict access to unnecessary credentials and sensitive files.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep

Static analysis

No suspicious patterns detected.