kyocera-sane

maintainer dreieck · 2 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package downloads a proprietary SANE driver from Kyocera's official domain, extracts and installs it; the source is from a vendor's legitimate infrastructure, and no untrusted or obfuscated code execution occurs.

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-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a proprietary SANE driver from Kyocera's official domain, extracts and installs it; the source is from a vendor's legitimate infrastructure, and no untrusted or obfuscated code execution occurs.

1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM Recently orphaned & re-adopted orphaned_readopted

This package was orphaned and re-adopted within the last 30 days — a window where ownership transfers can introduce malicious changes.

PKGBUILD

1# Maintainer: <none>
2# Contributor: dreieck (https://aur.archlinux.org/account/dreieck)
3# Contributor: Martin Dünkelmann <nc-duenkekl3@netcologne.de> (https://aur.archlinux.org/account/MartinX3)
4
5## The download URL/ filename does not change with version update. Need to check filenames inside downloaded ZIP file, or front webpage, for version.
6_upstreamlistingurl='https://www.kyoceradocumentsolutions.eu/en/support/downloads.name-L2V1L2VuL21mcC9FQ09TWVNNNDEzMklETg==.html'
7#_upstreamsourcedownloadpath='https://www.kyoceradocumentsolutions.de/content/download-center/de/drivers/all'
8_upstreamsourcedownloadpath='https://www.kyoceradocumentsolutions.eu/content/download-center/eu/drivers/all/'
9_upstreamsourcefilename='SANE_Driver_zip.download.zip'
10_get_pkgver() {
11 local _debarch
12 case "${CARCH}" in
13 'i386'|'i486'|'i586'|'i686')
14 _debarch=i386
15 ;;
16 'x86_64')
17 _debarch=amd64
18 ;;
19 esac
20 printf '%s\n' " >> Getting upstream software version for architecture '${CARCH}' ..." > /dev/stderr
21 _ver="$(curl -L "${_upstreamlistingurl}" 2>/dev/null| grep --binary-files=text -E "SANE Driver \([0-9\.]+\)" | head -n1 | sed -E 's|^.*SANE Driver \(([0-9.]+)\).*$|\1|')"
22 printf '%s' "${_ver}"
23}
24
25pkgname=kyocera-sane
26pkgver="$(_get_pkgver)"
27pkgrel=2
28pkgdesc='Kyocera sane scanner support package for many Kyocera printers.'
29arch=(
30 'i386'
31 'i486'
32 'i586'
33 'i686'
34 'x86_64'
35)
36url='https://www.kyocera.com/'
37license=('LicenseRef-proprietary')
38depends=(
39 'freeimage'
40 'gcc-libs'
41 'glibc'
42 'libtiff5'
43 'libusb'
44 'libjpeg.so'
45 'openssl-1.1'
46 'sane'
47)
48makedepends=('libjpeg-turbo')
49source=(
50 "${pkgname}-${pkgver}_SANE-Driver.zip::${_upstreamsourcedownloadpath}/${_upstreamsourcefilename}"
51 'README.txt'
52)
53sha256sums=(
54 '3076b7ae5e48564568ab7c660da3c77d6059b3fe96056f4df2a38544b579f8ab'
55 '945f922065e8278d2ec6e0c1e8ce6851834359cd02ff85534fa3d7baccec6ffe'
56)
57
58prepare() {
59 cd "${srcdir}"
60 mkdir -p build
61 local _debarch
62 case "${CARCH}" in
63 'i386'|'i486'|'i586'|'i686')
64 _debarch=i386
65 ;;
66 'x86_64')
67 _debarch=amd64
68 ;;
69 esac
70 bsdtar xvf "${pkgname}_${pkgver}_${_debarch}.deb"
71 bsdtar xvf "${srcdir}/data.tar.xz" -C "${srcdir}/build"
72}
73
74build() {
75 cd "${srcdir}/build"
76
77 # From .deb postinst
78 install -dvm755 "etc/sane.d/dll.d"
79 touch "etc/sane.d/dll.d/kyocera.conf"
80 printf '%s\n' 'kyocera' >> "etc/sane.d/dll.d/kyocera.conf"
81 printf '%s\n' 'kyocera_gdi_a3' >> "etc/sane.d/dll.d/kyocera.conf"
82 printf '%s\n' 'kyocera_wc3' >> "etc/sane.d/dll.d/kyocera.conf"
83 printf '%s\n' 'kyocera_wc3_usb' >> "etc/sane.d/dll.d/kyocera.conf"
84
85 chmod 644 "etc/sane.d"/*.conf
86 chmod 644 "etc/sane.d/dll.d"/*.conf
87
88 # Move UDEV rule do documentation, since it creates overly persmissive permissions.
89 mv -v "etc/udev/rules.d/40-scanner-permissions.rules" "usr/share/doc/${pkgname}"/
90 chmod 644 "usr/share/doc/${pkgname}/40-scanner-permissions.rules"
91 rmdir -v "etc/udev/rules.d"
92
93 # Move the license into place.
94 install -Dvm644 "usr/share/doc/${pkgname}/copyright" "usr/share/licenses/${pkgname}/COPYRIGHT"
95 rm "usr/share/doc/${pkgname}/copyright"
96
97 # Clean unnecessary files.
98 case "${CARCH}" in
99 'i386'|'i486'|'i586'|'i686')
100 rm -r "usr/lib/i386-linux-gnu"
101 ;;
102 'x86_64')
103 rm -r "usr/lib/x86_64-linux-gnu"
104 ;;
105 esac
106 rm -r "usr/local"
107}
108
109package() {
110 cd "${srcdir}/build"
111
112 # Move files into place
113 cp -rv * "${pkgdir}"/
114
115 install -Dvm644 -t "${pkgdir}/usr/share/doc/${pkgname}" "${srcdir}/README.txt"
116}
117

Changes since previous scan

--- PKGBUILD @ 2026-06-19 22:34
+++ PKGBUILD @ 2026-08-03 00:08
@@ -18,13 +18,13 @@
;;
esac
printf '%s\n' " >> Getting upstream software version for architecture '${CARCH}' ..." > /dev/stderr
- _ver="$(curl -L "${_upstreamlistingurl}" 2>/dev/null| grep -E "SANE Driver \([0-9\.]+\)" | head -n1 | sed -E 's|^.*SANE Driver \(([0-9.]+)\).*$|\1|')"
+ _ver="$(curl -L "${_upstreamlistingurl}" 2>/dev/null| grep --binary-files=text -E "SANE Driver \([0-9\.]+\)" | head -n1 | sed -E 's|^.*SANE Driver \(([0-9.]+)\).*$|\1|')"
printf '%s' "${_ver}"
}
pkgname=kyocera-sane
pkgver="$(_get_pkgver)"
-pkgrel=1
+pkgrel=2
pkgdesc='Kyocera sane scanner support package for many Kyocera printers.'
arch=(
'i386'
@@ -41,11 +41,11 @@
'glibc'
'libtiff5'
'libusb'
- 'libjpeg'
+ 'libjpeg.so'
'openssl-1.1'
'sane'
)
-makedepends=()
+makedepends=('libjpeg-turbo')
source=(
"${pkgname}-${pkgver}_SANE-Driver.zip::${_upstreamsourcedownloadpath}/${_upstreamsourcefilename}"
'README.txt'

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 21:12:02 MEDIUM 1
2026-06-19 22:34:54 CLEAN 0

Report a package

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

0 / 4000
Your suggestion