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>
2
pkgname=plane-desktop-bin
3
_pkgname=plane-desktop
4
pkgver=2.0.0
5
pkgrel=2
6
pkgdesc="Desktop client for Plane project management"
7
arch=('x86_64')
8
url="https://plane.so/download"
9
license=('AGPL-3.0-only')
10
depends=(
11
'desktop-file-utils'
12
'fuse2'
13
'hicolor-icon-theme'
14
'xdg-utils'
15
)
16
provides=("${_pkgname}=${pkgver}")
17
conflicts=("${_pkgname}")
18
options=('!strip')
19
_build=260325tah3zsnil
20
_appimage="Plane-${pkgver}-${_build}-x86_64.AppImage"
21
source=(
22
"${_appimage}::https://dl.todesktop.com/260130r75i625/builds/${_build}/linux/appImage/x64"
23
)
24
sha256sums=(
25
'69db8bca5d95ace38a0e78e956aa3c459b59abcd27f4c5728307dc3933cbf76c'
26
)
27
28
prepare() {
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
39
package() {
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) | Severity | Rules |
|---|---|---|
| 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 |