keymasq

LOW
maintainer nyrda 0 votes scanned 2026-11-01 00:21:48.120785
View on AUR
Why flagged

The source is a tarball from the project's own domain (repo.keymasq.tools), which is plausibly official; building from project-owned infrastructure is normal for AUR packages, even if the host is not on a standard whitelist.

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 source is a tarball from the project's own domain (repo.keymasq.tools), which is plausibly official; building from project-owned infrastructure is normal for AUR packages, even if the host is not on a standard whitelist.

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:40 source=("$pkgname-$pkgver.tar.gz::https://repo.keymasq.tools/releases/keymasq-0.21.1.tar.gz")

PKGBUILD

1 offending line(s) highlighted
1# Generated by `python3 packaging/pacman/render.py`.
2# Do not edit this file directly; update `packaging/pacman/templates/`.
3
4# Maintainer: nyrda <nyrda@keymasq.tools>
5pkgname=keymasq
6pkgver=0.21.1
7pkgrel=1
8pkgdesc="Input remapper for keyboards, mice, and game controllers, with layered profiles and macros"
9arch=(
10 'any'
11)
12url="https://keymasq.tools"
13license=(
14 'MIT'
15)
16depends=(
17 'acl'
18 'slurp'
19 'python>=3.12'
20 'python-evdev>=1.6.0'
21 'python-tomli-w>=1.0.0'
22 'python-dbus-next>=0.2.3'
23 'python-uvloop'
24 'python-xlib>=0.33'
25 'python-gobject>=3.42.0'
26 'python-cairo'
27 'gtk4'
28 'libadwaita'
29 'libxkbcommon'
30 'polkit'
31 'systemd'
32)
33makedepends=(
34 'python-setuptools>=61.0'
35 'python-wheel'
36 'python-build'
37 'python-installer'
38)
39install="$pkgname.install"
40source=("$pkgname-$pkgver.tar.gz::https://repo.keymasq.tools/releases/keymasq-0.21.1.tar.gz")
41sha256sums=('562396e50032640e14eb6667414f327e6a3ac3745ac4f1ea9f67deb1db42b4f7')
42
43
44build() {
45 local build_root="$srcdir/$pkgname-$pkgver"
46
47 rm -rf "$srcdir/python-dist"
48 mkdir -p "$srcdir/python-dist"
49
50 cd "$build_root"
51 python -m build --wheel --no-isolation --outdir "$srcdir/python-dist"
52}
53
54package() {
55 local build_root="$srcdir/$pkgname-$pkgver"
56
57 cd "$build_root"
58
59 python -m installer --destdir="$pkgdir" "$srcdir"/python-dist/*.whl
60
61 install -Dm644 "assets/tools.keymasq.keymasq.desktop" \
62 "$pkgdir/usr/share/applications/tools.keymasq.keymasq.desktop"
63 install -Dm644 "assets/tools.keymasq.keymasq.metainfo.xml" \
64 "$pkgdir/usr/share/metainfo/tools.keymasq.keymasq.metainfo.xml"
65 install -Dm644 "assets/tools.keymasq.keymasq.svg" \
66 "$pkgdir/usr/share/icons/hicolor/scalable/apps/tools.keymasq.keymasq.svg"
67 local icon
68 local size
69 for icon in assets/icons/tools.keymasq.keymasq-*.png; do
70 size="${icon##*-}"
71 size="${size%.png}"
72 install -Dm644 "$icon" \
73 "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/tools.keymasq.keymasq.png"
74 done
75
76 install -Dm644 "systemd/keymasqd.service" \
77 "$pkgdir/usr/lib/systemd/system/keymasqd.service"
78 install -Dm644 "systemd/keymasq-hardware@.service" \
79 "$pkgdir/usr/lib/systemd/system/keymasq-hardware@.service"
80 install -Dm644 "systemd/keymasq-session.service" \
81 "$pkgdir/usr/lib/systemd/user/keymasq-session.service"
82
83 install -Dm644 "sysusers.d/keymasq.conf" \
84 "$pkgdir/usr/lib/sysusers.d/keymasq.conf"
85 install -Dm644 "tmpfiles.d/keymasq.conf" \
86 "$pkgdir/usr/lib/tmpfiles.d/keymasq.conf"
87
88 for rule in \
89 91-keymasq-acl.rules \
90 99-keymasq-hide-grabbed.rules; do
91 install -Dm644 "udev/$rule" "$pkgdir/usr/lib/udev/rules.d/$rule"
92 done
93
94 install -Dm644 "packaging/pacman/keymasq-prepare-removal.hook" \
95 "$pkgdir/usr/share/libalpm/hooks/keymasq-prepare-removal.hook"
96
97 install -Dm644 "polkit/49-keymasq-hardware.rules" \
98 "$pkgdir/usr/share/polkit-1/rules.d/49-keymasq-hardware.rules"
99
100 install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
101 install -Dm644 "README.md" "$pkgdir/usr/share/doc/$pkgname/README.md"
102 install -Dm644 "examples/security.toml" \
103 "$pkgdir/usr/share/doc/$pkgname/security.toml"
104
105 install -d "$pkgdir/usr/share/gnome-shell/extensions/gnome-bridge@keymasq.tools"
106 cp -a "gnome-extension/gnome-bridge@keymasq.tools/." \
107 "$pkgdir/usr/share/gnome-shell/extensions/gnome-bridge@keymasq.tools/"
108
109}
110

Changes since previous scan

--- PKGBUILD @ 2026-10-30 00:29
+++ PKGBUILD @ 2026-11-01 00:21
@@ -3,7 +3,7 @@
# Maintainer: nyrda <nyrda@keymasq.tools>
pkgname=keymasq
-pkgver=0.21.0
+pkgver=0.21.1
pkgrel=1
pkgdesc="Input remapper for keyboards, mice, and game controllers, with layered profiles and macros"
arch=(
@@ -37,8 +37,8 @@
'python-installer'
)
install="$pkgname.install"
-source=("$pkgname-$pkgver.tar.gz::https://repo.keymasq.tools/releases/keymasq-0.21.0.tar.gz")
-sha256sums=('24365fdf55156f34c224816d7b26bcb89c0738685f7906167fdd9570be19dbde')
+source=("$pkgname-$pkgver.tar.gz::https://repo.keymasq.tools/releases/keymasq-0.21.1.tar.gz")
+sha256sums=('562396e50032640e14eb6667414f327e6a3ac3745ac4f1ea9f67deb1db42b4f7')
build() {

Scan history

Scanned at (UTC)SeverityRules
2026-11-01 00:21:48 Low 2
2026-10-31 00:07:41 Low 2
2026-10-30 19:57:05 Medium 1
2026-10-30 00:29:30 Low 2
2026-10-29 00:13:55 Low 2
2026-10-28 00:06:54 Low 2
2026-10-27 00:23:28 Low 2
2026-10-26 00:12:40 Low 2
2026-10-25 00:20:48 Low 2
2026-10-24 00:14:55 Low 2
2026-10-23 00:02:19 Low 2
2026-10-22 00:13:10 Low 2
2026-10-21 00:12:50 Low 2
2026-10-20 00:10:31 Low 2
2026-10-19 00:03:55 Low 2
2026-10-18 00:06:55 Low 2
2026-10-17 00:21:55 Low 2
2026-10-16 00:12:47 Low 2
2026-10-15 03:10:23 Medium 1
2026-10-15 00:28:05 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