webcatalog-bin
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:19
source_x86_64=("$_filename::https://cdn-2.webcatalog.io/$_pkgname/WebCatalog-$pkgver.AppImage")
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# Maintainer: Jun-I Wu <michaelcat at aur.archlinux.org> and Jayesh Badwaik <jayesh at aur.archlinux.org>
# Contributer (previous maintainer and original submitter): Alexey Peschany <sandboiii at aur.archlinux.org>
pkgname=webcatalog-bin
_pkgname=webcatalog
pkgver=74.0.2
pkgrel=1
pkgdesc="Turn Any Websites into Real Desktop Apps"
arch=('x86_64' 'aarch64')
url="https://webcatalog.io/webcatalog/"
options=(!strip !debug)
depends=('fuse2')
_filename="WebCatalog-$pkgver.AppImage"
source=("${_pkgname}.patch")
sha256sums=('8e13556f9eab7880fbc586d625147e7602d8d99cf0f23a6a130e0eb821a9a7fd')
source_x86_64=("$_filename::https://cdn-2.webcatalog.io/$_pkgname/WebCatalog-$pkgver.AppImage")
sha256sums_x86_64=('9aa35796507fefbc5a5328208b712b5f422a1a9400f4cb3fb7431888a6e143d4')
source_aarch64=("$_filename::https://cdn-2.webcatalog.io/$_pkgname/WebCatalog-$pkgver-arm64.AppImage")
sha256sums_aarch64=('62ca8d8d59ff669c9d81808b8f5e86eaf5fb53bed766031fadff50ef41909c46')
prepare() {
cd "${srcdir}"
chmod +x ${_filename}
./${_filename} --appimage-extract
}
package() {
install -Dm755 "${srcdir}/${_filename}" "${pkgdir}/opt/appimages/${_filename}.AppImage"
mkdir -p "${pkgdir}/usr/bin/"
ln -s "/opt/appimages/${_filename}.AppImage" "${pkgdir}/usr/bin/${_pkgname}"
install -dm755 "${pkgdir}/usr/share/"
cp -r --no-preserve=mode,ownership "${srcdir}/squashfs-root/usr/share/icons" "${pkgdir}/usr/share/"
mkdir "${pkgdir}/usr/share/applications/"
cp --no-preserve=mode,ownership "${srcdir}/squashfs-root/@webcatalogdesktop.desktop" "${pkgdir}/usr/share/applications/webcatalog.desktop"
patch -d "${pkgdir}" -p1 < "${_pkgname}.patch"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 |