astra3dengine-git
maintainer LuoTianyi_arm64
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The npx command is used to run Vite for building the project from its own source, which is a normal part of the build process; no remote code execution or untrusted external package is involved.
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 Vite for building the project from its own source, which is a normal part of the build process; no remote code execution or untrusted external package is involved.
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:28
npx vite build --config vite.config.desktop.js --outDir dist-electron
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: LuoTianyi_arm64 <2153585992@qq.com>
2
pkgname=astra3dengine-git
3
_binname=astra-3d-engine
4
pkgver=v0.0.1.beta.5.r4.g2b93bf7
5
pkgrel=1
6
pkgdesc='A joking 3D engine.'
7
arch=('x86_64' 'aarch64' 'armv7h')
8
url='https://github.com/Astra3DEngine/Astra3DEngine'
9
license=('GPL-3.0-only')
10
makedepends=('nodejs' 'pnpm' 'git' 'python' 'jre-openjdk')
11
depends=('alsa-lib' 'gtk3' 'nss' 'libxss' 'libxtst' 'xdg-utils' 'hicolor-icon-theme' 'at-spi2-core' 'libdrm' 'mesa' 'libxcb' 'libnotify')
12
provides=('astra3dengine')
13
conflicts=('astra3dengine' 'astra3dengine-bin')
14
options=(!strip !debug)
15
source=("${pkgname}::git+${url}.git")
16
sha256sums=('SKIP')
17
18
pkgver() {
19
cd "$pkgname"
20
git describe --long --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
21
}
22
23
build() {
24
cd "$srcdir/$pkgname"
25
pnpm install --frozen-lockfile
26
pnpm run build --config vite.config.desktop.js
27
pnpm run icon:generate
28
npx vite build --config vite.config.desktop.js --outDir dist-electron
29
pnpm exec electron-builder --linux tar.gz --publish never
30
}
31
32
package() {
33
cd "$srcdir/$pkgname"
34
local _unpacked_dir="release/linux-unpacked"
35
[[ "$CARCH" == "aarch64" ]] && _unpacked_dir="release/linux-arm64-unpacked"
36
[[ "$CARCH" == "armv7h" ]] && _unpacked_dir="release/linux-armv7l-unpacked"
37
38
install -d "$pkgdir/opt/Astra 3D Engine"
39
cp -r "$_unpacked_dir"/* "$pkgdir/opt/Astra 3D Engine/"
40
41
install -d "$pkgdir/usr/bin"
42
ln -s "/opt/Astra 3D Engine/astra-3d-engine" "$pkgdir/usr/bin/$_binname"
43
44
install -d "$pkgdir/usr/share/applications"
45
cat >"$pkgdir/usr/share/applications/$_binname.desktop" <<EOT
46
[Desktop Entry]
47
Name=Astra3DEngine
48
GenericName=3D engine
49
Comment=A 3D engine for creative projects.
50
Exec=$_binname %U
51
Terminal=false
52
Type=Application
53
Icon=astra-3d-engine
54
StartupWMClass=Astra3DEngine
55
Categories=Graphics;Development;GameEngine;
56
Keywords=3Dengine;
57
EOT
58
local _res
59
for _res in 16 32 48 64 128 256 512 1024; do
60
local _icon_path="electron/icons/${_res}x${_res}.png"
61
if [ -f "$_icon_path" ]; then
62
install -Dm644 "$_icon_path" "$pkgdir/usr/share/icons/hicolor/${_res}x${_res}/apps/astra-3d-engine.png"
63
fi
64
done
65
}
66
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 |