plane-desktop-bin

maintainer Wanxp · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged Downloads a prebuilt AppImage binary from dl.todesktop.com (a third-party app distribution service, not the project's own official release infrastructure), which could be silently swapped; however, a sha256 checksum is provided, partially mitigating the risk.

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:22 "${_appimage}::https://dl.todesktop.com/260130r75i625/builds/${_build}/linux/appImage/x64"
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 70%): Downloads a prebuilt AppImage binary from dl.todesktop.com (a third-party app distribution service, not the project's own official release infrastructure), which could be silently swapped; however, a sha256 checksum is provided, partially mitigating the risk.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Wanxp <977741432@qq.com>
2pkgname=plane-desktop-bin
3_pkgname=plane-desktop
4pkgver=2.0.0
5pkgrel=2
6pkgdesc="Desktop client for Plane project management"
7arch=('x86_64')
8url="https://plane.so/download"
9license=('AGPL-3.0-only')
10depends=(
11 'desktop-file-utils'
12 'fuse2'
13 'hicolor-icon-theme'
14 'xdg-utils'
15)
16provides=("${_pkgname}=${pkgver}")
17conflicts=("${_pkgname}")
18options=('!strip')
19_build=260325tah3zsnil
20_appimage="Plane-${pkgver}-${_build}-x86_64.AppImage"
21source=(
22 "${_appimage}::https://dl.todesktop.com/260130r75i625/builds/${_build}/linux/appImage/x64"
23)
24sha256sums=(
25 '69db8bca5d95ace38a0e78e956aa3c459b59abcd27f4c5728307dc3933cbf76c'
26)
27
28prepare() {
29 chmod +x "${srcdir}/${_appimage}"
30 "${srcdir}/${_appimage}" --appimage-extract >/dev/null
31
32 sed -e "s|^Exec=.*|Exec=/usr/bin/${_pkgname} --no-sandbox %U|" \
33 -e "s|^Icon=.*|Icon=${_pkgname}|" \
34 -e '/^MimeType=/d' \
35 -i "${srcdir}/squashfs-root/desktop.desktop"
36 printf 'MimeType=x-scheme-handler/plane;\n' >> "${srcdir}/squashfs-root/desktop.desktop"
37}
38
39package() {
40 install -Dm755 "${srcdir}/${_appimage}" "${pkgdir}/opt/${pkgname}/Plane.AppImage"
41 install -d "${pkgdir}/usr/bin"
42 ln -s "/opt/${pkgname}/Plane.AppImage" "${pkgdir}/usr/bin/${_pkgname}"
43
44 install -Dm644 "${srcdir}/squashfs-root/desktop.desktop" \
45 "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
46
47 local icon size
48 while IFS= read -r -d '' icon; do
49 size="$(basename "$(dirname "$(dirname "${icon}")")")"
50 install -Dm644 "${icon}" \
51 "${pkgdir}/usr/share/icons/hicolor/${size}/apps/${_pkgname}.png"
52 done < <(find "${srcdir}/squashfs-root/usr/share/icons/hicolor" -type f -name 'desktop.png' -print0)
53
54 install -Dm644 "${srcdir}/squashfs-root/LICENSE.electron.txt" \
55 "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.electron.txt"
56 install -Dm644 "${srcdir}/squashfs-root/LICENSES.chromium.html" \
57 "${pkgdir}/usr/share/licenses/${pkgname}/LICENSES.chromium.html"
58}
59

Scan history

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

Report a package

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

0 / 4000
Your suggestion