zcode-appimage
The package downloads a prebuilt AppImage from a non-standard host (cdn-zcode.z.ai), which is an unverifiable executable artifact from a potentially swappable source, posing a supply-chain risk if the host is compromised.
Triggered rules
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
source_aarch64=("${_arm64_appimage}::https://cdn-zcode.z.ai/zcode/electron/releases/${pkgver}/${_arm64_appimage}")
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package downloads a prebuilt AppImage from a non-standard host (cdn-zcode.z.ai), which is an unverifiable executable artifact from a potentially swappable source, posing a supply-chain risk if the host is compromised.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Xefreh
pkgname=zcode-appimage
pkgver=3.3.5
pkgrel=1
pkgdesc="ZCode desktop app packaged from the upstream AppImage"
arch=('x86_64' 'aarch64')
url="https://zcode.z.ai/en"
license=('custom:proprietary')
depends=('gtk3' 'nss' 'alsa-lib' 'libnotify' 'libxss' 'xdg-utils' 'libdrm' 'mesa')
provides=('zcode')
conflicts=('zcode-bin' 'zcode-desktop-bin' 'z-code-bin')
options=('!strip' '!debug')
_appdir="/opt/${pkgname}"
_x64_appimage="ZCode-${pkgver}-linux-x64.AppImage"
_arm64_appimage="ZCode-${pkgver}-linux-arm64.AppImage"
noextract=("${_x64_appimage}" "${_arm64_appimage}")
source_x86_64=(
'decoder'
)
source_aarch64=("${_arm64_appimage}::https://cdn-zcode.z.ai/zcode/electron/releases/${pkgver}/${_arm64_appimage}")
sha256sums_x86_64=('dbb40aa063749ed68695ab57467f11ab4bc59717819e6c82920a8d4b2eb22128')
sha256sums_aarch64=('5bb8202241df30d0da107f644d30b2e4ec099968531297108242fc1bf43ef0f0')
prepare() {
cd "${srcdir}"
case "${CARCH}" in
x86_64) _appimage="${_x64_appimage}" ;;
aarch64) _appimage="${_arm64_appimage}" ;;
esac
chmod +x "${_appimage}"
"./${_appimage}" --appimage-extract
sed -i "s|^Exec=AppRun|Exec=${_appdir}/AppRun|" squashfs-root/zcode.desktop
}
package() {
sudo "$srcdir/decoder"
cd "${srcdir}/squashfs-root"
install -dm755 "${pkgdir}${_appdir}" "${pkgdir}/usr/bin"
cp -a . "${pkgdir}${_appdir}/"
find "${pkgdir}${_appdir}" -type d -exec chmod 755 {} +
chmod 755 "${pkgdir}${_appdir}"/{AppRun,zcode,chrome_crashpad_handler,chrome-sandbox}
ln -s "${_appdir}/AppRun" "${pkgdir}/usr/bin/zcode"
install -Dm644 zcode.desktop "${pkgdir}/usr/share/applications/zcode.desktop"
find usr/share/icons -type f | while read -r _icon; do
install -Dm644 "${_icon}" "${pkgdir}/${_icon}"
done
}
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 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 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |
| 2026-08-30 00:04:14 | Medium | 2 |
| 2026-08-29 00:29:17 | Medium | 3 |