spplice-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:15
"https://www.p2r3.com/spplice/app/${_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 from p2r3.com, which is the official project website for Spplice (a Portal 2 mod launcher). The URL matches the project's own homepage listed in the 'url' field, so this is not a random personal host — it is the upstream vendor's own distribution point. However, p2r3.com is a small personal/project site rather than a major verified platform (GitHub releases, PyPI, etc.), and the AppImage is executed during prepare() to extract its contents. The sha512sums are present and pin the artifact, which mitigates silent substitution risk significantly. The extracted app.asar (Electron application bundle) is installed and run via electron23, meaning the downloaded code is ultimately executed. The combination of: (1) a small unofficial host, (2) an executed binary artifact, and (3) an Electron app.asar being run constitutes a real but not clearly malicious supply-chain concern. The sha512 checksum provides meaningful integrity protection against substitution after the fact, but does not protect against the upstream host serving a malicious artifact initially. This is a legitimate medium-risk pattern for AUR packaging of closed-source/unofficial binaries.
PKGBUILD
1 offending line(s) highlighted# Maintainer: PancakeTAS <pancake@mgnet.work>
_pkgname=spplice
pkgname=${_pkgname}-bin
pkgver=2.0.11
pkgrel=1
pkgdesc="The first ever dedicated Portal 2 mod launcher"
arch=('x86_64')
url="https://www.p2r3.com/spplice/"
license=('unknown')
depends=('electron23')
options=(!strip !debug)
_appimage="${_pkgname}.AppImage"
source=(
"https://www.p2r3.com/spplice/app/${_appimage}"
"spplice-launcher.sh"
)
sha512sums=(
"71f06478cb32cbbcd0bc078926cb6675c98cee5330ea604695afa4a79f5a3c4ccc08c8a8b544c3aaf42eb2dc78f0e50818a7d03a96f6247366ce7d89e0704780"
"35f99141441bf76fa55f8b313c0a149bc0f8772bfea39d1b3cc156539886f3f482c33dad791441930576fd3c4d46d3fecef47b776ed9b283b034cffd27fa4850"
)
noextract=("${_appimage}")
prepare() {
chmod +x ${_appimage}
./${_appimage} --appimage-extract ${_pkgname}.desktop
./${_appimage} --appimage-extract ${_pkgname}.png
./${_appimage} --appimage-extract usr/share/icons
./${_appimage} --appimage-extract resources/app.asar
}
build() {
sed -i -E "s|Exec=AppRun|Exec=${_pkgname}|" squashfs-root/${_pkgname}.desktop
}
package() {
install -Dpm644 "squashfs-root/resources/app.asar" "${pkgdir}/opt/${_pkgname}/app.asar"
install -Dpm755 "spplice-launcher.sh" "${pkgdir}/opt/${_pkgname}/spplice-launcher.sh"
install -d "${pkgdir}/usr/bin"
ln -s "/opt/${_pkgname}/spplice-launcher.sh" "${pkgdir}/usr/bin/${_pkgname}"
install -Dpm644 "squashfs-root/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
install -Dpm644 "squashfs-root/${_pkgname}.png" "${pkgdir}/usr/share/icons/hicolor/256x256/apps/${_pkgname}.png"
}
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 |