beyondallreason
The npx command runs electron-builder on the project's own source code from a trusted git repository, which is a standard part of building an Electron app and does not execute untrusted remote code.
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 90%): The npx command runs electron-builder on the project's own source code from a trusted git repository, which is a standard part of building an Electron app and does not execute untrusted remote code.
1 higher static finding superseded - not the current verdict (shown for transparency)
remote_code_tool
`npx`/`bunx`/`pnpm dlx`/`deno run <url>` downloads AND runs a remote package at build time — the moral equivalent of piping a download into a shell. Severity downgraded: Node.js consumer context.
-
PKGBUILD:62
npx electron-builder -- -c.electronDist=$electronDist -c.electronVersion=$electronVer --linux --dir
PKGBUILD
1 offending line(s) highlighted# Maintainer: dbas.so <d dot bass05 at proton dot me>
pkgname=beyondallreason
electronver=42
pkgver=1.2988.0
electronver=42
pkgrel=5
pkgdesc="The latest release of BYAR-Chobby, the launcher for Beyond All Reason - An open source RTS game built on top of the Spring RTS Engine"
arch=(x86_64)
url="https://beyondallreason.info"
license=('GPL-2.0-or-later' 'CC-BY-SA-4.0' 'CC-BY-NC-ND-4.0')
depends=(electron${electronver} gtk3 sdl2 zlib bash)
makedepends=(nodejs git jq npm)
conflicts=(beyondallreason-appimage)
source=("git+https://github.com/beyond-all-reason/BYAR-Chobby.git#tag=v$pkgver"
"git+https://github.com/beyond-all-reason/spring-launcher.git#commit=2c0a6e17b50ab04ea592c53963c571e5ccb071ba"
"run.sh" "beyondallreason.desktop")
b2sums=('e7bf39475b03da7bb4611b6ac716dbfbcf514afdcad0349ba8e17f456627087bb7bfe8d67f5eeb31eb039bbf79bc74d20bcf170e7b49b6a41a1889bebfe7175a'
'8bf68c86c60a72c06c3bb042dc21a4a66bb389a912579998587df8e5213fa2eef2172a506d91bfaaf86b57d8d37b3cec85825c1581ec14d4bc7b55ac2ca44969'
'f60a49716afae0ff71e76e497852ae6849407dcbf302a0098c914b1b75a672043beda334e2ac311a11237d6907ffa51ab035607786ad2adfcdc12cf58c78b21b'
'29bad1442d12fe970722e2d4ab6f4daea47b8d3014b1d4dc11eab5b790329c434f7b109a21a396138313a10cd36821f9c711515ed4666466c71e7f0b90ff65c5')
prepare() {
cd "BYAR-Chobby"
mkdir -p $srcdir/app/chobby $srcdir/src
export PACKAGE_VERSION=$(echo "1.$(git rev-list --count HEAD).0")
export GITHUB_REPOSITORY="beyond-all-reason/BYAR-Chobby"
cp -r dist_cfg $srcdir/app/chobby
cp -r build $srcdir/app/chobby
cd "../spring-launcher"
cp -r $srcdir/app/chobby/dist_cfg/* $srcdir/src/
for dir in bin files build; do
mkdir -p $dir
if [ -d $srcdir/src/$dir/ ]; then
mv $srcdir/src/$dir/* $dir/
rm -rf $srcdir/src/$dir
fi
done
echo "Making build for version: $PACKAGE_VERSION"
node $srcdir/app/chobby/build/make_package_json.js package.json $srcdir/app/chobby/dist_cfg/config.json $GITHUB_REPOSITORY $PACKAGE_VERSION
jq '.build.linux.target="dir"' <<<$(<package.json) > package.json
cat package.json
npm ci --ignore-scripts --allow-git=all
sed -i 's|\${process\.resourcesPath}/\.\.||g' src/spring_platform.js
}
build() {
cd "spring-launcher"
electronDist="/usr/lib/electron${electronver}"
electronVersion=$(<"${electronDist}/version")
npx electron-builder -- -c.electronDist=$electronDist -c.electronVersion=$electronVer --linux --dir
}
package() {
cd "./spring-launcher"
mkdir -p $pkgdir/usr/{bin,share/beyondallreason}
cp -a dist/linux*unpacked/resources/** $pkgdir/usr/share/beyondallreason
rm -r $pkgdir/usr/share/beyondallreason/app.asar.unpacked/node_modules/7zip-bin/linux/arm*
install -Dm644 $srcdir/app/chobby/dist_cfg/config.json $pkgdir/usr/share/beyondallreason
install -Dm755 $srcdir/run.sh $pkgdir/usr/bin/beyondallreason
install -Dm755 dist/linux*unpacked/bin/pr-downloader $pkgdir/usr/bin/
install -Dm644 $srcdir/app/chobby/dist_cfg/build/icon.png $pkgdir/usr/share/icons/hicolor/128x128/apps/beyondallreason.png
install -Dm644 $srcdir/beyondallreason.desktop $pkgdir/usr/share/applications/beyondallreason.desktop
}
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 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 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 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |