voiden-appimage
MEDIUM
maintainer mikesimps
1 votes
scanned 2026-11-01 00:21:48.120785
Why flagged
The package downloads a prebuilt AppImage from a non-standard, non-whitelisted host (voiden.md), which is an unverifiable executable and represents a supply-chain risk if the domain is compromised.
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/stable/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 represents a supply-chain risk if the domain is compromised.
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Mike Simpson <voiden.t2tan@aleeas.com>
2
_pkgname=voiden
3
4
pkgname=${_pkgname}-appimage
5
pkgver=2.3.3
6
pkgrel=1
7
pkgdesc="Voiden API Client"
8
arch=('x86_64')
9
url="https://voiden.md"
10
license=('Apache-2.0')
11
options=('!strip' '!debug') # will not function if makepkg is allowed to strip chars from binary
12
depends=('fuse2')
13
conflicts=('voiden-beta-appimage')
14
_appimage=Voiden-${pkgver}.AppImage
15
source=("https://voiden.md/api/download/stable/linux/x64/${_appimage}")
16
sha256sums=('4fd1c60fe08eb3e4c2069e76ec33f82273619fb6f71e924f5a7b907f0ce9e546')
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-10-21 00:12+++ PKGBUILD @ 2026-11-01 00:21@@ -2,7 +2,7 @@ _pkgname=voiden pkgname=${_pkgname}-appimage-pkgver=2.3.0+pkgver=2.3.3 pkgrel=1 pkgdesc="Voiden API Client" arch=('x86_64')@@ -13,7 +13,7 @@ conflicts=('voiden-beta-appimage') _appimage=Voiden-${pkgver}.AppImage source=("https://voiden.md/api/download/stable/linux/x64/${_appimage}")-sha256sums=('d25ecf80790eee15f13c5e9a136171d359554c2535beddd9106491fbbdea6cd0')+sha256sums=('4fd1c60fe08eb3e4c2069e76ec33f82273619fb6f71e924f5a7b907f0ce9e546') # install method based on https://wiki.archlinux.org/title/User:SergeyK/AppImage_package_guidelines Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 13:35:05 | Medium | 2 |
| 2026-10-22 00:13:10 | Medium | 2 |
| 2026-10-21 17:32:44 | Medium | 2 |
| 2026-10-21 00:12:50 | Medium | 2 |
| 2026-10-20 00:10:31 | Medium | 2 |
| 2026-10-19 00:03:55 | Medium | 2 |
| 2026-10-18 00:06:55 | Medium | 2 |
| 2026-10-17 00:21:55 | Medium | 2 |
| 2026-10-16 00:12:47 | Medium | 2 |
| 2026-10-15 00:28:05 | Medium | 2 |