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
3
pkgname=papercut-client-bin
4
pkgdesc="Client software for PaperCut printers"
5
arch=('x86_64')
6
license=('custom')
7
url="https://www.papercut.com/support/resources/manuals/ng-mf/clienttool/topics/user-client-install-linux.html"
8
9
depends=('java-runtime>=11' 'gtk3')
10
install="$pkgname.install"
11
12
pkgver=22.0.8
13
pkgrel=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
20
source=("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
24
noextract=("pcng-setup-$pkgver.$_build.sh")
25
26
sha256sums=('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
35
prepare() {
36
# Extract archive from script
37
dd if="pcng-setup-$pkgver.$_build.sh" bs=4096 skip=1 | bsdtar -C "$srcdir" -xzf -
38
}
39
40
package() {
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)
54
server-name=$_print_server
55
server-ip=$_print_server
56
server-port=$_print_port
57
EOF
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) | 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 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 |