Back to skill

Security audit

Spotify

Security checks for vulnerabilities and agentic risk

Overview

This Spotify helper is mostly a normal playback/search skill, but it asks a third-party CLI from a custom Homebrew tap to import Chrome cookies without enough warning or scoping.

Review this carefully before installing. Prefer an official OAuth/device-code flow or the fallback spotify_player path if it avoids browser-cookie import. Only run the spogo cookie import on a trusted machine with a trusted build, ideally using a dedicated browser profile, and understand that browser cookies can act like account credentials until revoked or expired.

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 (2)

other

Warning
Location
SKILL.md:16
Finding

Browser Session Cookies Exposed to a Third-Party CLI

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 16-17
Vulnerability Type: Sensitive Credential Access
Risk Level: Medium

Code Snippet:

markdown
spogo setup
- Import cookies: `spogo auth import --browser chrome`

Technical Analysis

The documented authentication procedure instructs the user to let the third-party spogo executable import cookies from Chrome. Browser cookies are sensitive authentication material and may include reusable Spotify session credentials.

The reviewed file does not demonstrate credential exfiltration or malicious behavior by spogo. Nevertheless, this authentication method expands the executable's access to sensitive browser data compared with a standard OAuth or device-authorization flow. If the installed executable or its distribution channel is compromised, the cookie-import operation provides an opportunity to read, retain, or transmit session credentials.

Attack Path

  1. The user installs the recommended spogo executable.
  2. The user runs spogo auth import --browser chrome as instructed.
  3. The executable requests or receives access to Chrome's cookie storage.
  4. A compromised or malicious build extracts reusable Spotify session data.
  5. The attacker uses any successfully extracted credentials within their validity and authorization scope.

This path depends on compromise or malicious behavior in the third-party executable; the project file itself contains no evidence that credentials are transmitted.

Impact Assessment

Potential impact includes disclosure of Spotify authentication cookies, unauthorized Spotify account access, and actions permitted by the affected session, such as playback control or account-related operations exposed through the client. The exact scope depends on Chrome's platform-specific access controls, the cookies available to the process, Spotify's session protections, and whether the credentials remain valid.

Remediation
View remediation

Remediation Suggestions

  • Prefer Spotify's OAuth authorization-code flow, PKCE flow, or device authorization instead of importing browser cookies.
  • Clearly disclose which browser files, cookie domains, and credential fields the command accesses.
  • Require explicit user consent before browser credential access.
  • Apply least privilege and ensure the client reads only Spotify-related data.
  • Avoid using a browser profile containing unrelated authenticated sessions.
  • Store any imported credentials in an operating-system credential manager rather than plaintext configuration files.
  • Document credential revocation, logout, and cleanup procedures.

T08 · Insecure Dependencies

Warning
Location
SKILL.md:5
Finding

Unpinned Dependency Installed from a Custom Homebrew Tap

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 5
Vulnerability Type: T08: Insecure Dependencies
Risk Level: Medium

Code Snippet:

yaml
metadata: {"clawdbot":{"emoji":"🎵","requires":{"anyBins":["spogo","spotify_player"]},"install":[{"id":"brew","kind":"brew","formula":"spogo","tap":"steipete/tap","bins":["spogo"],"label":"Install spogo (brew)"},{"id":"brew","kind":"brew","formula":"spotify_player","bins":["spotify_player"],"label":"Install spotify_player (brew)"}]}}

Technical Analysis

The preferred spogo executable is obtained from the custom Homebrew tap steipete/tap. The metadata does not pin a package version, source revision, signature, or cryptographic checksum. Consequently, the executable installed in the future may differ from the artifact that was originally reviewed.

A custom tap is not inherently malicious, and the reviewed project contains no evidence that this tap currently distributes a malicious package. The security concern is the absence of integrity controls and the resulting exposure to repository compromise, maintainer-account compromise, or an unsafe future package update.

The risk is amplified by the documented instruction to let spogo import Chrome cookies.

Attack Path

  1. An attacker compromises the custom tap, its maintainer account, the formula's upstream artifact, or another relevant distribution component.
  2. The attacker modifies the formula or referenced package to distribute a malicious spogo executable.
  3. A user installs or upgrades the unpinned package through Homebrew.
  4. The substituted executable runs with the user's local privileges.
  5. When the user performs browser-cookie import or Spotify operations, the executable accesses available credentials and may perform unauthorized local or network actions.

This is a supply-chain exploitation scenario; no compromise of the named tap was established by the reviewed material.

Impact As

...[truncated 418 chars]

Remediation
View remediation

Remediation Suggestions

  • Prefer an official or independently verified distribution source.
  • Pin the dependency to a reviewed immutable version or source revision.
  • Verify downloaded artifacts using a trusted cryptographic checksum or publisher signature.
  • Record package provenance and the expected upstream repository.
  • Review formula changes and release artifacts before upgrades.
  • Use automated dependency monitoring while requiring manual approval for security-sensitive updates.
  • Run the client with least privilege and isolate it from unrelated browser profiles and credentials.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

YARA rule 'info_stealer': Information stealer patterns (credential harvesting, browser data theft) [malware]

High
Category
YARA Match
Confidence
84% confidence
Finding

The matched pattern resembles credential-harvesting behavior because it instructs extraction of browser cookies via spogo auth import --browser chrome. In context, this appears to be for local user authentication to a Spotify CLI rather than exfiltration or malware, but it still normalizes access to high-value browser session data and could enable account compromise if the tool or environment is untrusted.

Content

Scanner excerpt · SKILL.md (reported line 17)May include surrounding context.

md
o"],"label":"Install spogo (brew)"},{"id":"brew","kind":"brew","formula":"spotify_player","bins":["spotify_player"],"label":"Install spotify_player (brew)"}]}}
---

# spogo / spotify_player

Use `spogo` **(preferred)** for Spotify playback/search. Fall back to `spotify_player` if needed.

Requirements
- Spotify Premium account.
- Either `spogo` or `spotify_player` installed.

spogo setup
- Import cookies: `spogo auth import --browser chrome`

Common CLI commands
- Search: `spogo search track "query"`
- Playback: `spogo play|pause|next|prev`
- Devices: `spogo device list`, `spogo device set "<name|id>"`
- Status: `spogo status`

spotify_player commands (fallback)
- Search: `spotify_player search "query"`
- Playback: `spotify_player playback play|pause|next|previous`
- Connect device: `spotify_player connect`
- Like track: `spotify_player like`

Notes
- Config folder: `~/.config/spotify-player` (e.g., `app.toml`).
- For Spotify Connect integration, set a user `client_id` in config.
- TUI

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill instructs the user to import Spotify authentication cookies directly from Chrome, which involves accessing sensitive browser session material. Even if intended for legitimate local auth setup, this is dangerous because browser cookies can grant account access and the skill provides no warning, scoping, or guidance about handling, storage, and trust boundaries for those credentials.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.