Spotify Intelligence

PassAudited by VirusTotal on May 11, 2026.

Overview

Type: OpenClaw Skill Name: spotify-intelligence Version: 1.0.1 The skill bundle "spotify-intelligence" appears to be designed for managing and interacting with a Spotify account, including playback control, recommendations, and playlist organization. **Analysis:** 1. **Core Functionality:** The Python scripts primarily interact with the Spotify API (via `urllib.request`) and a local SQLite database (`data/spotify-intelligence.sqlite`). 2. **Credential Handling:** OAuth tokens are obtained and refreshed using `scripts/auth/oauth_auth.py` and `scripts/playback/playback_control.py`. Client credentials (`SPOTIFY_CLIENT_ID`, `SPOTIFY_CLIENT_SECRET`) are read from environment variables or `config.json`, which is a good practice. Tokens are stored locally in `data/tokens.json`. All network requests use `urllib.request` and properly encode parameters, preventing URL injection. 3. **Database Interactions:** All scripts interacting with the SQLite database (`sqlite3` module) consistently use parameterized queries (e.g., `INSERT INTO ... VALUES (?,?,?)`, `WHERE key=?`), effectively preventing SQL injection vulnerabilities. 4. **Local File Operations:** Scripts read and write JSON payloads to local files (e.g., `--payload` argument for `ingest-track-features.py`, `ingest_playback_event.py`, `ingest_playlist_items.py`, `store_spotify_read.py`). These are local file paths, not remote URLs, and the content is processed as JSON, not executed. 5. **Command Execution (`subprocess.run

Findings (0)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

If authorized with these scopes, the skill could make visible or persistent changes to the user's Spotify account, including playback state, saved library, and playlists.

Why it was flagged

These OAuth scopes allow modifying playback, the user's library, and private/public playlists. The stated capability covers Spotify recommendations and playback, but the provided instructions do not clearly bound when library or public playlist changes may occur.

Skill content
"scopes": ["user-read-playback-state", "user-modify-playback-state", ... "user-library-modify", "playlist-modify-private", "playlist-modify-public", "user-top-read"]
Recommendation

Use the smallest Spotify scopes needed for the chosen workflow, split read-only and write-capable modes, and require explicit user confirmation before any library or playlist modification.

What this means

A user or agent invoking the queue action can alter the active Spotify queue.

Why it was flagged

The recommendation helper can invoke the playback control script to add recommended tracks to the Spotify queue. This matches the playback/recommendation purpose, but it is still an account-state-changing action.

Skill content
if args.action == "queue": ... "playback_control.py", "queue_add", "--query", name or ""
Recommendation

Treat queue/playback actions as write actions and confirm the target device and number of tracks before running them.

What this means

Anyone with access to the local files may learn listening history or potentially reuse stored Spotify tokens.

Why it was flagged

The skill persists OAuth tokens and a local SQLite knowledge/history store. This is disclosed and aligned with recommendations and feedback, but it contains sensitive account and listening-behavior data.

Skill content
local-storage:\n    - data/tokens.json\n    - data/spotify-intelligence.sqlite\n... Stores OAuth tokens locally on the host
Recommendation

Store the data directory securely, avoid sharing it, and provide clear cleanup or token-revocation guidance.