lx-music-assistant

WarnAudited by ClawScan on May 10, 2026.

Overview

The skill mostly matches its LX Music controller purpose, but a bundled playlist helper builds shell commands from inputs, which could run unintended local commands.

Review before installing. The LX Music controls and local playlist reads are expected for this skill, but avoid using arbitrary playlist IDs or custom database paths until the shell-execution helper is fixed to use safe argument arrays.

Findings (4)

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

A malicious playlist ID or database path supplied through a prompt or copied command could run unintended local shell commands under the user's account.

Why it was flagged

The CLI invokes a shell command using template strings that include playlist ID and database path arguments. execSync runs through a shell by default, so crafted values can become command execution rather than just playlist lookup.

Skill content
const result = execSync(`python "${scriptPath}" songs "${listId}" --db "${dbPath}"`, { encoding: 'utf-8', timeout: 10000 });
Recommendation

Replace execSync string commands with execFile/spawn using argument arrays, and validate playlist IDs and database paths before use.

What this means

The agent can change what is playing, adjust volume, and modify favorites/dislikes in LX Music when invoked.

Why it was flagged

The skill can control playback, change volume, wake the desktop app, and favorite/unfavorite songs. This is disclosed and aligned with the music-control purpose, but it is still user-impacting tool authority.

Skill content
支持:搜索歌曲并唤醒程序、播放/暂停/切换、调节音量、查看播放状态和歌词、收藏歌曲、本地歌单查询。
Recommendation

Use the skill only for explicit music-control requests and review commands that change favorites, dislikes, or volume.

What this means

Your local playlists and song names may be read and reported by the agent.

Why it was flagged

The helper reads LX Music's persistent local database to list playlists and songs. This is disclosed and purpose-aligned, but it exposes private music library information to the agent's response context.

Skill content
return os.path.join(base, "lx-music-desktop", "LxDatas", "lx.data.db") ... c.execute("SELECT id, name, source, sourceListId FROM my_list ORDER BY position")
Recommendation

Only request playlist queries if you are comfortable sharing that local music-library information in the chat context.

What this means

It is harder to verify the origin of the helper code or know in advance that local runtimes are needed.

Why it was flagged

The registry metadata provides no upstream source/homepage and does not declare runtime binaries, even though the skill includes JS/Python helpers and documents node-based CLI use.

Skill content
Source: unknown; Homepage: none; Required binaries (all must exist): none
Recommendation

Inspect the bundled helper files before installing; the publisher should declare node/python runtime needs and provide a verifiable source.