Is Better Lyrics Shaders safe?
Better Lyrics Shaders sends YouTube Music track metadata to artwork.boidu.dev for animated art.
When animated art is enabled, Better Lyrics Shaders reads the current YouTube Music track title, artist, duration, and album. It sends those values to artwork.boidu.dev to look up an animated-art video URL, and animated art is enabled by default.
Who publishes itBoidushya - 1 other listing from the same operator, none carrying a finding
Boidushya - 1 other listing from the same operator, none carrying a finding
What this publisher told the store about itself, and the other listings that told it the same thing.
Same store account
1 other listing published from this account, 100k+ users between them, none of them carrying a finding.
Shared hosts - 3 hostnames
Hostnames hardcoded in this extension that few other listings call. That can mean one operator behind both, and it can equally mean a small shared vendor, so it is context rather than a conclusion. Hosts that many listings call are left out: they are services, not connections.
AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.
Publishers can request a review.
Findings
Better Lyrics Shaders sends the song you're playing to artwork.boidu.dev
Every time you play or switch tracks on YouTube Music, the extension sends the song title, artist, duration, and album to artwork.boidu.dev to fetch an animated background.
This runs automatically because the feature is on by default.
- Severity
- Medium unwanted
- Type
- Unexpected
- CWE
- CWE-359
- Source
- Dynamic sandbox
You play or switch to a new track on music.youtube.com.
The default settings have the animated-art feature turned on.
The extension sends the track's song title, artist, duration, and album to artwork.boidu.dev to look up an animated background.
No consent prompt is shown before the request is sent.
- Song titleWhat You Need
The exact title of the track you are currently playing.
- Artist nameCOLORS & Tems
The performing artist of the track.
- Track duration239
The length of the track in seconds, rounded to the nearest second.
- Album nameCOLORS
The album the track belongs to, read from the YouTube Music page.
200 OK, JSON body containing a videoUrl for the matching animated background
The animated-art fetch function
async function x(e, t, r, a, i) { let n = `bls_${t}|${a}`; try { let e = await g.get(n); if (void 0 !== e) { if ("string" == typeof e) return (0, l.logger).log(`Animated art: cache hit for "${t} - ${a}"`, { cacheKey: n }), e; if ("object" == typeof e && "notFoundAt" in e) { let r = Date.now() - e.notFoundAt >= 6048e5; if (!r) return (0, l.logger).log(`Animated art: cache hit (not found) for "${t} - ${a}"`, { cacheKey: n }), null; (0, l.logger).log(`Animated art: not-found cache expired for "${t} - ${a}"`, { cacheKey: n }) } } } catch (e) { (0, l.logger).log("Animated art: cache read error", e) }(0, l.logger).log(`Animated art: fetching for "${t} - ${a}"`, { cacheKey: n }); let s = new URLSearchParams({ s: e, a: t, d: Math.round(r).toString(), al: a }), o = `https://artwork.boidu.dev?${s.toString()}`; try { let e = await fetch(o, { signal: i }); if (!e.ok) return (0, l.logger).log("Animated art: API error", e.status), null; let r = await e.json(); return r.videoUrl ? (await g.set(n, r.videoUrl), (0, l.logger).log(`Animated art: cached "${t} - ${a}"`, { cacheKey: n })) : (await g.set(n, { notFoundAt: Date.now() }), (0, l.logger).log(`Animated art: cached not-found for "${t} - ${a}"`, { cacheKey: n })), r.videoUrl } catch (e) { return (0, l.logger).log("Animated art: fetch error", e), null } }- artwork.boidu.dev
Receives the playing track's song, artist, duration, and album; returns a matching animated background video. Subdomain of boidu.dev, the developer's own domain.
Where it sends data
Destinations our analysis observed Better Lyrics Shaders contacting. Sending data somewhere is not a finding on its own - an extension that syncs your settings has to talk to its own server - but it is where your data can go, and who else it goes to.
- artwork.boidu.dev
Better Lyrics Shaders sends data to artwork.boidu.dev. One other extension we have analysed sends data here.