kanoprii
The npx command runs in offline mode using cached dependencies, building the project's own code, which is a normal part of the build process and not a remote code execution risk.
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 90%): The npx command runs in offline mode using cached dependencies, building the project's own code, which is a normal part of the build process and not a remote code execution risk.
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:64
npx --offline tauri build --no-bundle
PKGBUILD
1 offending line(s) highlighted# Maintainer: VisorCraft LLC <packages@visorcraft.com>
pkgname=kanoprii
pkgver=1.21.0
pkgrel=1
_pdfiumver=7947
pkgdesc='High-performance PDF editor'
arch=('x86_64')
url='https://github.com/visorcraft/Kanoprii'
license=('GPL-3.0-only' 'BSD-3-Clause' 'MIT')
depends=(
'cairo'
'dbus'
'gcc-libs'
'gdk-pixbuf2'
'glib2'
'glibc'
'gtk3'
'hicolor-icon-theme'
'libcups'
'libsoup3'
'webkit2gtk-4.1'
)
makedepends=('cargo' 'npm' 'pkgconf')
conflicts=('kanoprii-bin' 'kanoprii-git')
options=('!lto')
source=(
"$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz"
"pdfium-linux-x64-$_pdfiumver.tgz::https://github.com/bblanchon/pdfium-binaries/releases/download/chromium/$_pdfiumver/pdfium-linux-x64.tgz"
'kanoprii.desktop'
)
noextract=("pdfium-linux-x64-$_pdfiumver.tgz")
sha256sums=(
'4f103eeabbf64fb4b3350d27397b2fc58d1c69327471d5a691d26ee8dc8fc967'
'f73d69d309fe1f33cc7269dcc99be31ec44e1cf608e31d7e2fcc6545fc2f9323'
'05dfa58465ff1838d64a870f5b7d4b8e456607fe8157ad9b60aeae65b56a860f'
)
prepare() {
cd "Kanoprii-$pkgver"
export CARGO_HOME="$srcdir/cargo"
export npm_config_cache="$srcdir/npm-cache"
npm ci
cargo fetch --manifest-path src-tauri/Cargo.toml --locked \
--target "$CARCH-unknown-linux-gnu"
install -d src-tauri/vendor/pdfium
bsdtar -xf "$srcdir/pdfium-linux-x64-$_pdfiumver.tgz" \
-C src-tauri/vendor/pdfium --strip-components 1 lib/libpdfium.so
install -d "$srcdir/pdfium-licenses"
bsdtar -xf "$srcdir/pdfium-linux-x64-$_pdfiumver.tgz" \
-C "$srcdir/pdfium-licenses" LICENSE licenses
}
build() {
cd "Kanoprii-$pkgver"
export CARGO_HOME="$srcdir/cargo"
export CARGO_NET_OFFLINE=true
export CARGO_PROFILE_RELEASE_LTO=false
export npm_config_cache="$srcdir/npm-cache"
export npm_config_offline=true
npx --offline tauri build --no-bundle
}
check() {
cd "Kanoprii-$pkgver"
export CARGO_HOME="$srcdir/cargo"
export CARGO_NET_OFFLINE=true
export npm_config_cache="$srcdir/npm-cache"
export npm_config_offline=true
npm run lint
cargo test --manifest-path src-tauri/Cargo.toml --all-targets --frozen
}
package() {
cd "Kanoprii-$pkgver"
install -Dm755 src-tauri/target/release/kanoprii \
"$pkgdir/usr/bin/kanoprii"
install -Dm755 src-tauri/vendor/pdfium/libpdfium.so \
"$pkgdir/usr/lib/Kanoprii/vendor/pdfium/libpdfium.so"
install -Dm644 "$srcdir/kanoprii.desktop" \
"$pkgdir/usr/share/applications/kanoprii.desktop"
install -Dm644 src-tauri/icons/32x32.png \
"$pkgdir/usr/share/icons/hicolor/32x32/apps/kanoprii.png"
install -Dm644 src-tauri/icons/64x64.png \
"$pkgdir/usr/share/icons/hicolor/64x64/apps/kanoprii.png"
install -Dm644 src-tauri/icons/128x128.png \
"$pkgdir/usr/share/icons/hicolor/128x128/apps/kanoprii.png"
install -Dm644 src-tauri/icons/128x128@2x.png \
"$pkgdir/usr/share/icons/hicolor/256x256@2/apps/kanoprii.png"
install -Dm644 src-tauri/icons/512x512.png \
"$pkgdir/usr/share/icons/hicolor/512x512/apps/kanoprii.png"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm644 "$srcdir/pdfium-licenses/LICENSE" \
"$pkgdir/usr/share/licenses/$pkgname/PDFium-Binaries-LICENSE"
cp -a "$srcdir/pdfium-licenses/licenses/." \
"$pkgdir/usr/share/licenses/$pkgname/"
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
install -Dm644 CREDITS.md "$pkgdir/usr/share/doc/$pkgname/CREDITS.md"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-30 00:29+++ PKGBUILD @ 2026-11-01 00:21@@ -1,7 +1,7 @@ # Maintainer: VisorCraft LLC <packages@visorcraft.com> pkgname=kanoprii-pkgver=1.20.1+pkgver=1.21.0 pkgrel=1 _pdfiumver=7947 pkgdesc='High-performance PDF editor'@@ -31,7 +31,7 @@ ) noextract=("pdfium-linux-x64-$_pdfiumver.tgz") sha256sums=(- '613c8234f528523367c6bb58c2d2a4af68878140ebc969079ee53e7983256eb0'+ '4f103eeabbf64fb4b3350d27397b2fc58d1c69327471d5a691d26ee8dc8fc967' 'f73d69d309fe1f33cc7269dcc99be31ec44e1cf608e31d7e2fcc6545fc2f9323' '05dfa58465ff1838d64a870f5b7d4b8e456607fe8157ad9b60aeae65b56a860f' )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 03:55:04 | Medium | 1 |
| 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 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 |