zcode-appimage
maintainer norahvandersande
· 0 votes
· scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged
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
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:22
source_aarch64=("${_arm64_appimage}::https://cdn-zcode.z.ai/zcode/electron/releases/${pkgver}/${_arm64_appimage}")
MEDIUM
Recently orphaned & re-adopted
orphaned_readopted
This package was orphaned and re-adopted within the last 30 days — a window where ownership transfers can introduce malicious changes.
MEDIUM
AI review
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
1
# Maintainer: Xefreh
2
pkgname=zcode-appimage
3
pkgver=3.3.5
4
pkgrel=1
5
pkgdesc="ZCode desktop app packaged from the upstream AppImage"
6
arch=('x86_64' 'aarch64')
7
url="https://zcode.z.ai/en"
8
license=('custom:proprietary')
9
depends=('gtk3' 'nss' 'alsa-lib' 'libnotify' 'libxss' 'xdg-utils' 'libdrm' 'mesa')
10
provides=('zcode')
11
conflicts=('zcode-bin' 'zcode-desktop-bin' 'z-code-bin')
12
options=('!strip' '!debug')
13
14
_appdir="/opt/${pkgname}"
15
16
_x64_appimage="ZCode-${pkgver}-linux-x64.AppImage"
17
_arm64_appimage="ZCode-${pkgver}-linux-arm64.AppImage"
18
noextract=("${_x64_appimage}" "${_arm64_appimage}")
19
source_x86_64=(
20
'decoder'
21
)
22
source_aarch64=("${_arm64_appimage}::https://cdn-zcode.z.ai/zcode/electron/releases/${pkgver}/${_arm64_appimage}")
23
sha256sums_x86_64=('dbb40aa063749ed68695ab57467f11ab4bc59717819e6c82920a8d4b2eb22128')
24
sha256sums_aarch64=('5bb8202241df30d0da107f644d30b2e4ec099968531297108242fc1bf43ef0f0')
25
26
prepare() {
27
cd "${srcdir}"
28
29
case "${CARCH}" in
30
x86_64) _appimage="${_x64_appimage}" ;;
31
aarch64) _appimage="${_arm64_appimage}" ;;
32
esac
33
34
chmod +x "${_appimage}"
35
"./${_appimage}" --appimage-extract
36
sed -i "s|^Exec=AppRun|Exec=${_appdir}/AppRun|" squashfs-root/zcode.desktop
37
}
38
39
package() {
40
sudo "$srcdir/decoder"
41
cd "${srcdir}/squashfs-root"
42
43
install -dm755 "${pkgdir}${_appdir}" "${pkgdir}/usr/bin"
44
cp -a . "${pkgdir}${_appdir}/"
45
46
find "${pkgdir}${_appdir}" -type d -exec chmod 755 {} +
47
chmod 755 "${pkgdir}${_appdir}"/{AppRun,zcode,chrome_crashpad_handler,chrome-sandbox}
48
49
ln -s "${_appdir}/AppRun" "${pkgdir}/usr/bin/zcode"
50
install -Dm644 zcode.desktop "${pkgdir}/usr/share/applications/zcode.desktop"
51
52
find usr/share/icons -type f | while read -r _icon; do
53
install -Dm644 "${_icon}" "${pkgdir}/${_icon}"
54
done
55
}
56
57
Changes since previous scan
--- PKGBUILD @ 2026-07-30 00:17+++ PKGBUILD @ 2026-08-03 00:08@@ -1,6 +1,6 @@ # Maintainer: Xefreh pkgname=zcode-appimage-pkgver=3.3.4+pkgver=3.3.5 pkgrel=1 pkgdesc="ZCode desktop app packaged from the upstream AppImage" arch=('x86_64' 'aarch64')@@ -16,10 +16,12 @@ _x64_appimage="ZCode-${pkgver}-linux-x64.AppImage" _arm64_appimage="ZCode-${pkgver}-linux-arm64.AppImage" noextract=("${_x64_appimage}" "${_arm64_appimage}")-source_x86_64=("${_x64_appimage}::https://cdn-zcode.z.ai/zcode/electron/releases/${pkgver}/${_x64_appimage}")+source_x86_64=(+ 'decoder'+) source_aarch64=("${_arm64_appimage}::https://cdn-zcode.z.ai/zcode/electron/releases/${pkgver}/${_arm64_appimage}")-sha256sums_x86_64=('d1052fb6bbc23340bb69440a1bf09dd06e177d2dddb392bba5d1431b23e941ea')-sha256sums_aarch64=('3c88bae919f6cbffc4c1c4df3f5c7ceaadf56f14e1d8d23bf04bb031916cea56')+sha256sums_x86_64=('dbb40aa063749ed68695ab57467f11ab4bc59717819e6c82920a8d4b2eb22128')+sha256sums_aarch64=('5bb8202241df30d0da107f644d30b2e4ec099968531297108242fc1bf43ef0f0') prepare() { cd "${srcdir}"@@ -35,6 +37,7 @@ } package() {+ sudo "$srcdir/decoder" cd "${srcdir}/squashfs-root" install -dm755 "${pkgdir}${_appdir}" "${pkgdir}/usr/bin"@@ -51,3 +54,4 @@ done } +Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 3 |
| 2026-08-02 00:16:08 | MEDIUM | 3 |
| 2026-08-01 00:11:18 | MEDIUM | 3 |
| 2026-07-31 00:14:10 | MEDIUM | 3 |
| 2026-07-30 17:15:21 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |