gb-studio-git

LOW
maintainer orphaned 1 votes scanned 2026-11-01 00:21:48.120785
View on AUR
Why flagged

The npx command is used to run electron-forge make, which is a standard build tool for Electron applications and part of the project's legitimate build process from its own source; the source is from a trusted upstream GitHub repository, and the executed code is not obfuscated or from an untrusted remote location.

Triggered rules

Low AI review downgraded a static finding llm_review

The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 90%): The npx command is used to run electron-forge make, which is a standard build tool for Electron applications and part of the project's legitimate build process from its own source; the source is from a trusted upstream GitHub repository, and the executed code is not obfuscated or from an untrusted remote location.

1 higher static finding superseded - not the current verdict (shown for transparency)
Medium npx/bunx/deno executes a remote package 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:51 npx electron-forge make --targets @electron-forge/maker-zip

PKGBUILD

1 offending line(s) highlighted
1# Ex-Maintainer: Valentijn V. <neko at catgirlsin dot space>
2# Maintainer: Riley T. <rt@hellscaped.dev>
3pkgname=gb-studio-git # '-bzr', '-git', '-hg' or '-svn'
4_pkgname=gb-studio
5pkgver=4.0.0.r3.g11278cb3a
6pkgrel=1
7pkgdesc="Visual retro game maker"
8arch=('x86_64')
9url="https://github.com/chrismaltby/gb-studio"
10license=('MIT')
11groups=()
12depends=('gtk3' 'libnotify' 'nss' 'libxss' 'libxtst' 'xdg-utils' 'util-linux' 'trash-cli')
13makedepends=('git' 'yarn' 'npm' 'nvm' 'nodejs')
14provides=("gb-studio")
15conflicts=("gb-studio")
16replaces=()
17backup=()
18options=()
19install=
20source=('git+https://github.com/chrismaltby/gb-studio.git')
21noextract=()
22md5sums=('SKIP')
23
24_ensure_local_nvm() {
25 # let's be sure we are starting clean
26 which nvm >/dev/null 2>&1 && nvm deactivate && nvm unload
27 export NVM_DIR="${srcdir}/.nvm"
28
29 # The init script returns 3 if version specified
30 # in ./.nvrc is not (yet) installed in $NVM_DIR
31 # but nvm itself still gets loaded ok
32 source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
33}
34
35pkgver() {
36 cd "$srcdir/${_pkgname}"
37 printf "%s" "$(git describe --long | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g')"
38}
39
40build() {
41 cd "${_pkgname}"
42 msg2 "Setting up NVM to switch NodeJS version..."
43 _ensure_local_nvm
44 nvm install
45 msg2 "Installing yarn packages..."
46 yarn
47 msg2 "Hacky fix until they merge my PR for the linux target..."
48 sed 's/\"win32\"\]/\"win32\"\, \"linux\"]/' forge.config.js > temporaryhackplsignoreuntilmyprismerged
49 mv temporaryhackplsignoreuntilmyprismerged forge.config.js
50 msg2 "Building zip file..."
51 npx electron-forge make --targets @electron-forge/maker-zip
52 cd out/make/zip/linux/x64
53 msg2 "Extracting zip file..."
54 buildzip=$(ls *.zip)
55 bsdtar -xf "${buildzip}"
56}
57
58package() {
59 cd "${_pkgname}/out/make/zip/linux/x64/GB Studio-linux-x64"
60 mkdir -p "${pkgdir}/usr/lib/gb-studio"
61 mkdir "${pkgdir}/usr/bin"
62 cp -r ./* "${pkgdir}/usr/lib/gb-studio"
63 ln -s /usr/lib/gb-studio/gb-studio "${pkgdir}/usr/bin/gb-studio"
64
65 install -D -m644 ./LICENSES.chromium.html "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
66 install -D -m644 ./LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/COPYRIGHT"
67}
68

Scan history

Scanned at (UTC)SeverityRules
2026-11-01 00:21:48 Low 2
2026-10-31 00:07:41 Low 2
2026-10-30 00:29:30 Low 2
2026-10-29 00:13:55 Low 2
2026-10-28 00:06:54 Low 2
2026-10-27 00:23:28 Low 2
2026-10-26 00:12:40 Low 2
2026-10-25 00:20:48 Low 2
2026-10-24 00:14:55 Low 2
2026-10-23 00:02:19 Low 2
2026-10-22 00:13:10 Low 2
2026-10-21 00:12:50 Low 2
2026-10-20 00:10:31 Low 2
2026-10-19 00:03:55 Low 2
2026-10-18 00:06:55 Low 2
2026-10-17 00:21:55 Low 2
2026-10-16 00:12:47 Low 2
2026-10-15 00:28:05 Low 2
2026-10-14 00:06:47 Low 2
2026-10-13 00:23:45 Low 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion