papercut-client-bin

maintainer nrobinson2000 · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged 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

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 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)
MEDIUM source=() URL on a non-standard host 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
1# Maintainer: Nathan Robinson <nrobinson2000 at me dot com>
2
3pkgname=papercut-client-bin
4pkgdesc="Client software for PaperCut printers"
5arch=('x86_64')
6license=('custom')
7url="https://www.papercut.com/support/resources/manuals/ng-mf/clienttool/topics/user-client-install-linux.html"
8
9depends=('java-runtime>=11' 'gtk3')
10install="$pkgname.install"
11
12pkgver=22.0.8
13pkgrel=1
14_version_prefix="22.x"
15_build="65201"
16
17# Latest release URL can be found with this redirect
18# curl -LIs https://www.papercut.com/api/product/ng/latest/linux-x64/ | sed -n 's/^location: //p'
19
20source=("papercut-client"
21"config.properties.tmpl"
22"https://cdn.papercut.com/web/products/ng-mf/installers/ng/$_version_prefix/pcng-setup-$pkgver.$_build.sh")
23
24noextract=("pcng-setup-$pkgver.$_build.sh")
25
26sha256sums=('3096295e90a23594e34ee3ff394e070ebabe15df42740cd95b27cf04adbd7ba3'
27 '55e2e1ea938d8a74846b29237f66ee97a80987f2a66ff54530f31bd84b727c00'
28 'c5d5839b139e08a2cd28c373211d2aca3a7a81375a620d5467e4775f9b7e7e26')
29
30# App Configuration
31# Either edit here or in $HOME/.config/papercut-client/config.properties
32_print_server="print.example.com"
33_print_port="9191"
34
35prepare() {
36 # Extract archive from script
37 dd if="pcng-setup-$pkgver.$_build.sh" bs=4096 skip=1 | bsdtar -C "$srcdir" -xzf -
38}
39
40package() {
41 _install_dir="$pkgdir/usr/share/$pkgname"
42
43 # Create installation directory
44 install -d "$_install_dir"
45
46 # Copy libraries
47 cp -r "$srcdir/papercut/client/win/lib" "$_install_dir"
48 rm "$_install_dir/lib/clientjni.dll" "$_install_dir/lib/pc-toast-notify.exe"
49
50 # Create minimal config
51 cat << EOF > "$_install_dir/config.properties"
52#Bootstrap configuration information
53#$(date)
54server-name=$_print_server
55server-ip=$_print_server
56server-port=$_print_port
57EOF
58
59 # Create advanced config template
60 cat "$_install_dir/config.properties" \
61 "$srcdir/config.properties.tmpl" > "$_install_dir/config.properties.tmpl"
62
63 # Install LICENSE
64 install -D -m644 "$srcdir/papercut/LICENCE.TXT" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
65
66 # Install launcher script
67 install -D -m755 papercut-client "$pkgdir/usr/bin/papercut-client"
68}
69

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion