arc-client

maintainer noideaman · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package builds from a verifiable GitHub source tarball and uses standard npm/electron-builder tooling; the flagged npx and npm install commands are part of the project's legitimate build process and do 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 90%): The package builds from a verifiable GitHub source tarball and uses standard npm/electron-builder tooling; the flagged npx and npm install commands are part of the project's legitimate build process and do not execute untrusted remote code.

2 higher static findings superseded - not the current verdict (shown for transparency)
MEDIUM npm/yarn/pnpm install of an undeclared external package npm_install_external

Runs `npm/yarn/pnpm install <package>` for a package not in source=(), pulling unpinned, unreviewed code at build time. Severity downgraded: the package declares/looks like a Node.js consumer, where build-time installs are expected.

  • PKGBUILD:32 npm install --cpu="${!CARCH}" --omit dev --omit optional --omit peer --no-bin-links
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:44 npx electron-builder --linux --"${!CARCH}" --dir \

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: noideaman <pkgbuilds@weebvr.com>
2# Based on the PKGBUILD of oscgoesbrr by Torge Matthies <openglfreak at googlemail dot com>
3
4pkgname='arc-client'
5_pkgname='ARC-Client'
6pkgdesc='A Tool that allows you to remotely control your VRChat avatar parameters through a web interface'
7pkgver='0.93.1'
8pkgrel='1'
9arch=('x86_64')
10url='https://arcosc.app/'
11license=('Comfy Chloe Non-Commercial Copyleft License 1.2')
12_electron_ver=39
13_electron_full_ver=$(cat /usr/lib/electron${_electron_ver}/version | sed 's/^v//')
14depends=("electron$_electron_ver")
15makedepends=('node-gyp' 'npm' 'asar')
16source=("ARC-Client-v$pkgver.tar.gz::https://codeload.github.com/ComfyChloe/$_pkgname/tar.gz/refs/tags/v$pkgver"
17 'ARC-Client'
18 'ARC-Client.desktop'
19 'arc-client.png')
20sha256sums=('e1b5e577e0d60edf5b6b8c8af2b941213910862594468227bddbea876df2c6b0'
21 '993b283cd87f95728a825dffc97f7f72908903eda2fd7e6660f0983aff2f971a'
22 '24ce6b59cf8b0498d77d1601512e49624367578595fb03f4f1396c38d28a8421'
23 'a315bea3d9ec1771340662c8e8cd9249d5fb69f4b3a0557bbe24c43a68560716')
24build() {
25 cd "$_pkgname-$pkgver"
26 #sed -i "s/electronVersion:\ ../electronVersion:\ $pkgver/" package.json
27 export ELECTRON_SKIP_BINARY_DOWNLOAD=1
28 export XDG_CACHE_HOME="$srcdir"
29
30 rm -rf .github build CONTRIBUTING.md .gitignore README.md
31
32 npm install --cpu="${!CARCH}" --omit dev --omit optional --omit peer --no-bin-links
33 npm audit fix || :
34 npm run build
35
36 local i686=ia32 x86_64=x64 armv7h=arm aarch64=arm64 riscv64=riscv64
37 export NODE_ENV=production
38 export NODE_OPTIONS='--openssl-legacy-provider'
39
40 # Get full semver — electron-builder requires it, not just the major version
41 local _electron_full_ver
42 _electron_full_ver=$(electron${_electron_ver} --version | sed 's/^v//')
43
44 npx electron-builder --linux --"${!CARCH}" --dir \
45 -c.electronDist="/usr/lib/electron$_electron_ver" \
46 -c.electronVersion="$_electron_full_ver"
47
48 asar extract "dist/linux-unpacked/resources/app.asar" "dist/linux-unpacked/usr/lib/$_pkgname/"
49 rm -rf "dist/linux-unpacked/usr/lib/$_pkgname/node_modules/native-reg"
50 rm -rf "dist/linux-unpacked/usr/lib/$_pkgname/node_modules/node-gyp-build"
51 rmdir "dist/linux-unpacked/usr/lib/$_pkgname/node_modules" 2>/dev/null || :
52
53 sed -i -e "s#/usr/bin/electron\b#/usr/bin/electron$_electron_ver#" \
54 -e "s#/usr/lib/ARC-Client\b#/usr/lib/$_pkgname#" ../ARC-Client
55 sed -i -e "s/^Version=.*/Version=v$pkgver/" ../ARC-Client.desktop
56}
57
58package() {
59 cd "$_pkgname-$pkgver"
60
61 install -d -Dm755 "$pkgdir/usr"
62 install -d -Dm755 "$pkgdir/usr/lib"
63 install -d -Dm755 "$pkgdir/usr/lib/$_pkgname"
64 cp -r dist/linux-unpacked/usr/lib/$_pkgname "$pkgdir/usr/lib"
65 install -d -Dm755 "$pkgdir/usr/bin"
66 install -Dm755 ../ARC-Client -t "$pkgdir/usr/bin"
67 install -d -Dm755 "$pkgdir/usr/share"
68 install -d -Dm755 "$pkgdir/usr/share/icons"
69 install -d -Dm755 "$pkgdir/usr/share/icons/hicolor"
70 install -d -Dm755 "$pkgdir/usr/share/icons/hicolor/512x512"
71 install -d -Dm755 "$pkgdir/usr/share/icons/hicolor/512x512/apps"
72 install -Dm644 ../arc-client.png -t "$pkgdir/usr/share/icons/hicolor/512x512/apps"
73 install -d -Dm755 "$pkgdir/usr/share/applications"
74 install -Dm644 ../ARC-Client.desktop -t "$pkgdir/usr/share/applications"
75 install -d -Dm755 "$pkgdir/usr/share/licenses"
76 install -d -Dm755 "$pkgdir/usr/share/licenses/$_pkgname"
77 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$_pkgname"
78}
79

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 LOW 3
2026-08-02 00:16:08 LOW 3
2026-08-01 00:11:18 LOW 3
2026-07-31 00:14:10 LOW 3
2026-07-30 00:17:23 LOW 3
2026-07-29 00:25:53 LOW 3
2026-07-28 00:07:28 LOW 3
2026-07-27 00:24:32 LOW 3
2026-07-26 00:07:32 LOW 3
2026-07-25 00:13:44 LOW 3
2026-07-24 00:02:28 LOW 3
2026-07-23 00:14:47 LOW 3
2026-07-22 00:29:32 LOW 3
2026-07-21 00:24:15 LOW 3
2026-07-20 00:19:49 LOW 3
2026-07-19 00:17:08 LOW 3
2026-07-18 00:14:48 LOW 3
2026-07-17 00:06:16 LOW 3
2026-07-16 00:05:41 LOW 3
2026-07-15 00:09:25 LOW 3

Report a package

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

0 / 4000
Your suggestion