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>
2
pkgname=gaomontablet-m5-driver
3
pkgver=16.0.0.37
4
pkgrel=1
5
pkgdesc="Official Gaomon Tablet Linux Driver (M5 V2)"
6
arch=('x86_64')
7
url="https://www.gaomon.cn/"
8
license=('0BSD' 'LGPL')
9
depends=('xdotool' 'libx11' 'libxext' 'libxtst')
10
options=('!strip')
11
install="${pkgname}.install"
12
13
# add UA and Referer in order to download Official Driver
14
DLAGENTS=('https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -A Mozilla/5.0 -e https://www.gaomon.cn/download -o %o %u')
15
16
source=("https://driver.gaomon.cn/download/Driver/Linux/GaomonTablet_LinuxDriver_v${pkgver}.${CARCH}.tar.xz"
17
"LICENSE")
18
sha256sums=('d3db3cad152049e6913ae744f497686a8c4b61ef91fe664c84ffe55ebc96bd01'
19
'150b7f86555bd68e638ababa1895ba2e5caed4efaa380235b00db6f5b59ac1d9')
20
21
package() {
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).
68
Z /usr/lib/gaomontablet/res 0777 root root -
69
z /usr/lib/gaomontablet/log.conf 0666 root root -
70
EOF
71
}
72
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 |