Back to skill

Security audit

karaoke-companion

Security checks across malware telemetry and agentic risk

Overview

This karaoke and lyrics skill uses expected song search, translation, local file, and optional Music.app features, with some privacy and terminal-display cautions but no evidence of deception or harmful behavior.

Install only if you are comfortable sending lyric/search text to LRCLIB, DuckDuckGo, and LibreTranslate, and with optional Music.app sync reading the currently playing track metadata. Avoid opening untrusted lyric files or using suspicious track metadata in a terminal until control-character sanitization is added.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (5)

Lp3

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding
The skill advertises meaningful capabilities including file read/write, network access, and shell-adjacent execution behavior, but does not declare permissions. That reduces transparency and prevents users or the platform from accurately evaluating what the skill can access, increasing the risk of unexpected data exposure or command execution paths.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding
The documented purpose omits several behaviors with privacy and security relevance, including DuckDuckGo fallback queries, Music.app/osascript integration, and local file persistence. Hidden or under-disclosed behaviors make informed consent impossible and can expose user media metadata, search terms, and locally created content in ways users do not expect.

Vague Triggers

Medium
Confidence
76% confidence
Finding
Overly broad trigger phrases like generic 'lyrics' and translation requests can cause the skill to activate in contexts the user did not intend. This raises the chance of accidental capture of unrelated content and unnecessary network transmission to lyric or translation services.

Missing User Warnings

Low
Confidence
76% confidence
Finding
When sync mode is used, the script reads the current track name, artist, and duration from Music.app without any explicit disclosure or consent prompt from the tool itself. This is a privacy transparency issue because media metadata can reveal user interests or habits, even though the data appears to stay local in this script.

Unvalidated Output Injection

High
Category
Output Handling
Content
set d to duration of t
            return n & "||" & a & "||" & (d as string)
        end tell'''
        out = subprocess.run(["osascript", "-e", script],
                           capture_output=True, text=True, timeout=5)
        parts = out.stdout.strip().split("||")
        if len(parts) >= 3:
Confidence
83% confidence
Finding
subprocess.run(["osascript", "-e", script], capture_output

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.