voiden-beta-appimage
MEDIUM
maintainer mikesimps
1 votes
scanned 2026-09-17 00:27:14.276658
Why flagged
The package downloads a prebuilt AppImage from a non-standard, non-whitelisted host (voiden.md), which is an unverifiable executable and poses a supply-chain risk if the domain is compromised or swapped.
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:15
source=("https://voiden.md/api/download/beta/linux/x64/${_appimage}")
Medium
AI review
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 90%): The package downloads a prebuilt AppImage from a non-standard, non-whitelisted host (voiden.md), which is an unverifiable executable and poses a supply-chain risk if the domain is compromised or swapped.
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Mike Simpson <voiden.t2tan@aleeas.com>
2
_pkgname=voiden
3
4
pkgname=${_pkgname}-beta-appimage
5
pkgver=2.3.0
6
betaver=4
7
pkgrel=3
8
pkgdesc="Voiden Beta API Client"
9
arch=('x86_64')
10
url="https://voiden.md"
11
license=('Apache-2.0')
12
options=('!strip' '!debug') # will not function if makepkg is allowed to strip chars from binary
13
conflicts=('voiden-appimage')
14
_appimage=Voiden-${pkgver}-beta.${betaver}.AppImage
15
source=("https://voiden.md/api/download/beta/linux/x64/${_appimage}")
16
sha256sums=('c76413408299b89b3f18ddb2e0ace41c61cf11681fedc2d91fc4b50df6b1d52a')
17
18
# install method based on https://wiki.archlinux.org/title/User:SergeyK/AppImage_package_guidelines
19
20
prepare() {
21
chmod +x "${_appimage}"
22
./"${_appimage}" --appimage-extract
23
}
24
25
build() {
26
# Adjust .desktop so it will work outside of AppImage container
27
sed -i -E "s|Exec=Voiden.*|Exec=/usr/bin/${pkgname}|" \
28
"${srcdir}/squashfs-root/Voiden.desktop"
29
}
30
31
package() {
32
# Install AppImage File and License
33
install -Dm755 "${srcdir}/${_appimage}" "${pkgdir}/opt/${pkgname}/${_appimage}"
34
install -Dm644 "${srcdir}/squashfs-root/LICENSE" "${pkgdir}/opt/${pkgname}/LICENSE"
35
36
# Desktop file
37
install -Dm644 "${srcdir}/squashfs-root/Voiden.desktop" \
38
"${pkgdir}/usr/share/applications/Voiden.desktop"
39
40
# installs the one valid icon in the appimage
41
install -Dm644 "${srcdir}/squashfs-root/resources/logo-dark.png" "${pkgdir}/usr/share/pixmaps/Voiden.png"
42
43
# For later if they actually replace the electron icons with actual images
44
# install -dm755 "${pkgdir}/usr/share"
45
# cp -a "${srcdir}/squashfs-root/usr/share/icons" "${pkgdir}/usr/share/"
46
47
# Symlink executable - use pkgname so it doesn't conflict with voiden cli tool
48
install -dm755 "${pkgdir}/usr/bin"
49
ln -s "/opt/${pkgname}/${_appimage}" "${pkgdir}/usr/bin/${pkgname}"
50
51
# Symlink license
52
install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}/"
53
ln -s "/opt/${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}"
54
}
55
Changes since previous scan
--- PKGBUILD @ 2026-09-10 00:22+++ PKGBUILD @ 2026-09-17 00:27@@ -3,16 +3,17 @@ pkgname=${_pkgname}-beta-appimage pkgver=2.3.0-pkgrel=2+betaver=4+pkgrel=3 pkgdesc="Voiden Beta API Client" arch=('x86_64') url="https://voiden.md" license=('Apache-2.0') options=('!strip' '!debug') # will not function if makepkg is allowed to strip chars from binary conflicts=('voiden-appimage')-_appimage=Voiden-${pkgver}-beta.2.AppImage+_appimage=Voiden-${pkgver}-beta.${betaver}.AppImage source=("https://voiden.md/api/download/beta/linux/x64/${_appimage}")-sha256sums=('a6973984c2dfddc1c5a4dd8377ca683b90f2de714c7bd122344650f7b469a45c')+sha256sums=('c76413408299b89b3f18ddb2e0ace41c61cf11681fedc2d91fc4b50df6b1d52a') # install method based on https://wiki.archlinux.org/title/User:SergeyK/AppImage_package_guidelines Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |
| 2026-09-13 00:19:54 | Medium | 2 |
| 2026-09-12 00:25:17 | Medium | 2 |
| 2026-09-11 00:19:22 | Medium | 2 |
| 2026-09-10 13:20:36 | Medium | 2 |
| 2026-09-10 00:22:44 | Medium | 2 |
| 2026-09-09 00:04:09 | Medium | 2 |
| 2026-09-08 00:18:08 | Medium | 2 |
| 2026-09-07 00:30:15 | Medium | 2 |
| 2026-09-06 00:17:06 | Medium | 2 |
| 2026-09-05 00:16:27 | Medium | 2 |
| 2026-09-04 00:03:13 | Medium | 2 |
| 2026-09-03 00:15:47 | Medium | 2 |
| 2026-09-02 15:51:02 | Medium | 2 |
| 2026-09-02 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |