gaomontablet-m5-driver

maintainer onez3r0 · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package downloads a driver from the official vendor's domain (gaomon.cn) using a non-whitelisted subdomain, but the source is plausibly official and the build installs only verified files without executing remote code.

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-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a driver from the official vendor's domain (gaomon.cn) using a non-whitelisted subdomain, but the source is plausibly official and the build installs only verified files without executing remote code.

1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM source=() URL on a non-standard host 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:16 source=("https://driver.gaomon.cn/download/Driver/Linux/GaomonTablet_LinuxDriver_v${pkgver}.${CARCH}.tar.xz"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: OneZ3r0 <onez3r0@outlook.com>
2pkgname=gaomontablet-m5-driver
3pkgver=16.0.0.37
4pkgrel=1
5pkgdesc="Official Gaomon Tablet Linux Driver (M5 V2)"
6arch=('x86_64')
7url="https://www.gaomon.cn/"
8license=('0BSD' 'LGPL')
9depends=('xdotool' 'libx11' 'libxext' 'libxtst')
10options=('!strip')
11install="${pkgname}.install"
12
13# add UA and Referer in order to download Official Driver
14DLAGENTS=('https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -A Mozilla/5.0 -e https://www.gaomon.cn/download -o %o %u')
15
16source=("https://driver.gaomon.cn/download/Driver/Linux/GaomonTablet_LinuxDriver_v${pkgver}.${CARCH}.tar.xz"
17 "LICENSE")
18sha256sums=('d3db3cad152049e6913ae744f497686a8c4b61ef91fe664c84ffe55ebc96bd01'
19 '150b7f86555bd68e638ababa1895ba2e5caed4efaa380235b00db6f5b59ac1d9')
20
21package() {
22 cd "${srcdir}"
23
24 # Install main application files
25 install -d "${pkgdir}/usr/lib/gaomontablet"
26 cp -r gaomon/gaomontablet/* "${pkgdir}/usr/lib/gaomontablet/"
27
28 # Remove bundled xdotool/libxdo — use system packages via depends instead
29 rm -rf "${pkgdir}/usr/lib/gaomontablet/xdotool"
30
31 # Runtime dot-files (.HuionCore.pid, .DriverUI.pid, .huion.log) are not
32 # copied here: bash's * glob excludes dot-files, so they never enter pkgdir.
33 # They are created at runtime by the driver in /usr/lib/gaomontablet/.
34
35 # Set executable permissions
36 chmod 755 "${pkgdir}/usr/lib/gaomontablet/"*.sh
37 chmod 755 "${pkgdir}/usr/lib/gaomontablet/huionCore"
38 chmod 755 "${pkgdir}/usr/lib/gaomontablet/gaomontablet"
39
40 # Udev rules
41 install -Dm644 gaomon/gaomontablet/res/rule/20-gaomon.rules \
42 "${pkgdir}/usr/lib/udev/rules.d/20-gaomon.rules"
43
44 # Desktop entry — application menu only, no autostart
45 install -Dm644 gaomon/xdg/autostart/gaomontablet.desktop \
46 "${pkgdir}/usr/share/applications/gaomontablet.desktop"
47 # Replace absolute icon path with a theme-friendly icon name
48 sed -i 's|^Icon=.*|Icon=gaomontablet|' \
49 "${pkgdir}/usr/share/applications/gaomontablet.desktop"
50
51 # Icon
52 install -Dm644 gaomon/icon/gaomontablet.png \
53 "${pkgdir}/usr/share/pixmaps/gaomontablet.png"
54
55 # License
56 install -Dm644 "${srcdir}/LICENSE" \
57 "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
58 install -Dm644 gaomon/gaomontablet/LGPL \
59 "${pkgdir}/usr/share/licenses/${pkgname}/LGPL"
60
61 # tmpfiles.d: restore writable permissions on config/log files at each boot.
62 # The driver runs as a regular user and must write to files under /usr/lib.
63 # Using tmpfiles.d is the standard Arch approach for closed-source drivers.
64 install -Dm644 /dev/stdin \
65 "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf" << 'EOF'
66# Gaomon tablet driver — allow non-root driver process to write configuration.
67# Z adjusts permissions recursively (directory + all contents); z is non-recursive (single path).
68Z /usr/lib/gaomontablet/res 0777 root root -
69z /usr/lib/gaomontablet/log.conf 0666 root root -
70EOF
71}
72

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 00:17:08 LOW 2
2026-07-18 00:14:48 LOW 2
2026-07-17 00:06:16 LOW 2
2026-07-16 00:05:41 LOW 2
2026-07-15 00:09:25 LOW 2

Report a package

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

0 / 4000
Your suggestion