winboat-electron

maintainer tiziodcaio · 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 built project, which is a standard part of the build process for Electron apps and does not execute untrusted remote code.

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 95%): The npx command runs electron-builder on the locally built project, which is a standard part of the build process for Electron apps and does not execute untrusted remote code.

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:64 npx electron-builder --linux --dir \

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Matt Quintanilla <matt @ matt quintanilla .xyz>
2# Maintainer: ArjixWasTaken <me@arjix.dev>
3# Contributor: tiziodcaio <d dot bass05 at pm dot me>
4
5_pkgname=winboat
6pkgname=winboat-electron
7pkgver=0.9.0
8pkgrel=4
9pkgdesc="Run Windows apps on Linux with seamless integration"
10arch=('x86_64')
11url="https://www.winboat.app"
12license=('MIT')
13_electron=electron39
14depends=(
15 'alsa-lib'
16 'docker'
17 'docker-compose'
18 'freerdp'
19 'gtk3'
20 'nss'
21 "$_electron"
22)
23makedepends=(
24 'git'
25 'npm'
26 'go'
27 'zip'
28 'imagemagick'
29 'asar'
30)
31options=('!strip')
32source=("git+https://github.com/TibixDev/winboat.git#tag=v$pkgver")
33sha256sums=('11051ae91c399ccc75ef69910d4e8a526f6cc50210f9c70525829d5017715cce')
34provides=('winboat')
35conflicts=('winboat')
36
37prepare(){
38 cd "$_pkgname"
39
40 ## don't use resourcesPath
41 sed --in-place -e "s/process\.resourcesPath, \"/\"\/usr\/lib\/winboat\//g" ./src/renderer/lib/*.ts
42
43 export npm_config_cache="$srcdir/npm_cache"
44 npm i
45}
46
47build() {
48 cd "$_pkgname"
49
50 export GOPATH="$srcdir/gopath"
51 export CGO_CPPFLAGS="${CPPFLAGS}"
52 export CGO_CFLAGS="${CFLAGS}"
53 export CGO_CXXFLAGS="${CXXFLAGS}"
54 export CGO_LDFLAGS="${LDFLAGS}"
55 export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
56
57 #build:linux-gs
58 bash build-guest-server.sh
59 node scripts/build.ts
60
61 rm -rf main
62 cp -r build/main main
63
64 npx electron-builder --linux --dir \
65 -c.electronDist=/usr/lib/"$_electron" \
66 -c.electronVersion="$(</usr/lib/${_electron}/version)"
67
68 # Clean module cache for makepkg -C
69 go clean -modcache
70
71 mkdir -p dist/.icon-set
72 for i in 16 32 48 64 128 256 512; do
73 magick icons/winboat_logo.svg -resize "${i}x${i}" "dist/.icon-set/icon_${i}x${i}.png"
74 done
75}
76
77package() {
78 cd "$_pkgname"
79 install -Dm755 /dev/null "${pkgdir}/usr/bin/$_pkgname"
80 cat >>"${pkgdir}/usr/bin/$_pkgname" <<EOD
81#! /usr/bin/sh
82exec $_electron /usr/lib/$_pkgname/app.asar "\$@"
83EOD
84 install -d "$pkgdir/usr/lib/$_pkgname/"
85
86 cp -a dist/linux-unpacked/resources/** "$pkgdir/usr/lib/$_pkgname"
87
88 for i in 16 32 48 64 128 256 512; do
89 install -Dm644 dist/.icon-set/icon_${i}x${i}.png \
90 "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$_pkgname.png"
91 done
92
93 install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$_pkgname/"
94 install -Dm644 /dev/stdin "$pkgdir/usr/share/applications/$_pkgname.desktop" <<EOF
95[Desktop Entry]
96Name=WinBoat
97Exec=/usr/bin/$_pkgname
98Icon=$_pkgname
99Terminal=false
100Type=Application
101Comment=Run Windows apps on Linux with seamless integration
102EOF
103}
104

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

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

0 / 4000
Your suggestion