papercut-client-bin
The package downloads a legitimate installer script from the official PaperCut CDN, which is then extracted and repackaged; the host is not whitelisted but is plausibly official and the payload is not executed remotely, only used for local installation.
Triggered rules
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 package downloads a legitimate installer script from the official PaperCut CDN, which is then extracted and repackaged; the host is not whitelisted but is plausibly official and the payload is not executed remotely, only used for local installation.
1 higher static finding superseded - not the current verdict (shown for transparency)
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:22
"https://cdn.papercut.com/web/products/ng-mf/installers/ng/$_version_prefix/pcng-setup-$pkgver.$_build.sh")
PKGBUILD
1 offending line(s) highlighted# Maintainer: Nathan Robinson <nrobinson2000 at me dot com>
pkgname=papercut-client-bin
pkgdesc="Client software for PaperCut printers"
arch=('x86_64')
license=('custom')
url="https://www.papercut.com/support/resources/manuals/ng-mf/clienttool/topics/user-client-install-linux.html"
depends=('java-runtime>=11' 'gtk3')
install="$pkgname.install"
pkgver=22.0.8
pkgrel=1
_version_prefix="22.x"
_build="65201"
# Latest release URL can be found with this redirect
# curl -LIs https://www.papercut.com/api/product/ng/latest/linux-x64/ | sed -n 's/^location: //p'
source=("papercut-client"
"config.properties.tmpl"
"https://cdn.papercut.com/web/products/ng-mf/installers/ng/$_version_prefix/pcng-setup-$pkgver.$_build.sh")
noextract=("pcng-setup-$pkgver.$_build.sh")
sha256sums=('3096295e90a23594e34ee3ff394e070ebabe15df42740cd95b27cf04adbd7ba3'
'55e2e1ea938d8a74846b29237f66ee97a80987f2a66ff54530f31bd84b727c00'
'c5d5839b139e08a2cd28c373211d2aca3a7a81375a620d5467e4775f9b7e7e26')
# App Configuration
# Either edit here or in $HOME/.config/papercut-client/config.properties
_print_server="print.example.com"
_print_port="9191"
prepare() {
# Extract archive from script
dd if="pcng-setup-$pkgver.$_build.sh" bs=4096 skip=1 | bsdtar -C "$srcdir" -xzf -
}
package() {
_install_dir="$pkgdir/usr/share/$pkgname"
# Create installation directory
install -d "$_install_dir"
# Copy libraries
cp -r "$srcdir/papercut/client/win/lib" "$_install_dir"
rm "$_install_dir/lib/clientjni.dll" "$_install_dir/lib/pc-toast-notify.exe"
# Create minimal config
cat << EOF > "$_install_dir/config.properties"
#Bootstrap configuration information
#$(date)
server-name=$_print_server
server-ip=$_print_server
server-port=$_print_port
EOF
# Create advanced config template
cat "$_install_dir/config.properties" \
"$srcdir/config.properties.tmpl" > "$_install_dir/config.properties.tmpl"
# Install LICENSE
install -D -m644 "$srcdir/papercut/LICENCE.TXT" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
# Install launcher script
install -D -m755 papercut-client "$pkgdir/usr/bin/papercut-client"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |