scalpel-poe-git
maintainer scalpelpoe
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The npx usage in the build step runs electron-builder on the locally built project, which is a standard part of the build process for Electron apps and does not execute arbitrary remote code; the source is from the project's own Git repository, making this a normal AUR package build with low risk.
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 usage in the build step runs electron-builder on the locally built project, which is a standard part of the build process for Electron apps and does not execute arbitrary remote code; the source is from the project's own Git repository, making this a normal AUR package build with low risk.
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 AppImage --x64 --publish never
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Scalpel <scalpelpoe at gmail dot com>
2
# Contributor: Kristofers Solo <dev at kristofers dot xyz>
3
4
pkgname=scalpel-poe-git
5
pkgver=0.9.14.rc2.2.gd276a86
6
pkgrel=2
7
pkgdesc="Path of Exile's First Fourth-Party Tool"
8
arch=("x86_64")
9
url="https://github.com/scalpelpoe/scalpel"
10
license=("AGPL-3.0-only")
11
options=(!strip)
12
depends=(
13
"fuse2"
14
)
15
makedepends=(
16
"git"
17
"nodejs-lts-jod"
18
"npm"
19
"python"
20
"python-setuptools"
21
)
22
provides=("scalpel-poe")
23
conflicts=("scalpel-poe" "scalpel-poe-bin")
24
source=(
25
"git+$url.git"
26
"scalpel-poe.sh"
27
"scalpel-poe.desktop"
28
)
29
sha256sums=("SKIP"
30
"SKIP"
31
"SKIP")
32
33
_check_node_version() {
34
local major
35
major="$(node -p 'process.versions.node.split(".")[0]')"
36
37
if [[ "$major" != "22" ]]; then
38
echo "error: Node.js 22 is required, got $(node --version)" >&2
39
exit 1
40
fi
41
}
42
43
_enter_builddir() {
44
cd "$srcdir/scalpel" || return 1
45
_check_node_version || return 1
46
47
export SHARP_IGNORE_GLOBAL_LIBVIPS=1
48
}
49
50
pkgver() {
51
_enter_builddir
52
53
git describe --tags --long | sed "s/^v//;s/-/./g"
54
}
55
56
prepare() {
57
_enter_builddir
58
59
npm ci
60
}
61
62
build() {
63
_enter_builddir
64
65
npm run build
66
npx electron-builder --linux AppImage --x64 --publish never
67
}
68
69
package() {
70
cd "$srcdir/scalpel"
71
72
install -Dm755 "dist/Scalpel.AppImage" "$pkgdir/opt/scalpel-poe/Scalpel.AppImage"
73
74
install -Dm755 "$srcdir/scalpel-poe.sh" "$pkgdir/usr/bin/scalpel-poe"
75
install -Dm644 "$srcdir/scalpel-poe.desktop" "$pkgdir/usr/share/applications/scalpel-poe.desktop"
76
install -Dm644 resources/icon.png "$pkgdir/usr/share/pixmaps/scalpel-poe.png"
77
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
78
}
79
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 |