qlcplus4-bin
The package downloads a prebuilt .deb from the project's official site, which is an unverifiable binary artifact; while the host is plausibly official, the lack of source build and reliance on a precompiled package from a non-whitelisted host creates a supply-chain risk if the download were swapped.
Triggered rules
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
source=("qlcplus-${pkgver}.deb::https://www.qlcplus.org/downloads/${pkgver}/qlcplus_${pkgver}_amd64.deb")
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 90%): The package downloads a prebuilt .deb from the project's official site, which is an unverifiable binary artifact; while the host is plausibly official, the lack of source build and reliance on a precompiled package from a non-whitelisted host creates a supply-chain risk if the download were swapped.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Caitlyn Williams <caitlyn dot williams at proton dot me>
pkgname=qlcplus4-bin
pkgver=4.14.4
pkgrel=2
pkgdesc="Open-source lighting control for DMX, Art-Net, sACN and more."
arch=('x86_64')
url="https://www.qlcplus.org"
license=("Apache-2.0")
depends=(
'fftw'
'libftdi'
'libmad'
'libsndfile'
'qt6-3d'
'qt6-multimedia'
'qt6-serialport'
'qt6-svg'
'qt6-websockets'
)
optdepends=(
'ola: Open Lighting Architecture plugin'
)
provides=('qlcplus' 'qlcplus4')
conflicts=('qlcplus')
options=('strip' '!libtool' '!staticlibs' '!emptydirs')
source=("qlcplus-${pkgver}.deb::https://www.qlcplus.org/downloads/${pkgver}/qlcplus_${pkgver}_amd64.deb")
package() {
tar -xvf ${srcdir}/data.tar.zst -C ${pkgdir}
mv -vn ${pkgdir}/usr/lib/x86_64-linux-gnu/* ${pkgdir}/usr/lib/ # move libraries into path
install -d -m755 ${pkgdir}/usr/lib/udev/rules.d/
mv -vn ${pkgdir}/etc/udev/rules.d/* ${pkgdir}/usr/lib/udev/rules.d/ # move udev rules into location for standard hook
}
sha256sums=('2a1145eb38a7393076c5e56fa8350e9c9f6109571f82810738567c199fd7c83d')
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |
| 2026-09-13 00:19:54 | Medium | 2 |
| 2026-09-12 00:25:17 | Medium | 2 |
| 2026-09-11 00:19:22 | Medium | 2 |
| 2026-09-10 00:22:44 | Medium | 2 |
| 2026-09-09 00:04:09 | Medium | 2 |
| 2026-09-08 00:18:08 | Medium | 2 |
| 2026-09-07 00:30:15 | Medium | 2 |
| 2026-09-06 00:17:06 | Medium | 2 |
| 2026-09-05 00:16:27 | Medium | 2 |
| 2026-09-04 00:03:13 | Medium | 2 |
| 2026-09-03 00:15:47 | Medium | 2 |
| 2026-09-02 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |
| 2026-08-30 00:04:14 | Medium | 2 |
| 2026-08-29 00:29:17 | Medium | 2 |