webcatalog-bin

maintainer michaelcat · 2 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD downloads a prebuilt AppImage binary from cdn-2.webcatalog.io, which is WebCatalog's own CDN (a legitimate vendor CDN, not a random personal host). The package has sha256 checksums for both architectures, providing integrity verification. However, the binary is executed during prepare() via --appimage-extract to unpack it, and then installed as an executable. The CDN host is not GitHub releases or another well-known release infrastructure, but it is the vendor's own distribution channel for this commercial application. This is a standard pattern for AppImage-based AUR packages of proprietary software. The risk is real but typical for binary AUR packages: if the CDN were compromised or the maintainer updated checksums to match a malicious binary, users would execute attacker-controlled code. This is the inherent medium-level supply-chain risk of any binary-only AUR package, not an active attack. Rating remains medium due to executed prebuilt binary from a non-GitHub/non-standard CDN with no additional verification (e.g., GPG signature).

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:19 source_x86_64=("$_filename::https://cdn-2.webcatalog.io/$_pkgname/WebCatalog-$pkgver.AppImage")
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 cdn-2.webcatalog.io, which is WebCatalog's own CDN (a legitimate vendor CDN, not a random personal host). The package has sha256 checksums for both architectures, providing integrity verification. However, the binary is executed during prepare() via --appimage-extract to unpack it, and then installed as an executable. The CDN host is not GitHub releases or another well-known release infrastructure, but it is the vendor's own distribution channel for this commercial application. This is a standard pattern for AppImage-based AUR packages of proprietary software. The risk is real but typical for binary AUR packages: if the CDN were compromised or the maintainer updated checksums to match a malicious binary, users would execute attacker-controlled code. This is the inherent medium-level supply-chain risk of any binary-only AUR package, not an active attack. Rating remains medium due to executed prebuilt binary from a non-GitHub/non-standard CDN with no additional verification (e.g., GPG signature).

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Jun-I Wu <michaelcat at aur.archlinux.org> and Jayesh Badwaik <jayesh at aur.archlinux.org>
2# Contributer (previous maintainer and original submitter): Alexey Peschany <sandboiii at aur.archlinux.org>
3
4pkgname=webcatalog-bin
5_pkgname=webcatalog
6pkgver=74.0.2
7pkgrel=1
8pkgdesc="Turn Any Websites into Real Desktop Apps"
9arch=('x86_64' 'aarch64')
10url="https://webcatalog.io/webcatalog/"
11options=(!strip !debug)
12depends=('fuse2')
13
14_filename="WebCatalog-$pkgver.AppImage"
15
16source=("${_pkgname}.patch")
17sha256sums=('8e13556f9eab7880fbc586d625147e7602d8d99cf0f23a6a130e0eb821a9a7fd')
18
19source_x86_64=("$_filename::https://cdn-2.webcatalog.io/$_pkgname/WebCatalog-$pkgver.AppImage")
20sha256sums_x86_64=('9aa35796507fefbc5a5328208b712b5f422a1a9400f4cb3fb7431888a6e143d4')
21
22source_aarch64=("$_filename::https://cdn-2.webcatalog.io/$_pkgname/WebCatalog-$pkgver-arm64.AppImage")
23sha256sums_aarch64=('62ca8d8d59ff669c9d81808b8f5e86eaf5fb53bed766031fadff50ef41909c46')
24
25prepare() {
26 cd "${srcdir}"
27 chmod +x ${_filename}
28 ./${_filename} --appimage-extract
29}
30
31package() {
32 install -Dm755 "${srcdir}/${_filename}" "${pkgdir}/opt/appimages/${_filename}.AppImage"
33 mkdir -p "${pkgdir}/usr/bin/"
34 ln -s "/opt/appimages/${_filename}.AppImage" "${pkgdir}/usr/bin/${_pkgname}"
35
36 install -dm755 "${pkgdir}/usr/share/"
37 cp -r --no-preserve=mode,ownership "${srcdir}/squashfs-root/usr/share/icons" "${pkgdir}/usr/share/"
38
39 mkdir "${pkgdir}/usr/share/applications/"
40 cp --no-preserve=mode,ownership "${srcdir}/squashfs-root/@webcatalogdesktop.desktop" "${pkgdir}/usr/share/applications/webcatalog.desktop"
41 patch -d "${pkgdir}" -p1 < "${_pkgname}.patch"
42}
43

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