open-design-git

maintainer motherofmilk · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The npx command is used to run a specific, version-pinned version of pnpm (10.33.2) to install dependencies and build an AppImage from the project's own source; this is a standard build practice and does not execute arbitrary 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 is used to run a specific, version-pinned version of pnpm (10.33.2) to install dependencies and build an AppImage from the project's own source; this is a standard build practice and does not execute arbitrary 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:37 _pnpm() { npx --yes pnpm@10.33.2 "$@"; }

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: motherofmilk <iulian.dita@gmail.com>
2
3pkgname=open-design-git
4pkgver=0.5.0.r356.g2bb029cb
5pkgrel=1
6pkgdesc='VCS build of Open Design installed from an extracted Linux AppImage AppDir'
7arch=('x86_64')
8url='https://github.com/nexu-io/open-design'
9license=('Apache-2.0')
10depends=('alsa-lib' 'gtk3' 'libnotify' 'libxss' 'libxtst' 'nss' 'xdg-utils')
11makedepends=('git' 'npm' 'python' 'make' 'gcc')
12provides=('open-design')
13conflicts=('open-design' 'open-design-bin')
14options=('!strip')
15source=("${pkgname}::git+https://github.com/nexu-io/open-design.git#branch=main" 'open-design' 'open-design.desktop')
16sha256sums=('SKIP'
17 '8c076f4471bc20f457effb61c847ae1e80eb7861638a5b78f65613179ff39311'
18 '0245ea0484c1bb89b74093abc3c77ce421e793dd06c5a8e36c203971bfd7f919')
19
20prepare() {
21 cd "${srcdir}/${pkgname}"
22 git clean -fdx
23}
24
25pkgver() {
26 cd "${srcdir}/${pkgname}"
27 local _version _rev _commit
28 _version="$(sed -n 's/^ "version": "\([^"]*\)",$/\1/p' package.json | head -n1)"
29 _rev="$(git rev-list --count HEAD)"
30 _commit="$(git rev-parse --short HEAD)"
31 printf '%s.r%s.g%s' "${_version}" "${_rev}" "${_commit}"
32}
33
34build() {
35 cd "${srcdir}/${pkgname}"
36
37 _pnpm() { npx --yes pnpm@10.33.2 "$@"; }
38
39 _pnpm install --frozen-lockfile
40 # Build upstream's Linux AppImage locally; the released Linux artifact is not published yet.
41 _pnpm tools-pack linux build --to appimage --namespace aur --portable --dir "${srcdir}/tools-pack"
42}
43
44package() {
45 cd "${srcdir}/${pkgname}"
46 local _appimage _extract_dir
47 _appimage="$(find "${srcdir}/tools-pack/out/linux/namespaces/aur/builder" -maxdepth 1 -type f -name '*.AppImage' -print -quit)"
48 if [[ -z "${_appimage}" ]]; then
49 echo "no AppImage found under ${srcdir}/tools-pack/out/linux/namespaces/aur/builder" >&2
50 return 1
51 fi
52
53 _extract_dir="${srcdir}/open-design-appdir"
54 rm -rf "${_extract_dir}"
55 mkdir -p "${_extract_dir}"
56 (cd "${_extract_dir}" && "${_appimage}" --appimage-extract > /dev/null)
57
58 mkdir -p "${pkgdir}/opt/open-design/appdir"
59 cp -a "${_extract_dir}/squashfs-root/." "${pkgdir}/opt/open-design/appdir/"
60 chmod -R u+rwX,go+rX "${pkgdir}/opt/open-design/appdir"
61 install -Dm755 "${srcdir}/open-design" "${pkgdir}/usr/bin/open-design"
62 install -Dm644 "${srcdir}/open-design.desktop" "${pkgdir}/usr/share/applications/open-design.desktop"
63 install -Dm644 tools/pack/resources/linux/icon.png "${pkgdir}/usr/share/icons/hicolor/512x512/apps/open-design.png"
64 install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
65}
66

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