freeshow-git
maintainer Jorgen_10
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The npx command runs electron-builder on the locally checked-out project source, which is a standard part of building an Electron app; this is not executing arbitrary remote code but rather a normal build step for the project being packaged.
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 runs electron-builder on the locally checked-out project source, which is a standard part of building an Electron app; this is not executing arbitrary remote code but rather a normal build step for the project being packaged.
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:37
npx electron-builder --config config/building/electron-builder.yaml --publish never --linux dir
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Jørgen Stråbø <aur@jorgen-10.no>
2
pkgname='freeshow-git'
3
pkgver='1.6.0.beta.1.r0.ga973aac'
4
pkgrel='1'
5
pkgdesc="A software with a friendly interface and powerful features for making slideshows"
6
arch=('x86_64')
7
provides=('freeshow')
8
conflicts=('freeshow-electron-bin' 'freeshow-bin' 'freeshow')
9
url="https://github.com/ChurchApps/FreeShow"
10
options=('!debug' '!strip')
11
license=('GPL-3.0-or-later')
12
depends=('alsa-lib' 'at-spi2-core' 'cairo' 'dbus' 'expat' 'gcc-libs' 'glib2' 'glibc' 'gtk3' 'libcups' 'libdrm' 'libx11' 'libxcb' 'libxcomposite' 'libxdamage' 'libxext' 'libxfixes' 'libxkbcommon' 'libxrandr' 'mesa' 'nspr' 'nss' 'pango')
13
makedepends=('npm' 'fakeroot' 'git' 'python')
14
source=("$pkgname::git+https://github.com/ChurchApps/FreeShow.git" "freeshow.desktop" "freeshow")
15
sha256sums=('SKIP' '5f141e1d28ec7b2ddfed43855a7d3cceca6b710887fbecc0fbfea1e56f9f05f5' '622f64c95c31f467fc7fcd63c13f1afe149506a14c9a9a810a52b758a9f04968' )
16
17
pkgver() {
18
cd "$pkgname"
19
# cutting off 'v' prefix that presents in the git tag
20
git describe --long --tags --abbrev=7 | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
21
}
22
23
# Build Process
24
prepare() {
25
cd "$pkgname"
26
27
# Install node packages
28
npm install --cache "${srcdir}/npm-cache"
29
}
30
31
build() {
32
cd "$pkgname"
33
34
# runs build
35
npm run build
36
# Ensures that Appimage and .deb package isnt built (also avoids github releases)
37
npx electron-builder --config config/building/electron-builder.yaml --publish never --linux dir
38
}
39
40
package() {
41
cd "$pkgname"
42
# Installation directory
43
install -dm755 "$pkgdir/opt/freeshow"
44
# Copy the contents of dist (from build) into /opt/freeshow
45
mv "$srcdir/$pkgname/dist/linux-unpacked/"* "$pkgdir/opt/freeshow/"
46
# Empties out the node_modules directory due to errors from /build/freeshow-git/src/freeshow-git/node_modules/@napi-rs/canvas-android-arm64 during rebuilds
47
rm -rf "$srcdir/$pkgname/node_modules"
48
49
# Install the freeshow executable to /usr/bin
50
install -Dm755 "../freeshow" "$pkgdir/usr/bin/freeshow"
51
52
# Install the license
53
install -Dm644 "$srcdir/$pkgname/LICENSE" "$pkgdir/usr/share/licenses/freeshow/LICENSE"
54
55
# Install the .desktop file for launcher integration (if you have one)
56
install -Dm644 "../freeshow.desktop" "$pkgdir/usr/share/applications/freeshow.desktop"
57
58
# Install application icon
59
install -Dm644 "$srcdir/$pkgname/src/server/icon.png" "$pkgdir/usr/share/icons/hicolor/256x256/apps/freeshow.png"
60
}
61
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |