Back to skill

Security audit

Sonoscli.Bak

Security checks for vulnerabilities and agentic risk

Overview

This skill is a small Sonos command helper whose behavior matches its stated purpose, with a supply-chain caution because it installs the Sonos CLI from a mutable Go dependency version.

Install only if you are comfortable with a third-party Sonos CLI being downloaded at install time. Prefer a pinned release if available, and provide Spotify client credentials only when needed for Spotify-related commands.

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 Remote Go Dependency Allows Unreviewed Code Changes<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 5 **Vulnerability Type**: Unpinned third-party dependency **Risk Level**: Medium ### Vulnerable Code ```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 retrieves `github.com/steipete/sonoscli/cmd/sonos@latest`. The mutable `@latest` selector does not identify a fixed, previously reviewed version or commit. Consequently, the code installed by this Skill can change without any corresponding modification to the audited project. The dependency's source code is not included in the project, so its effective installation-time behavior cannot be verified from the audited files. This does not establish that the current upstream package is malicious; it creates a supply-chain vulnerability in which a compromised maintainer account, repository, release process, or future release could introduce unsafe code. This issue is classified as `T08: Insecure Dependencies` because the risk originates from an externally maintained dependency obtained through a mutable version selector. ### Attack Path 1. An attacker compromises the upstream repository, a maintainer account, or the package release process, or causes a future release to contain malicious code. 2. The attacker publishes or designates the altered release so that Go resolves it through `@latest`. 3. A user or Agent installs the Skill dependency after the upstream change. 4. The Go installer downloads and builds the altered source without requiring a change to this Skill's reviewed files. 5. When the user or Agent invokes `sonos`, the altered binary executes with the permissions and environmental access of that process. ### Impact Assessment A compromised dependency could execute with the privileges of the account runnin ...[truncated 711 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Replace `@latest` with a specific, reviewed release version, for example: ```yaml "module":"github.com/steipete/sonoscli/cmd/sonos@vX.Y.Z" ``` 2. Prefer an immutable commit or verified release artifact where the installation system supports it. 3. Review the exact upstream source associated with the pinned version before approving an update. 4. Verify release provenance, signatures, and checksums when those mechanisms are available. 5. Introduce a controlled dependency-update process that includes source review, security testing, and explicit version changes. 6. Run installation and the resulting binary with least privilege. 7. Provide optional Spotify credentials only to commands that require them, and avoid placing long-lived secrets in a broadly inherited environment. ]]>
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.