winboat-electron

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

The npx command runs electron-builder on the locally checked-out project source, which is a standard and safe build practice; the tool is not executing arbitrary remote code but building the application from trusted, version-controlled source.

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 95%): The npx command runs electron-builder on the locally checked-out project source, which is a standard and safe build practice; the tool is not executing arbitrary remote code but building the application from trusted, version-controlled source.

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.2
8pkgrel=1
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=('4537e93c28cd2311700279e135ddb13ac49ab6a85d124198ad2078927b2863fd')
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-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