scalpel-poe
maintainer scalpelpoe
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The npx command runs electron-builder on the locally built project, not a remote package, so there is no remote code execution 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-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The npx command runs electron-builder on the locally built project, not a remote package, so there is no remote code execution 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:61
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
5
pkgver=1.0.1
6
pkgrel=1
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-bin" "scalpel-poe-git")
24
_upstream_version="${pkgver/_/-}"
25
source=(
26
"$pkgname-$_upstream_version.tar.gz::$url/archive/refs/tags/v$_upstream_version.tar.gz"
27
"scalpel-poe.sh"
28
"scalpel-poe.desktop"
29
)
30
sha256sums=('a82caab108bab3e40730bfed95e2c9c01c06c6a4b3124fee062138c5c653f2d4'
31
'aec6807cc11a1f0f172577d5d24744d457c2d52fd51c4b92d1e6b8bfbb943b1f'
32
'be4904493f9322e59649768c209eeeed71ebf8f4f92321614967f749807794dc')
33
34
_check_node_version() {
35
local major
36
major="$(node -p 'process.versions.node.split(".")[0]')"
37
38
if [[ "$major" != "22" ]]; then
39
echo "error: Node.js 22 is required, got $(node --version)" >&2
40
exit 1
41
fi
42
}
43
44
_enter_builddir() {
45
cd "$srcdir/scalpel-$_upstream_version" || return 1
46
_check_node_version || return 1
47
48
export SHARP_IGNORE_GLOBAL_LIBVIPS=1
49
}
50
51
prepare() {
52
_enter_builddir
53
54
npm ci
55
}
56
57
build() {
58
_enter_builddir
59
60
npm run build
61
npx electron-builder --linux AppImage --x64 --publish never
62
}
63
64
package() {
65
cd "$srcdir/scalpel-$_upstream_version"
66
67
install -Dm755 "dist/Scalpel.AppImage" "$pkgdir/opt/scalpel-poe/Scalpel.AppImage"
68
69
install -Dm755 "$srcdir/scalpel-poe.sh" "$pkgdir/usr/bin/scalpel-poe"
70
install -Dm644 "$srcdir/scalpel-poe.desktop" "$pkgdir/usr/share/applications/scalpel-poe.desktop"
71
install -Dm644 resources/icon.png "$pkgdir/usr/share/pixmaps/scalpel-poe.png"
72
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
73
}
74
Changes since previous scan
--- PKGBUILD @ 2026-07-28 00:07+++ PKGBUILD @ 2026-08-03 00:08@@ -2,7 +2,7 @@ # Contributor: Kristofers Solo <dev at kristofers dot xyz> pkgname=scalpel-poe-pkgver=1.0.0+pkgver=1.0.1 pkgrel=1 pkgdesc="Path of Exile's First Fourth-Party Tool" arch=("x86_64")@@ -27,7 +27,7 @@ "scalpel-poe.sh" "scalpel-poe.desktop" )-sha256sums=('a0135b676edeab9a4bfe7e30080067f88ee23e83c304c7f7e8b1fb939c02ae8e'+sha256sums=('a82caab108bab3e40730bfed95e2c9c01c06c6a4b3124fee062138c5c653f2d4' 'aec6807cc11a1f0f172577d5d24744d457c2d52fd51c4b92d1e6b8bfbb943b1f' 'be4904493f9322e59649768c209eeeed71ebf8f4f92321614967f749807794dc') 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 13:38:59 | MEDIUM | 1 |
| 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 19:25:44 | MEDIUM | 1 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 13:20:28 | MEDIUM | 1 |
| 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 |