github.com / spicetify
spicetify/ cli
JavaScript·138 files·commit c9571cd·scanned 3d ago·cached ✓
15/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.
score capped at 15 — 24,138+ stars — findings likely false positives
verdict accurate?
24,138 stars
threat-state: lowlive
FINDINGS ░▒▓
criticalGo os/exec usageos/exec is used to run external commands. In malware it drops payloads, modifies the system, or opens shells.src/cmd/block-updates.go
if disabled {
exec.Command("pkill", "Spotify").Run()
exec.Command("mkdir", "-p", updateDir).Run()
exec.Command("chflags", "uchg", updateDir).Run()+8criticalGo os/exec usageos/exec is used to run external commands. In malware it drops payloads, modifies the system, or opens shells.src/cmd/restart.go
case "windows":
isRunning := exec.Command("tasklist", "/FI", "ImageName eq spotify.exe")
result, _ := isRunning.Output()
if !bytes.Contains(result, []byte("No tasks are running")) {+8criticalGo os/exec usageos/exec is used to run external commands. In malware it drops payloads, modifies the system, or opens shells.src/cmd/update.go
case "linux", "darwin":
err = exec.Command("tar", "-xzf", location, "-C", utils.GetExecutableDir()).Run()
}
if err != nil {+8criticalRemote script piped into a shellA shell script downloads remote content and executes it directly (e.g. `curl … | bash`). The payload is never stored or reviewable and can change server-side — a classic malware/backdoor install pattern.install.sh
# check for dependencies
command -v curl >/dev/null || { log "curl isn't installed!" >&2; exit 1; }
command -v tar >/dev/null || { log "tar isn't installed!" >&2; exit 1; }
command -v grep >/dev/null ...+10warningExtremely long lines (>1000 chars)Very long lines in source files (not minified bundles) can hide malicious code.src/preprocess/preprocess.go+4
warningExtremely long lines (>1000 chars)Very long lines in source files (not minified bundles) can hide malicious code.CustomApps/lyrics-plus/OptionsMenu.js+4
warningExtremely long lines (>1000 chars)Very long lines in source files (not minified bundles) can hide malicious code.CustomApps/lyrics-plus/Utils.js+4
warningHigh-entropy string literalsFound 7 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.CustomApps/lyrics-plus/index.js+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.CustomApps/lyrics-plus/index.js+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.jsHelper/expFeatures.js+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.jsHelper/homeConfig.js+3
warningHigh-entropy string literalsFound 4 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.src/jsHelper/spicetifyWrapper/helpers.js+3
warningHigh-entropy string literalsFound 6 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.src/jsHelper/spicetifyWrapper/icons.js+3
Scores are heuristics. A “safe” verdict means no known-malicious patterns were found — clever malware can look boring. Wrong verdict? Flag it above; confirmed false positives become regression tests.
108 files scanned @ c9571cd | 8/21/2026 | heuristic scan — always review manually
risk by category
code execution25
network & exfiltration0
file system access0
obfuscation15
supply chain4
owasp / injection0
telemetry
files 108/138rules hit 16engine v5commit c9571cd
github
spicetify/cli
Command-line tool to customize Spotify client. Supports Windows, macOS, and Linux.
24138
918
2823d
138 files
108 scanned(78%)
c9571cd
architecture░▒▓
entry (0) flagged (32) pkg (30)
127 nodes · 153 edgesscroll to zoom · click node to jump to finding