activdriver
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:18
source=("http://activsoftware.co.uk/linux/repos/driver/ubuntu/pool/oss/a/$pkgname/${pkgname}_$pkgver-0~Ubuntu~1804_amd64.deb"
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The package downloads a prebuilt .deb from activsoftware.co.uk, which is not Promethean's primary domain (prometheanworld.com). However, activsoftware.co.uk appears to be a long-standing Promethean-affiliated distribution mirror used by multiple AUR packages for Promethean products (activinspire, activtools, activdriver), suggesting it is a legitimate vendor-operated host rather than a random third-party. The .deb contains compiled kernel module source and a binary (activlc) that are built and installed. The MD5 checksum provides minimal integrity protection. The real concern is that activsoftware.co.uk is not the canonical vendor domain, so if it were compromised or the package swapped, malicious kernel code or binaries could be executed. This is a genuine supply-chain concern (non-primary vendor host serving compiled/executable content including kernel modules), keeping it at medium rather than clean, though it is likely a legitimate vendor mirror.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Malstrond <malstrond@gmail.com>
# Contributor: Jose Riha <jose1711@gmail.com>
# Contributor: Bazon <bazonbloch@arcor.de>
# Contributor: Christian Bühler <christian@cbuehler.de>
# Contributor: Zsolt Udvari <udvzsolt@gmail.com>
pkgname=activdriver
pkgver=5.18.19
pkgrel=0
pkgdesc="Drivers for Promethean hardware"
arch=('x86_64')
url="https://support.prometheanworld.com/product/activdriver"
license=('unknown')
makedepends=('linux-headers>=5.0.1.arch1-1')
optdepends=('activinspire: Prometheans presentation software'
'activtools: Tools for Promethean hardware, e.g. calibration or systray monitor')
install=$pkgname.install
source=("http://activsoftware.co.uk/linux/repos/driver/ubuntu/pool/oss/a/$pkgname/${pkgname}_$pkgver-0~Ubuntu~1804_amd64.deb"
"activdriver.install")
md5sums=('4200e2d39c40b817e1fe3768f19b4cb3'
'8a8a6ddd6741a80a5839593ed385cd9a')
prepare() {
# Extract the source
bsdtar -xf data.tar.xz
# Patch the makefile of activlc so it doesn't try to get its includes from an absoulte path outside the build chroot
sed -i "s%KERN_INC = /usr/src/promethean%KERN_INC = ..%" usr/src/promethean/activlc/Makefile
# Patch promethean.sh to not use absolute paths to /usr/local, which isn't used in Arch
sed -i s%/usr/local/bin/%%g usr/bin/promethean.sh
# Patch usbpromethean.c to be compatible with this kernel change: https://lkml.org/lkml/2019/1/4/418
# If are building on kernel versions <=4.19, remove these 2 lines
sed -i s%VERIFY_WRITE,%%g usr/src/promethean/kernel/usbpromethean.c
sed -i s%VERIFY_READ,%%g usr/src/promethean/kernel/usbpromethean.c
# Remove files relating to HAL, which was deprecated by Arch almost a decade ago
rm -r usr/share/hal
# The driver includes two duplicate X configuration files and this path isn't used in Arch
rm -r usr/lib/X11/xorg.conf.d
}
build() {
echo " "
echo "Attention!"
echo "This build will fail if run in a directory with space(s) in its path due to an error in the upstream makefile."
echo " "
make -C /lib/modules/$(uname -r)/build M="$srcdir"/usr/src/promethean/kernel modules
BUILD=release make -C usr/src/promethean/activlc
}
package() {
mkdir -p "$pkgdir"/usr
cp -r etc lib "$pkgdir"
cp -r usr/bin usr/lib usr/share "$pkgdir"/usr
install -D usr/src/promethean/activlc/release/activlc "$pkgdir"/usr/bin/activlc
# Set the module directory and install module
_moddir="/usr/lib/modules/$(</usr/src/linux/version)/extramodules/kernel/drivers/input/tablet"
install -m644 -D usr/src/promethean/kernel/promethean.ko "$pkgdir${_moddir}"/promethean.ko
find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
# Use /usr/lib instead of /lib to match Arch packaging standards
mv "${pkgdir}"/lib/* "${pkgdir}"/usr/lib/
rmdir "${pkgdir}"/lib
# Load module on boot.
# If you don't want this, delete the following 2 lines.
mkdir -p "$pkgdir"/etc/modules-load.d
echo "promethean" > "$pkgdir"/etc/modules-load.d/promethean.conf
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |