winboat-electron

LOW
maintainer tiziodcaio 1 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The npx command runs electron-builder from the project's own dependencies, not a remote package, so it 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-2507) reviewed the full PKGBUILD and judged it LOW (confidence 90%): The npx command runs electron-builder from the project's own dependencies, not a remote package, so it 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:66 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=6
9pkgdesc="Run Windows apps on Linux with seamless integration"
10arch=('x86_64')
11url="https://www.winboat.app"
12license=('MIT')
13_electron=electron43
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/winboat-org/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 --allow-git=all
45
46 npm update node-abi
47}
48
49build() {
50 cd "$_pkgname"
51
52 export GOPATH="$srcdir/gopath"
53 export CGO_CPPFLAGS="${CPPFLAGS}"
54 export CGO_CFLAGS="${CFLAGS}"
55 export CGO_CXXFLAGS="${CXXFLAGS}"
56 export CGO_LDFLAGS="${LDFLAGS}"
57 export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
58
59 #build:linux-gs
60 bash build-guest-server.sh
61 node scripts/build.ts
62
63 rm -rf main
64 cp -r build/main main
65
66 npx electron-builder --linux --dir \
67 -c.electronDist=/usr/lib/"$_electron" \
68 -c.electronVersion="$(</usr/lib/${_electron}/version)"
69
70 # Clean module cache for makepkg -C
71 go clean -modcache
72
73 mkdir -p dist/.icon-set
74 for i in 16 32 48 64 128 256 512; do
75 magick icons/winboat_logo.svg -resize "${i}x${i}" "dist/.icon-set/icon_${i}x${i}.png"
76 done
77}
78
79package() {
80 cd "$_pkgname"
81 install -Dm755 /dev/null "${pkgdir}/usr/bin/$_pkgname"
82 cat >>"${pkgdir}/usr/bin/$_pkgname" <<EOD
83#! /usr/bin/sh
84exec $_electron /usr/lib/$_pkgname/app.asar "\$@"
85EOD
86 install -d "$pkgdir/usr/lib/$_pkgname/"
87
88 cp -a dist/linux-unpacked/resources/** "$pkgdir/usr/lib/$_pkgname"
89
90 for i in 16 32 48 64 128 256 512; do
91 install -Dm644 dist/.icon-set/icon_${i}x${i}.png \
92 "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$_pkgname.png"
93 done
94
95 install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$_pkgname/"
96 install -Dm644 /dev/stdin "$pkgdir/usr/share/applications/$_pkgname.desktop" <<EOF
97[Desktop Entry]
98Name=WinBoat
99Exec=/usr/bin/$_pkgname
100Icon=$_pkgname
101Terminal=false
102Type=Application
103Comment=Run Windows apps on Linux with seamless integration
104EOF
105}
106

Scan history

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

Report a package

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

0 / 4000
Your suggestion