pd2mm
The npx command is used to run electron-builder, a standard tool in the project's own build process, against source code from the project's official GitHub repository; this is normal for building Electron apps and does not execute arbitrary remote code.
Triggered rules
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 is used to run electron-builder, a standard tool in the project's own build process, against source code from the project's official GitHub repository; this is normal for building Electron apps and does not execute arbitrary remote code.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:33
npx electron-builder build --linux --publish never --config electron-builder.mjs
PKGBUILD
1 offending line(s) highlighted# Maintainer: Imperator Storm <ImperatorStorm11@protonmail.com>
# Contributor: edu4rdshl <edu4rdshl@protonmail.com>
_pkgname=PD2MM
pkgname=pd2mm
pkgdesc="A desktop application for installing and managing PAYDAY 2 mods with a fast, modern workflow."
pkgver=1.8.4
pkgrel=1
arch=("x86_64" "aarch64")
url="https://github.com/CloodDev/PD2MM"
license=('MIT')
depends=('alsa-lib' 'gtk3' 'nss' hicolor-icon-theme)
makedepends=('npm' 'nodejs>=23')
optdepends=(
'xdg-utils: Open links, files, etc'
)
source=("$_pkgname-$pkgver.tar.gz::https://github.com/CloodDev/PD2MM/archive/v${pkgver}.tar.gz"\
"pd2mm.desktop"
"pd2mm.sh"
0001-export-dir.patch)
sha256sums=('6510ecd1b6fe1cf0045e5d861b4a39a6c46bda6d404881057b58ee6ca2066b1c'
'c50e7bba55b94f177118250d20acb5b185b5b70c5b93b61a35a215e15a35ac68'
'42645db318289b1db1c2fae07b0dbd5c8416259b7bc97202aec73ef235ad5152'
'3bba3d88bdc151a68937b9f4b2173bb29c07cbfbe5f29b984471eb2899f1455a')
prepare(){
cd "$srcdir/$_pkgname-$pkgver"
patch -tp1 <"$srcdir/0001-export-dir.patch"
}
build() {
cd "$srcdir/$_pkgname-$pkgver"
npm ci --ignore-scripts
npm run build
npx electron-builder build --linux --publish never --config electron-builder.mjs
}
package() {
cd "$srcdir/$_pkgname-$pkgver"
install -d "$pkgdir/usr/lib/$pkgname"
install -d "$pkgdir/usr/bin"
# change folder to copy per arch
case "${CARCH}" in
"aarch64") folder="linux-arm64-unpacked" ;;
*) folder="linux-unpacked" ;;
esac
cp -R "dist/${folder}/." "$pkgdir/usr/lib/$pkgname"
install -Dm644 "../pd2mm.desktop" "$pkgdir/usr/share/applications/pd2mm.desktop"
install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
for res in 64x64 128x128 256x256 512x512; do
install -Dm644 "buildResources/icons/${res}.png" "$pkgdir/usr/share/icons/hicolor/${res}/apps/$pkgname.png"
done
install -Dm755 "../pd2mm.sh" "$pkgdir/usr/bin/$pkgname"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-22 00:13+++ PKGBUILD @ 2026-11-01 00:21@@ -3,7 +3,7 @@ _pkgname=PD2MM pkgname=pd2mm pkgdesc="A desktop application for installing and managing PAYDAY 2 mods with a fast, modern workflow."-pkgver=1.8.3+pkgver=1.8.4 pkgrel=1 arch=("x86_64" "aarch64") url="https://github.com/CloodDev/PD2MM"@@ -17,7 +17,7 @@ "pd2mm.desktop" "pd2mm.sh" 0001-export-dir.patch)-sha256sums=('1eb1b5d57f59ba6bdb84ec7ace6a3e570d42b9cefdc46d91bc1ed933d666a2e8'+sha256sums=('6510ecd1b6fe1cf0045e5d861b4a39a6c46bda6d404881057b58ee6ca2066b1c' 'c50e7bba55b94f177118250d20acb5b185b5b70c5b93b61a35a215e15a35ac68' '42645db318289b1db1c2fae07b0dbd5c8416259b7bc97202aec73ef235ad5152' '3bba3d88bdc151a68937b9f4b2173bb29c07cbfbe5f29b984471eb2899f1455a')Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 21:36:17 | Medium | 1 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 00:06:47 | Low | 2 |