curseforge-appimage
The package downloads a prebuilt AppImage from the official CurseForge/Overwolf domain, which is plausibly the project's own release infrastructure; while the host is not a standard forge, it is a vendor-specific domain, and the AppImage is from the official source, making this a legitimate distribution method with low risk.
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 the official CurseForge/Overwolf domain, which is plausibly the project's own release infrastructure; while the host is not a standard forge, it is a vendor-specific domain, and the AppImage is from the official source, making this a legitimate distribution method with low risk.
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:24
"CurseForge-${pkgver/_/-}.AppImage::https://curseforge.overwolf.com/electron/linux/CurseForge-${pkgver/_/-}.AppImage"
PKGBUILD
1 offending line(s) highlighted# Maintainer: txtsd <aur.archlinux@ihavea.quest>
# Contributor: Csubee <csubee@csubee.hu>
# Contributor: Neptune <neptune650@proton.me>
# Contributor: Polarian <polarian@polarian.dev>
# Contributor: Saghm Rossi <aur@saghm.com>
pkgname=curseforge-appimage
pkgver=1.320.0_39172
pkgrel=1
pkgdesc="CurseForge desktop client for Linux (AppImage)"
arch=('x86_64')
depends=(
fuse2
glibc
hicolor-icon-theme
zlib
)
url="https://curseforge.com"
license=('LicenseRef-overwolf' 'MIT' 'LicenseRef-chromium-licenses')
provides=(curseforge)
conflicts=(curseforge)
options=(!strip !debug)
source=(
"CurseForge-${pkgver/_/-}.AppImage::https://curseforge.overwolf.com/electron/linux/CurseForge-${pkgver/_/-}.AppImage"
'LICENSE'
)
sha256sums=('a32c9a7cee36cacaa87436d2a20e7c915df38371766a3541d7fa697af79a40ae'
'135c7ffeb81f4a7ee95a5879651b679e0d1ef9d13c7aa7c262386ad97b48d62f')
prepare() {
# mv CurseForge-*.AppImage CurseForge.AppImage
chmod +x "CurseForge-${pkgver/_/-}.AppImage"
./CurseForge-${pkgver/_/-}.AppImage --appimage-extract > /dev/null
sed -i 's/Exec=.*/Exec=\/usr\/bin\/curseforge %U/' squashfs-root/curseforge.desktop
}
package() {
install -Dm755 "CurseForge-${pkgver/_/-}.AppImage" "${pkgdir}/opt/${pkgname}/CurseForge-${pkgver/_/-}.AppImage"
install -dm755 "${pkgdir}/usr/bin"
ln -s "/opt/${pkgname}/CurseForge-${pkgver/_/-}.AppImage" "${pkgdir}/usr/bin/curseforge"
install -dm755 "${pkgdir}/usr/share/icons"
cp -r --no-preserve=mode,ownership "squashfs-root/usr/share/icons" "${pkgdir}/usr/share"
install -Dm644 "squashfs-root/curseforge.desktop" -t "${pkgdir}/usr/share/applications"
install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/CURSEFORGE-LICENSE"
install -Dm644 "squashfs-root/LICENSE.electron.txt" -t "${pkgdir}/usr/share/licenses/${pkgname}"
install -Dm644 "squashfs-root/LICENSES.chromium.html" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
Changes since previous scan
--- PKGBUILD @ 2026-09-09 00:04+++ PKGBUILD @ 2026-09-17 00:27@@ -5,7 +5,7 @@ # Contributor: Saghm Rossi <aur@saghm.com> pkgname=curseforge-appimage-pkgver=1.319.0_38738+pkgver=1.320.0_39172 pkgrel=1 pkgdesc="CurseForge desktop client for Linux (AppImage)" arch=('x86_64')@@ -24,7 +24,7 @@ "CurseForge-${pkgver/_/-}.AppImage::https://curseforge.overwolf.com/electron/linux/CurseForge-${pkgver/_/-}.AppImage" 'LICENSE' )-sha256sums=('90d9293cc5f5dd14701b3fe5331a1c494640279a354112df7f549415b5046d8f'+sha256sums=('a32c9a7cee36cacaa87436d2a20e7c915df38371766a3541d7fa697af79a40ae' '135c7ffeb81f4a7ee95a5879651b679e0d1ef9d13c7aa7c262386ad97b48d62f') prepare() {Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 09:19:26 | Medium | 1 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 17:15:15 | Medium | 1 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 22:01:36 | Medium | 1 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |