kyocera-utax-ta
maintainer severach
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a source tarball from a project-owned domain (utax.de) for building PPD drivers; the host is not whitelisted but is plausibly official, and the payload consists of non-executable data files (PPDs) installed by CUPS, posing no code execution risk.
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 source tarball from a project-owned domain (utax.de) for building PPD drivers; the host is not whitelisted but is plausibly official, and the payload consists of non-executable data files (PPDs) installed by CUPS, posing no code execution risk.
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:25
"TALinuxDriver${_pkgver%-*}-${_rev}.tar.gz::https://catalogue-prod.utax.de/blobs/${_blob}"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Chris Severance aur.severach aATt spamgourmet dott com
2
# Contributor: MadPhysicist <jfoxrabinovitz at gmail dot com>
3
4
_opt_kut='kyo'
5
_opt_kut='ta_utax_'
6
7
# Unified: kyocera-cups kyocera-utax-ta
8
9
set -u
10
pkgname='kyocera-utax-ta'
11
_pkgver='9.1-0'; _rev='20220203'
12
_blob='dc92d4bd-a761-4c0f-a981-0f1efc7c1a7f'
13
pkgver="${_pkgver//-/.}.${_rev}"
14
pkgrel='1'
15
pkgdesc='PPD drivers for Kyocera UTAX TA Triumph Adler CD CDC CLP DC LP P printers copiers wide format'
16
arch=('i686' 'x86_64')
17
# https://www.kyoceradocumentsolutions.eu/index/products/product/fs4200dn.technical_specification.html (zip incomplete PPD list)
18
#url='https://www.utaxuk.co.uk/'
19
url='https://www.utax.de/'
20
license=('custom')
21
depends=('cups')
22
depends+=('python-pypdf3' 'python-reportlab')
23
options=('!strip')
24
source=(
25
"TALinuxDriver${_pkgver%-*}-${_rev}.tar.gz::https://catalogue-prod.utax.de/blobs/${_blob}"
26
)
27
md5sums=('fb465c80027fbeadf5634bc91694793b')
28
sha1sums=('e425379af9119a05a0f08079e664ad9c5178fdee')
29
sha256sums=('86ceca48b1f5e39944c8f3115223ebd018e2f7ded53667c9d3e90afcb4241da4')
30
31
prepare() {
32
set -u
33
# Set number of bits: '32bit' or '64bit', depending on ${CARCH}
34
declare -A _suffix=([i686]='i386' [x86_64]='x86_64')
35
36
local _ver='Redhat/Redhat/Global'
37
local _fl="${_ver}/${_opt_kut}dialog_${_suffix[${CARCH}]}/${_opt_kut}dialog-${_pkgver}.${_suffix[${CARCH}]}.rpm"
38
set +u; msg2 "Extracting ${_fl}"; set +u
39
mkdir 'dta'
40
bsdtar -C 'dta' -xf "${_fl}"
41
rm -r 'dta/usr/lib/.build-id'
42
set +u
43
}
44
45
package() {
46
set -u
47
# Install the package
48
49
cd 'dta'
50
mv 'usr' "${pkgdir}"
51
52
local _pvx="${_pkgver%%-*}"
53
_pvx="${_pvx%.0}"
54
55
# From rpm postinstall
56
local _ALTERNATE_PPD_DIRECTORY=/usr/share/cups/model/TA_UTAX
57
#local _PRIMARY_PPD_DIRECTORY=/usr/share/ppd/ta_utax/
58
local _INSTALLED_PPD_DIRECTORY="/usr/share/kyocera/ppd${_pvx}"
59
local _TMP_INSTALL="/usr/share/kyocera${_pvx}/"
60
#local _PYTHON_DIRECTORY=/usr/share/kyocera/Python/
61
#local _KYOCERA_CONFIG=/usr/share/kyocera
62
#local _TMP_DIR=/tmp/kyocera_printers
63
#local _CONFIG_TMP=/tmp/kyocera_config
64
65
#_ALTERNATE_PPD_DIRECTORY="${_ALTERNATE_PPD_DIRECTORY/kyocera/Kyocera}"
66
_INSTALLED_PPD_DIRECTORY="${_TMP_INSTALL}${_INSTALLED_PPD_DIRECTORY##*/}"
67
68
# Change folders to be more like 8.1404 for comparison
69
install -d "${pkgdir}/usr/share/cups/model"
70
mv "${pkgdir}${_INSTALLED_PPD_DIRECTORY}" "${pkgdir}${_ALTERNATE_PPD_DIRECTORY}"
71
72
# Remove PyPDF3
73
rm -r "${pkgdir}${_TMP_INSTALL}"
74
75
if :; then
76
# Remove dialog launcher. It doesn't work for me.
77
rm "${pkgdir}/usr/bin/${_opt_kut}dialog${_pvx}"
78
rm -r "${pkgdir}/usr/share/applications/" "${pkgdir}/usr/share/doc/"
79
else
80
depends+=('qt5-base')
81
fi
82
83
if :; then
84
rm "${pkgdir}/usr/bin"/kyoPPD* "${pkgdir}/usr/lib/cups/filter"/kyofilter*
85
depends+=('kyocera-cups')
86
fi
87
88
# grep -he '^*ModelName:' "${pkgdir}${_ALTERNATE_PPD_DIRECTORY}"/*.ppd | sed -E -e 's: {2,}: :g' | sort -u > "${startdir}/models.${pkgver}.txt"
89
90
# Compressing hinders package compression which results in a much larger package
91
# gzip "${pkgdir}${_ALTERNATE_PPD_DIRECTORY}"/*.ppd
92
93
# Install LICENSES
94
install -Dpm644 "${srcdir}/LICENSES.txt" -t "${pkgdir}/usr/share/licenses/${pkgname}/"
95
set +u
96
}
97
set +u
98
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 |