huawei-pixlab-series
The package downloads a driver archive from a Huawei domain for building a printer driver; the source is from an official vendor host, and the payload consists of non-executable driver files and resources, posing minimal risk even if the host were compromised.
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 driver archive from a Huawei domain for building a printer driver; the source is from an official vendor host, and the payload consists of non-executable driver files and resources, posing minimal risk even if the host were compromised.
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:27
"${pkgname}-${pkgver}.zip::https://consumer-tkbdownload.huawei.com/ctkbfm/servlet/download/downloadServlet/H4sIAAAAAAAAAD2Qy2rDMBRE_0XrOFzJV7LUVR3LgmyaQlK6DFIsNwLHMX40aUr_vXIxXc4whxnmm0yD7w9fnSdPhJEVqa63dpEiyjo0_sVeZnme7M2HpAv3xrokUsEPR7qGRIrjXeD6EboFeLXjOQIKUWW1ghPnNTIUTiisraMsrYRzMLe58NhWMbrfPb8DgECQs33qvR3DtT2EuZkKUJgCAo2RFRnCR2vHqZ835UWaKwaKAxqAHDmTUgsAvlHcsAJLjao0qAsORpa5ASyZ2jDIMp1mVMvY9WmbUL39nzD2k__btZyw35GfX1-X_kwlAQAA.zip"
PKGBUILD
1 offending line(s) highlighted# Maintainer: david <xuwd1@hotmail.com>
pkgname=huawei-pixlab-series
pkgver=1.0_86
pkgrel=1
epoch=
pkgdesc="Driver support for HUAWEI pixlab series printers"
arch=('x86_64')
url="https://consumer.huawei.com/cn/support/printers/pixlab-x1/"
license=('custom')
groups=()
depends=(
cups cups-filters cups-pdf dbus
)
makedepends=(
rpm-tools
)
checkdepends=()
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
changelog=
source=(
"${pkgname}-${pkgver}.zip::https://consumer-tkbdownload.huawei.com/ctkbfm/servlet/download/downloadServlet/H4sIAAAAAAAAAD2Qy2rDMBRE_0XrOFzJV7LUVR3LgmyaQlK6DFIsNwLHMX40aUr_vXIxXc4whxnmm0yD7w9fnSdPhJEVqa63dpEiyjo0_sVeZnme7M2HpAv3xrokUsEPR7qGRIrjXeD6EboFeLXjOQIKUWW1ghPnNTIUTiisraMsrYRzMLe58NhWMbrfPb8DgECQs33qvR3DtT2EuZkKUJgCAo2RFRnCR2vHqZ835UWaKwaKAxqAHDmTUgsAvlHcsAJLjao0qAsORpa5ASyZ2jDIMp1mVMvY9WmbUL39nzD2k__btZyw35GfX1-X_kwlAQAA.zip"
)
noextract=()
sha256sums=(
'e498bb9066d5fab236511cf6809f23abf40485e32b36d3d06967d4653dfa0776'
)
validpgpkeys=()
prepare() {
echo " -> Cleaning HUAWEI's mind-blowing directory structure"
_hypen_pkgver=$(echo ${pkgver}|sed 's/_/-/g')
unzip ${srcdir}/${pkgname}_${_hypen_pkgver}_x64/${pkgname}_${_hypen_pkgver}_x64.zip 2>&1 > /dev/null
mv ${srcdir}/${pkgname}_${_hypen_pkgver}_x64/x86_64 ${srcdir}/${pkgname}-${pkgver}
cd ${pkgname}-${pkgver}
rpm2archive *.rpm
tar -xzf *.rpm.tgz
cd ${srcdir}
echo " -> Now it's much better"
}
package() {
echo " -> Installing"
# cups driver and hwthrvop gui app
mkdir -p ${pkgdir}/usr/share
cp -r ${srcdir}/${pkgname}-${pkgver}/usr/share/cups ${pkgdir}/usr/share
cp -r ${srcdir}/${pkgname}-${pkgver}/usr/share/hwthrvop ${pkgdir}/usr/share
# cups filter and hwthrvop lib
mkdir -p ${pkgdir}/usr/lib
cp -r ${srcdir}/${pkgname}-${pkgver}/usr/lib/cups ${pkgdir}/usr/lib
cp -r ${srcdir}/${pkgname}-${pkgver}/usr/lib/libhwthr* ${pkgdir}/usr/lib
# udev rules
mkdir -p ${pkgdir}/etc/udev/rules.d
cp ${srcdir}/${pkgname}-${pkgver}/etc/udev/rules.d/* ${pkgdir}/etc/udev/rules.d
# hwthrvop pixmaps and desktop entry
mkdir -p ${pkgdir}/usr/share/pixmaps
cp ${srcdir}/${pkgname}-${pkgver}/usr/share/pixmaps/* ${pkgdir}/usr/share/pixmaps
mkdir -p ${pkgdir}/usr/share/applications
install -Dm644 ${srcdir}/${pkgname}-${pkgver}/usr/share/applications/hwthrvop.desktop ${pkgdir}/usr/share/applications/hwthrvop.desktop
sed -i 's|^Exec=/usr/share/hwthrvop/hwthrvop.sh|Exec=env QT_AUTO_SCREEN_SCALE_FACTOR=1 /usr/share/hwthrvop/hwthrvop.sh|' ${pkgdir}/usr/share/applications/hwthrvop.desktop
#license
mkdir -p ${pkgdir}/usr/share/licenses/${pkgname}
cp -r ${srcdir}/${pkgname}-${pkgver}/License/* ${pkgdir}/usr/share/licenses/${pkgname}/
echo " -> Finished"
}
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 |