spiritfarer-appimage
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:11
source=("${_pkgname}-${pkgver}.appimage::https://de.linuxgame.cn/%E7%81%B5%E9%AD%82%E6%91%86%E6%B8%A1%E4%BA%BA/Spiritfarer_32138b_amd64.appimage"
llm_review
The static rules found a suspicious pattern they could not resolve, so an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed it and judged it HIGH (confidence 82%): This PKGBUILD downloads a prebuilt AppImage of the commercial game Spiritfarer from linuxgame.cn (de.linuxgame.cn), which is a third-party Chinese Linux gaming site, not the official Thunder Lotus Games distribution channel. Spiritfarer is a paid commercial game (available on Steam, GOG, etc.), and distributing it via an unofficial host without authorization constitutes piracy. The AppImage is also executed during the prepare() phase (--appimage-extract) to unpack its contents, meaning arbitrary code from this unofficial binary runs on the build system. The sha256sum provides integrity but not authenticity — if the host is controlled by a bad actor or the file was placed there without the developer's consent, users get a pirated and potentially tampered binary. The piracy flag applies regardless of malware presence since this is clearly unauthorized redistribution of a commercial game.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Clarence <xjh.azzbcc@gmail.com>
_pkgname=spiritfarer
pkgname="${_pkgname}"-appimage
pkgver=1.0
pkgrel=1
pkgdesc="Spiritfarer (AppImage version)"
arch=('x86_64')
url='https://www.linuxgame.cn/%e7%81%b5%e9%ad%82%e6%91%86%e6%b8%a1%e4%ba%ba-spiritfarer'
provides=("${_pkgname}=${pkgver}")
source=("${_pkgname}-${pkgver}.appimage::https://de.linuxgame.cn/%E7%81%B5%E9%AD%82%E6%91%86%E6%B8%A1%E4%BA%BA/Spiritfarer_32138b_amd64.appimage"
'spiritfarer.sh')
sha256sums=('182e14e8bc64db4f505365ec5d88e1481ea7bcd0f4a8691b3a827c948e6e8b03'
'237e093d8fc27a48d65e337a4bb56f17308f8b28271d173a4e8295b34385ecf3')
options=(!strip)
prepare() {
cd "${srcdir}"
chmod +x "${_pkgname}-${pkgver}.appimage"
./"${_pkgname}-${pkgver}.appimage" --appimage-extract
}
package() {
install -Dm755 "${srcdir}/${_pkgname}-${pkgver}.appimage" "${pkgdir}/opt/appimages/${_pkgname}.AppImage"
install -Dm755 "${srcdir}/${_pkgname}.sh" "${pkgdir}/usr/bin/${_pkgname}"
install -Dm755 "${srcdir}/squashfs-root/usr/bin/support/icon.png" "${pkgdir}/usr/share/icons/${_pkgname}.png"
install -Dm644 "${srcdir}/squashfs-root/Spiritfarer.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
sed -i 's|^Exec=start.sh|Exec=spiritfarer|' "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
sed -i 's|^Icon=UnityPlayer|Icon=spiritfarer|' "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
}
# vim:set ts=2 sw=2 et:
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | HIGH | 2 |
| 2026-08-02 00:16:08 | HIGH | 2 |
| 2026-08-01 00:11:18 | HIGH | 2 |
| 2026-07-31 00:14:10 | HIGH | 2 |
| 2026-07-30 00:17:23 | HIGH | 2 |
| 2026-07-29 00:25:53 | HIGH | 2 |
| 2026-07-28 00:07:28 | HIGH | 2 |
| 2026-07-27 00:24:32 | HIGH | 2 |
| 2026-07-26 00:07:32 | HIGH | 2 |
| 2026-07-25 00:13:44 | HIGH | 2 |
| 2026-07-24 00:02:28 | HIGH | 2 |
| 2026-07-23 00:14:47 | HIGH | 2 |
| 2026-07-22 00:29:32 | HIGH | 2 |
| 2026-07-21 00:24:15 | HIGH | 2 |
| 2026-07-20 00:19:49 | HIGH | 2 |
| 2026-07-19 00:17:08 | HIGH | 2 |
| 2026-07-18 00:14:48 | HIGH | 2 |
| 2026-07-17 00:06:16 | HIGH | 2 |
| 2026-07-16 00:05:41 | HIGH | 2 |
| 2026-07-15 00:09:25 | HIGH | 2 |