labymodlauncher-bin
The package downloads a prebuilt AppImage from an official project domain (labymod.net) used for legitimate releases; while the host is not on a standard whitelist, it is plausibly owned by the project, and the binary is extracted and installed without additional remote code execution or obfuscation.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a prebuilt AppImage from an official project domain (labymod.net) used for legitimate releases; while the host is not on a standard whitelist, it is plausibly owned by the project, and the binary is extracted and installed without additional remote code execution or obfuscation.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:12
source=("${pkgname}-${pkgver}.AppImage::https://releases.r2.labymod.net/launcher/stable/linux/x64/LabyMod%20Launcher-3.1.18-x86_64.AppImage")
PKGBUILD
1 offending line(s) highlighted
pkgname=labymodlauncher-bin
pkgver=3.1.18
pkgrel=1
pkgdesc="A launcher for LabyMod, a Minecraft client that adds a bunch of useful features (official)"
arch=('x86_64')
url="https://www.laby.net/"
license=('LicenseRef-Proprietary')
provides=('labylauncher')
depends=('gtk3' 'nss' 'alsa-lib')
options=(!strip !debug)
source=("${pkgname}-${pkgver}.AppImage::https://releases.r2.labymod.net/launcher/stable/linux/x64/LabyMod%20Launcher-3.1.18-x86_64.AppImage")
sha256sums=('10e73f23621f45878e867fa612082e1eee726b738bb39b82a57c465ba722bf66')
package() {
cd "${srcdir}"
chmod +x "${pkgname}-${pkgver}.AppImage"
./"${pkgname}-${pkgver}.AppImage" --appimage-extract >/dev/null
install -dm755 "${pkgdir}/opt/labymodlauncher-bin"
cp -a squashfs-root/. "${pkgdir}/opt/labymodlauncher-bin/"
chmod -R a+rX "${pkgdir}/opt/labymodlauncher-bin"
chmod 4755 "${pkgdir}/opt/labymodlauncher-bin/chrome-sandbox"
install -dm755 "${pkgdir}/usr/bin"
printf '%s\n' '#!/bin/sh' 'export APPDIR=/opt/labymodlauncher-bin' 'export LD_LIBRARY_PATH="${APPDIR}/usr/lib:${LD_LIBRARY_PATH}"' 'export XDG_DATA_DIRS="${APPDIR}/usr/share/:${XDG_DATA_DIRS}:/usr/share/gnome:/usr/local/share/:/usr/share/"' 'export GSETTINGS_SCHEMA_DIR="${APPDIR}/usr/share/glib-2.0/schemas:${GSETTINGS_SCHEMA_DIR}"' 'exec "${APPDIR}/labymodlauncher" "$@"' > "${pkgdir}/usr/bin/labymodlauncher"
chmod 755 "${pkgdir}/usr/bin/labymodlauncher"
desktop=$(find squashfs-root -maxdepth 1 -name '*.desktop' | head -n1)
if [ -n "${desktop}" ]; then
install -Dm644 "${desktop}" "${pkgdir}/usr/share/applications/labymodlauncher-bin.desktop"
sed -i "s|^Exec=.*|Exec=labymodlauncher %U|; s|^Icon=.*|Icon=labymodlauncher-bin|" "${pkgdir}/usr/share/applications/labymodlauncher-bin.desktop"
fi
icon=$(find squashfs-root -maxdepth 1 -name '*.png' | head -n1)
[ -z "${icon}" ] && [ -f squashfs-root/.DirIcon ] && icon=squashfs-root/.DirIcon
if [ -n "${icon}" ]; then
install -Dm644 "${icon}" "${pkgdir}/usr/share/pixmaps/labymodlauncher-bin.png"
fi
}
Changes since previous scan
--- PKGBUILD @ 2026-10-29 00:13+++ PKGBUILD @ 2026-11-01 00:21@@ -1,6 +1,6 @@ pkgname=labymodlauncher-bin-pkgver=3.1.17+pkgver=3.1.18 pkgrel=1 pkgdesc="A launcher for LabyMod, a Minecraft client that adds a bunch of useful features (official)" arch=('x86_64')@@ -9,8 +9,8 @@ provides=('labylauncher') depends=('gtk3' 'nss' 'alsa-lib') options=(!strip !debug)-source=("${pkgname}-${pkgver}.AppImage::https://releases.r2.labymod.net/launcher/stable/linux/x64/LabyMod%20Launcher-3.1.17-x86_64.AppImage")-sha256sums=('7319527023bfffe2a2fc50ae18419dfb12f29be2a49a3b06c59bc8f33d7ec15e')+source=("${pkgname}-${pkgver}.AppImage::https://releases.r2.labymod.net/launcher/stable/linux/x64/LabyMod%20Launcher-3.1.18-x86_64.AppImage")+sha256sums=('10e73f23621f45878e867fa612082e1eee726b738bb39b82a57c465ba722bf66') package() { cd "${srcdir}"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 15:52:51 | Medium | 1 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 03:43:44 | Medium | 1 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 17:28:05 | Medium | 1 |
| 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 |