todesk-bin

MEDIUM
maintainer witt.9099 12 votes scanned 2026-11-01 16:01:05.312492
View on AUR
Why flagged

The package downloads a prebuilt .deb from a non-whitelisted host (dl.todesk.com), which is the project's official domain, but the checksum for the aarch64 source is hardcoded to version 4.8.5.1 while pkgver is 4.9.8.1, creating a version mismatch and potential supply-chain risk due to unverifiable binary content.

Triggered rules

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:29 source_x86_64=("https://dl.todesk.com/linux/${_pkgname}-v${pkgver}-amd64.deb")
Medium AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package downloads a prebuilt .deb from a non-whitelisted host (dl.todesk.com), which is the project's official domain, but the checksum for the aarch64 source is hardcoded to version 4.8.5.1 while pkgver is 4.9.8.1, creating a version mismatch and potential supply-chain risk due to unverifiable binary content.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: yjun <jerrysteve1101 at gmail dot com>
2# Maintainer: witt <1989161762 at qq dot com>
3
4pkgname=todesk-bin
5_pkgname=${pkgname%-bin}
6_binaryname=ToDesk
7pkgver=4.9.8.1
8pkgrel=1
9pkgdesc="Remote control and team work"
10arch=('x86_64' 'aarch64')
11url="https://www.todesk.com/"
12license=('custom')
13depends=('gtk3'
14 'libappindicator-gtk3'
15 'noto-fonts-cjk')
16makedepends=('wget' 'tar')
17provides=("${_pkgname}")
18conflicts=("${_pkgname}")
19# !strip: strip could generate error.
20# --->
21# strip: error: the input file './opt/todesk/bin/todesk' has no sections
22# strip: error: the input file './opt/todesk/bin/todeskd' has no sections
23#
24# emptydirs: leave /opt/todesk/config empty dir
25options=('!strip' 'emptydirs')
26DLAGENTS=("https::/usr/bin/wget -U 'Mozilla' -O %o %u")
27install="${_pkgname}.install"
28source=('license.html')
29source_x86_64=("https://dl.todesk.com/linux/${_pkgname}-v${pkgver}-amd64.deb")
30source_aarch64=("https://dl.todesk.com/linux/${_pkgname}-v4.8.5.1-arm64.deb")
31source_armv7h=("https://dl.todesk.com/linux/${_pkgname}-v${pkgver}-armv7l.deb")
32sha256sums=('402b2db2586c723af990beb0f96249b9680880f4f30e58a7cbe7cbd20b979a0b')
33sha256sums_x86_64=('a257916c32ca792826dd1027596395278259050fee42ca8fd0a0aaa8851940e1')
34sha256sums_aarch64=('0c3a78f52df7b2d7877f05cb0ed9a112607be5976e09c01527cacfe3fb8dc2fc')
35
36_install() {
37 find ${@: 2} -type f -exec install -Dm$1 {} ${pkgdir}/{} \;
38}
39
40build() {
41 mkdir -p "${srcdir}/build"
42
43 # 4.9.7.0 起上游把 data.tar.zst 换成了 data.tar.xz,这里不再写死压缩格式
44 local _data
45 for _data in "${srcdir}"/data.tar.*; do
46 tar -xf "${_data}" -C "${srcdir}/build"
47 done
48}
49
50package() {
51 cd ${srcdir}/build/
52
53 # binary wrapper
54 install -Dm755 usr/local/bin/${_pkgname} -t ${pkgdir}/usr/bin/
55
56 # binary & scripts
57 install -Dm755 opt/${_pkgname}/bin/${_binaryname}{,_Service,_Session} -t ${pkgdir}/opt/${_pkgname}/bin
58 install -Dm755 opt/${_pkgname}/bin/CrashReport -t ${pkgdir}/opt/${_pkgname}/bin
59
60 # lib
61 # bundled libaray for hardware video encode
62 cp -a opt/${_pkgname}/bin/*.so* ${pkgdir}/opt/${_pkgname}/bin/
63 # _install 644 opt/${_pkgname}/bin -name libzrtc.so
64
65 # 4.9.8.1 起上游新增 opt/todesk/lib:系统缺失时提供 xcb / pipewire 兜底库,
66 # 由 todesk.install 在 post_install 里按需软链到 bin/(RPATH=$ORIGIN)
67 cp -a opt/${_pkgname}/lib ${pkgdir}/opt/${_pkgname}/
68
69 # icon
70 # find opt/${_pkgname}/res -maxdepth 1 -type f -exec install -Dm644 {} ${pkgdir}/{} \;
71 _install 644 opt/${_pkgname}/res -maxdepth 1
72
73 # config
74 # empty dir
75 install -dm755 ${pkgdir}/opt/${_pkgname}/config
76
77 # desktop entry
78 install -Dm644 usr/share/applications/${_pkgname}.desktop -t ${pkgdir}/usr/share/applications
79
80 # systemd service
81 install -Dm644 etc/systemd/system/${_pkgname}d.service -t ${pkgdir}/usr/lib/systemd/system
82
83 # icon
84 # find usr/share/icons -type f -exec install -Dm644 {} ${pkgdir}/{} \;
85 _install 644 usr/share/icons
86
87 # license
88 install -Dm644 ${srcdir}/license.html -t ${pkgdir}/usr/share/licenses/${pkgname}/
89}
90# vim: set sw=2 ts=2 et:
91

Changes since previous scan

--- PKGBUILD @ 2026-11-01 00:21
+++ PKGBUILD @ 2026-11-01 16:01
@@ -4,7 +4,7 @@
pkgname=todesk-bin
_pkgname=${pkgname%-bin}
_binaryname=ToDesk
-pkgver=4.9.7.0
+pkgver=4.9.8.1
pkgrel=1
pkgdesc="Remote control and team work"
arch=('x86_64' 'aarch64')
@@ -30,7 +30,7 @@
source_aarch64=("https://dl.todesk.com/linux/${_pkgname}-v4.8.5.1-arm64.deb")
source_armv7h=("https://dl.todesk.com/linux/${_pkgname}-v${pkgver}-armv7l.deb")
sha256sums=('402b2db2586c723af990beb0f96249b9680880f4f30e58a7cbe7cbd20b979a0b')
-sha256sums_x86_64=('e6aee6f7fecd67a9bcec00b763afa2e2b663c5b9b9375db9d60a9081c09acf4b')
+sha256sums_x86_64=('a257916c32ca792826dd1027596395278259050fee42ca8fd0a0aaa8851940e1')
sha256sums_aarch64=('0c3a78f52df7b2d7877f05cb0ed9a112607be5976e09c01527cacfe3fb8dc2fc')
_install() {
@@ -62,6 +62,10 @@
cp -a opt/${_pkgname}/bin/*.so* ${pkgdir}/opt/${_pkgname}/bin/
# _install 644 opt/${_pkgname}/bin -name libzrtc.so
+ # 4.9.8.1 起上游新增 opt/todesk/lib:系统缺失时提供 xcb / pipewire 兜底库,
+ # 由 todesk.install 在 post_install 里按需软链到 bin/(RPATH=$ORIGIN)
+ cp -a opt/${_pkgname}/lib ${pkgdir}/opt/${_pkgname}/
+
# icon
# find opt/${_pkgname}/res -maxdepth 1 -type f -exec install -Dm644 {} ${pkgdir}/{} \;
_install 644 opt/${_pkgname}/res -maxdepth 1

Scan history

Scanned at (UTC)SeverityRules
2026-11-01 16:01:05 Medium 2
2026-11-01 00:21:48 Medium 2
2026-10-31 00:07:41 Medium 2
2026-10-30 00:29:30 Medium 2
2026-10-29 00:13:55 Medium 2
2026-10-28 00:06:54 Medium 2
2026-10-27 00:23:28 Medium 2
2026-10-26 00:12:40 Medium 2
2026-10-25 00:20:48 Medium 2
2026-10-24 00:14:55 Medium 2
2026-10-23 00:02:19 Medium 2
2026-10-22 00:13:10 Medium 2
2026-10-21 00:12:50 Medium 2
2026-10-20 00:10:31 Medium 2
2026-10-19 05:23:55 Medium 2
2026-10-19 00:03:55 Low 2
2026-10-18 00:06:55 Low 2
2026-10-17 00:21:55 Low 2
2026-10-16 00:12:47 Low 2
2026-10-15 00:28:05 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