huiontablet-frego
Triggered rules
external_download_not_in_source
curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.
-
PKGBUILD:23
curl -L -A "Mozilla/5.0" --referer "https://www.huion.cn/" \
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): The PKGBUILD downloads a prebuilt binary .deb from driver.huion.cn (Huion's official Chinese driver CDN) outside of the source=() array, meaning makepkg's integrity checking (checksums) is completely bypassed. The downloaded file contains compiled binaries (huionCore, huiontablet, multiple .so libraries) that are directly installed and executed on the user's system. While driver.huion.cn is Huion's legitimate official driver distribution host, the absence of any checksum verification means: (1) if the remote file changes, no warning is given; (2) a MITM or server compromise would silently deliver malicious binaries. The caching check `if [ ! -f ... ]` also means a previously downloaded malicious file would be reused without re-verification. This is a genuine supply-chain concern — not because the host is suspicious, but because executed binaries are installed with zero integrity verification. This is a real medium-severity issue, not a false positive.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Morrowdust <morrowdust@qq.com>
pkgname=huiontablet-frego
pkgver=15.0.0.C162
pkgrel=1
pkgdesc="Official Huion Tablet Frego Driver"
arch=('x86_64')
url="https://www.huion.com/download/"
license=('custom:LGPL')
depends=('libx11' 'libxext' 'libxrandr' 'libxtst' 'libxrender' 'libxkbcommon' 'libxcb' 'dbus' 'gcc-libs' 'xdotool')
options=('!strip' '!debug')
install=huiontablet-frego.install
_debname="HuionTablet_LinuxDriver_v${pkgver}.${arch}.deb"
_deburl="https://driver.huion.cn/Driver/L310_L610_GS1333/${_debname}"
prepare() {
cd "$srcdir"
# Download deb package with required User-Agent and Referer headers
if [ ! -f "$srcdir/${_debname}" ]; then
msg2 "Downloading ${_debname}..."
curl -L -A "Mozilla/5.0" --referer "https://www.huion.cn/" \
-f -o "$srcdir/${_debname}" "${_deburl}"
fi
# Extract the deb package
if [ -f "$srcdir/${_debname}" ]; then
msg2 "Extracting deb package..."
bsdtar -xf "$srcdir/${_debname}" 2>/dev/null || true
# Extract the data tarball
for tarball in data.tar.xz data.tar.gz data.tar.bz2; do
if [ -f "$tarball" ]; then
msg2 "Extracting $tarball..."
bsdtar -xf "$tarball"
break
fi
done
fi
}
package() {
local src_data="$srcdir"
# Verify data directory exists
if [ ! -d "$src_data/usr/lib/huiontablet" ]; then
error "Huiontablet directory not found. Deb package extraction may have failed."
return 1
fi
# Install main application directory
install -dm755 "$pkgdir/usr/lib/huiontablet"
cp -a "$src_data/usr/lib/huiontablet/"* "$pkgdir/usr/lib/huiontablet/"
# Remove stale runtime PID and log files from the deb package
rm -f "$pkgdir/usr/lib/huiontablet/.DriverUI.pid"
rm -f "$pkgdir/usr/lib/huiontablet/.HuionCore.pid"
rm -f "$pkgdir/usr/lib/huiontablet/.huion.log"
# Set executable permissions on binaries and scripts
chmod 755 "$pkgdir/usr/lib/huiontablet/huionCore"
chmod 755 "$pkgdir/usr/lib/huiontablet/huiontablet"
chmod 755 "$pkgdir/usr/lib/huiontablet/huionCore.sh"
chmod 755 "$pkgdir/usr/lib/huiontablet/huiontablet.sh"
chmod 755 "$pkgdir/usr/lib/huiontablet/xdotool/xdotool"
# Set permissions on shared libraries
find "$pkgdir/usr/lib/huiontablet/libs" -type f -name "*.so*" -exec chmod 755 {} \;
find "$pkgdir/usr/lib/huiontablet/plugins" -type f -name "*.so" -exec chmod 755 {} \;
find "$pkgdir/usr/lib/huiontablet/qml" -type f -name "*.so" -exec chmod 755 {} \;
# Install udev rules
install -Dm644 "$src_data/usr/lib/udev/rules.d/20-huion.rules" \
"$pkgdir/usr/lib/udev/rules.d/20-huion.rules"
# Install desktop entry
install -Dm644 "$src_data/usr/share/applications/huiontablet.desktop" \
"$pkgdir/usr/share/applications/huiontablet.desktop"
# Install icon
install -Dm644 "$src_data/usr/share/icons/huiontablet.png" \
"$pkgdir/usr/share/icons/huiontablet.png"
# Install autostart entry
install -Dm644 "$src_data/etc/xdg/autostart/huiontablet.desktop" \
"$pkgdir/etc/xdg/autostart/huiontablet.desktop"
# Install license
install -Dm644 "$src_data/usr/lib/huiontablet/LGPL" \
"$pkgdir/usr/share/licenses/huiontablet/LGPL"
}
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 |