yamusic

maintainer burandby · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package downloads a prebuilt .deb from Yandex's official domain, which is plausibly the project's own release infrastructure; the source is not from a swappable personal host, and the patching is done locally on the official binary, so the risk is low despite the non-whitelisted host.

Triggered rules

LOW AI review downgraded a static finding llm_review

The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a prebuilt .deb from Yandex's official domain, which is plausibly the project's own release infrastructure; the source is not from a swappable personal host, and the patching is done locally on the official binary, so the risk is low despite the non-whitelisted host.

1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM source=() URL on a non-standard host source_untrusted_domain

One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).

  • PKGBUILD:33 "yandex-music.deb::https://desktop.app.music.yandex.net/stable/Yandex_Music_amd64_${pkgver}.deb"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: dmitrysvd
2
3pkgname=yamusic
4pkgver=5.90.0
5pkgrel=1
6pkgdesc="Official Yandex Music App for Linux (patched updater)"
7arch=('x86_64')
8url="https://music.yandex.ru/download/"
9license=('custom:unknown')
10provides=('yandex-music')
11conflicts=('yandex-music')
12depends=(
13 'gtk3'
14 'libnotify'
15 'nss'
16 'libxss'
17 'libxtst'
18 'xdg-utils'
19 'at-spi2-core'
20 'util-linux-libs'
21 'libsecret'
22)
23optdepends=(
24 'libappindicator-gtk3'
25)
26makedepends=(
27 'nodejs'
28 'asar'
29)
30options=('!strip')
31
32source=(
33 "yandex-music.deb::https://desktop.app.music.yandex.net/stable/Yandex_Music_amd64_${pkgver}.deb"
34 "patch-asar-updater.sh"
35)
36sha256sums=(
37 'b20b43ea91ff13fdff585fc7a845375cd8a72a68c730e7465c55a052b79076c2'
38 'dea496e1bd76e6b3060583782940940adbb723b266c6e62e8c9d3824b7498d8c'
39)
40
41prepare() {
42 local deb_file deb_unpack data_archive rootfs app_asar
43 deb_file="$srcdir/yandex-music.deb"
44
45 if [[ ! -f "$deb_file" ]]; then
46 echo "Downloaded deb source not found: $deb_file" >&2
47 return 1
48 fi
49
50 deb_unpack="$srcdir/deb-unpack"
51 rootfs="$srcdir/rootfs"
52 rm -rf "$deb_unpack" "$rootfs"
53 mkdir -p "$deb_unpack" "$rootfs"
54
55 bsdtar -xf "$deb_file" -C "$deb_unpack"
56
57 data_archive="$(find "$deb_unpack" -maxdepth 1 -type f -name 'data.tar.*' | head -n1)"
58 if [[ -z "$data_archive" ]]; then
59 echo "Could not find data.tar.* in downloaded .deb" >&2
60 return 1
61 fi
62
63 bsdtar -xf "$data_archive" -C "$rootfs"
64
65 app_asar="$(find "$rootfs/opt" -type f -path '*/resources/app.asar' | head -n1)"
66 if [[ -z "$app_asar" ]]; then
67 echo "Could not find app.asar under /opt in extracted package" >&2
68 return 1
69 fi
70
71 bash "$srcdir/patch-asar-updater.sh" --in-place "$app_asar"
72 rm -f "${app_asar}.bak."*
73}
74
75package() {
76 cp -a "$srcdir/rootfs/." "$pkgdir/"
77
78 if [[ -d "$pkgdir/opt/Яндекс Музыка" ]]; then
79 mv "$pkgdir/opt/Яндекс Музыка" "$pkgdir/opt/yandex-music"
80 fi
81
82 if [[ -f "$pkgdir/usr/share/applications/yandexmusic.desktop" ]]; then
83 sed -i 's|/opt/Яндекс Музыка|/opt/yandex-music|g' "$pkgdir/usr/share/applications/yandexmusic.desktop"
84 sed -i 's|Categories=Audio;|Categories=AudioVideo;Audio;|g' "$pkgdir/usr/share/applications/yandexmusic.desktop"
85 sed -i 's|Exec="/opt/yandex-music/yandexmusic"|Exec="/opt/yandex-music/yandexmusic" --gtk-version=3|' "$pkgdir/usr/share/applications/yandexmusic.desktop"
86 fi
87}
88

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 LOW 2
2026-08-02 00:16:08 LOW 2
2026-08-01 00:11:18 LOW 2
2026-07-31 00:14:10 LOW 2
2026-07-30 00:17:23 LOW 2
2026-07-29 00:25:53 LOW 2
2026-07-28 00:07:28 LOW 2
2026-07-27 00:24:32 LOW 2
2026-07-26 00:07:32 LOW 2
2026-07-25 00:13:44 LOW 2
2026-07-24 00:02:28 LOW 2
2026-07-23 00:14:47 LOW 2
2026-07-22 00:29:32 LOW 2
2026-07-21 00:24:15 LOW 2
2026-07-20 00:19:49 LOW 2
2026-07-19 00:17:08 LOW 2
2026-07-18 00:14:48 LOW 2
2026-07-17 00:06:16 LOW 2
2026-07-16 00:05:41 LOW 2
2026-07-15 00:09:25 LOW 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion