gaomontablet-m5-driver

LOW
maintainer onez3r0 0 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The package downloads the official driver source from the vendor's domain (gaomon.cn), which is plausible and expected; the non-whitelisted host is the vendor's own, and the checksums are verified, making it a legitimate build of vendor-provided software with no evidence of remote code execution or supply-chain compromise.

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-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads the official driver source from the vendor's domain (gaomon.cn), which is plausible and expected; the non-whitelisted host is the vendor's own, and the checksums are verified, making it a legitimate build of vendor-provided software with no evidence of remote code execution or supply-chain compromise.

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.49
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=('dfb157de665818eecb786b45bacc8bf6b737484ef240567c92a77a993bfe358b'
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-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

Report a package

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

0 / 4000
Your suggestion