vatis-appimage

maintainer munsternet · 1 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD downloads a prebuilt AppImage binary from hub.vatis.app, which is the official distribution host for the vATIS project (vatis.app is the project's own domain, hub.vatis.app is their release/download hub). The URL https://hub.vatis.app/download/linux appears to be a redirect/alias to the latest release rather than a versioned artifact URL, which is slightly concerning from a reproducibility standpoint. However, a b2sum checksum is provided, which pins the specific binary being installed and mitigates silent substitution risk. The AppImage is extracted and executed during prepare() to unpack its contents. The main residual concern is that hub.vatis.app is not a widely-recognized official mirror (like GitHub releases), and the non-versioned download URL means the checksum could become stale if the upstream silently updates the binary at the same URL. Overall this is a standard AppImage packaging pattern with a checksum, from what appears to be the project's own infrastructure, making it a low-to-medium supply chain concern rather than a clear attack.

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:18 source=("${_appimage}::https://hub.vatis.app/download/linux")
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt AppImage binary from hub.vatis.app, which is the official distribution host for the vATIS project (vatis.app is the project's own domain, hub.vatis.app is their release/download hub). The URL https://hub.vatis.app/download/linux appears to be a redirect/alias to the latest release rather than a versioned artifact URL, which is slightly concerning from a reproducibility standpoint. However, a b2sum checksum is provided, which pins the specific binary being installed and mitigates silent substitution risk. The AppImage is extracted and executed during prepare() to unpack its contents. The main residual concern is that hub.vatis.app is not a widely-recognized official mirror (like GitHub releases), and the non-versioned download URL means the checksum could become stale if the upstream silently updates the binary at the same URL. Overall this is a standard AppImage packaging pattern with a checksum, from what appears to be the project's own infrastructure, making it a low-to-medium supply chain concern rather than a clear attack.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: munsternet <munsternet at ik dot me>
2
3_pkgname=vatis
4pkgname="${_pkgname}-appimage"
5pkgver=4.1.0_beta.19
6pkgrel=1
7pkgdesc="The latest stable AppImage of vATIS - an ATIS Solution for VATSIM"
8arch=('x86_64')
9url="https://vatis.app"
10license=('GPL-3.0-or-later')
11provides=("${pkgname}")
12depends=('zlib' 'fuse2')
13options=(!strip)
14
15_appimage="${pkgname}-${pkgver}.AppImage"
16_desktop_prefix="org.vatsim.${_pkgname}"
17
18source=("${_appimage}::https://hub.vatis.app/download/linux")
19noextract=("${_appimage}")
20b2sums=('9242aedb3e08490cb67c21cbffb5071f1febc5dd9f9863c2ee191a07eba8302ce6cd5f89e0a3da13e4ede339dfc8876b46999ee88c1161d6e2b938d7009b1677')
21
22prepare() {
23 chmod +x "${_appimage}"
24 ./"${_appimage}" --appimage-extract
25}
26
27build() {
28 # Adjust .desktop so it will work outside of AppImage container
29 sed -i -E "s|Exec=AppRun|Exec=env DESKTOPINTEGRATION=false /usr/bin/${_pkgname}|"\
30 "squashfs-root/${_desktop_prefix}.desktop"
31 # Fix permissions; .AppImage permissions are 700 for all directories
32 chmod -R a-x+rX squashfs-root/usr
33}
34
35package() {
36 # AppImage
37 install -Dm755 "${srcdir}/${_appimage}" "${pkgdir}/opt/${pkgname}/${pkgname}.AppImage"
38
39 # Desktop file
40 install -Dm644 "${srcdir}/squashfs-root/${_desktop_prefix}.desktop"\
41 "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
42
43 # Icon images
44 install -dm755 "${pkgdir}/usr/share/icons/hicolor/256x256/apps/"
45 cp -a "${srcdir}/squashfs-root/${_desktop_prefix}.png" "${pkgdir}/usr/share/icons/hicolor/256x256/apps/"
46
47 # Symlink executable
48 install -dm755 "${pkgdir}/usr/bin"
49 ln -s "/opt/${pkgname}/${pkgname}.AppImage" "${pkgdir}/usr/bin/${_pkgname}"
50}
51

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 2
2026-07-22 00:29:32 MEDIUM 2
2026-07-21 00:24:15 MEDIUM 2
2026-07-20 00:19:49 MEDIUM 2
2026-07-19 00:17:08 MEDIUM 2
2026-07-18 00:14:48 MEDIUM 2
2026-07-17 00:06:16 MEDIUM 2
2026-07-16 00:05:41 MEDIUM 2
2026-07-15 00:09:25 MEDIUM 2

Report a package

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

0 / 4000
Your suggestion