caster-demo
The PKGBUILD downloads a prebuilt binary installer (.bin) from elecorn.com, which is the official upstream vendor site for the Caster game demo. The binary is executed indirectly: it is unzipped (the .bin is actually a self-extracting zip) and the extracted caster.bin is installed and run directly on the user's system. While elecorn.com appears to be the legitimate upstream, it is a small personal/indie developer host with no independent verification mechanism (no GPG signature, only MD5 checksums which are weak). The binary is closed-source proprietary code from a non-major vendor. This is a real supply-chain concern — if the host is compromised or the file is swapped, users execute arbitrary code — but there is no evidence of malice. This fits the medium category: an executed binary from an unofficial/small vendor host without strong integrity guarantees.
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:14
[ "$CARCH" = "i686" ] && source=(${source[@]} "http://www.elecorn.com/caster3d/data/caster-1.3.1-i386-demo-installer.bin") && md5sums=(${md5sums[@]} 'f6cf4c1cab03f69a399108970cd77a93')
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 binary installer (.bin) from elecorn.com, which is the official upstream vendor site for the Caster game demo. The binary is executed indirectly: it is unzipped (the .bin is actually a self-extracting zip) and the extracted caster.bin is installed and run directly on the user's system. While elecorn.com appears to be the legitimate upstream, it is a small personal/indie developer host with no independent verification mechanism (no GPG signature, only MD5 checksums which are weak). The binary is closed-source proprietary code from a non-major vendor. This is a real supply-chain concern — if the host is compromised or the file is swapped, users execute arbitrary code — but there is no evidence of malice. This fits the medium category: an executed binary from an unofficial/small vendor host without strong integrity guarantees.
PKGBUILD
1 offending line(s) highlighted# Maintainer: jose <jose1711 [at] gmail (dot) com>
pkgname=caster-demo
pkgver=1.3.1
pkgrel=2
pkgdesc="an intense 3rd person action shooter with massive terrain deformation and explosive attacks (demo version)"
arch=('i686' 'x86_64')
url="http://elecorn.com/caster3d/"
license=("custom:free_demo")
install="caster-demo.install"
source=('caster-demo.desktop')
md5sums=('844c2728d0a31959876bbde3dbb4d151')
[ "$CARCH" = "i686" ] && source=(${source[@]} "http://www.elecorn.com/caster3d/data/caster-1.3.1-i386-demo-installer.bin") && md5sums=(${md5sums[@]} 'f6cf4c1cab03f69a399108970cd77a93')
[ "$CARCH" = "x86_64" ] && source=(${source[@]} "http://www.elecorn.com/caster3d/data/caster-1.3.1-amd64-demo-installer.bin") && md5sums=(${md5sums[@]} '38f7e73507125319773bbc852ff75c9c')
noextract=('caster-1.3.1-i386-demo-installer.bin' 'caster-1.3.1-amd64-demo-installer.bin')
makedepends=('wget' 'unzip')
depends=('libx11' 'libpng12')
build() {
true
}
package() {
mkdir -p $pkgdir/usr/{share/caster-demo,bin}
cd $srcdir/
unzip *bin || true
cd data/caster_linux
#/bin/tar cf - * | ( cd ../../../pkg/usr/share/caster-demo/; tar xfp - )
cp -pR . $pkgdir/usr/share/caster-demo
(echo "#!/bin/bash
cd /usr/share/caster-demo
./caster.bin \"\$@\"") > $pkgdir/usr/bin/caster-demo
chmod 755 $pkgdir/usr/bin/caster-demo
install -D -m644 caster_icon.png $pkgdir/usr/share/pixmaps/caster_icon.png
install -D -m644 $srcdir/caster-demo.desktop $pkgdir/usr/share/applications/caster-demo.desktop
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |
| 2026-09-13 00:19:54 | Medium | 2 |
| 2026-09-12 00:25:17 | Medium | 2 |
| 2026-09-11 00:19:22 | Medium | 2 |
| 2026-09-10 00:22:44 | Medium | 2 |
| 2026-09-09 00:04:09 | Medium | 2 |
| 2026-09-08 00:18:08 | Medium | 2 |
| 2026-09-07 00:30:15 | Medium | 2 |
| 2026-09-06 00:17:06 | Medium | 2 |
| 2026-09-05 00:16:27 | Medium | 2 |
| 2026-09-04 00:03:13 | Medium | 2 |
| 2026-09-03 00:15:47 | Medium | 2 |
| 2026-09-02 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |
| 2026-08-30 00:04:14 | Medium | 2 |
| 2026-08-29 00:29:17 | Medium | 2 |