das-keyboard-q
Triggered rules
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=("$_pkgsrc.$_pkgext"::"https://das-keyboard-q-releases.s3.us-east-2.amazonaws.com/das-keyboard-q/linux/x64/das-keyboard-q_${pkgver}_amd64.$_pkgext")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The package downloads a prebuilt binary .deb from an AWS S3 bucket (das-keyboard-q-releases.s3.us-east-2.amazonaws.com) rather than from the official daskeyboard.io domain. While this S3 bucket appears to be the vendor's own release bucket (the bucket name 'das-keyboard-q-releases' and path structure suggest official use), it is not the canonical project website and S3 buckets can be misconfigured or taken over. A sha256 checksum is present, which mitigates substitution risk for the specific version, but the binary is an Electron-based application (evidenced by the dependency list: libdrm, mesa, nss, nspr, at-spi2-core, etc.) that executes with significant privileges and udev rules. The PKGBUILD does take reasonable precautions: it disables shell scripts bundled in the package and installs a placeholder udev rules file. However, the core concern remains: this is an unverified prebuilt binary from a non-canonical host with no GPG signature verification, only a hash. The risk is real but not clearly malicious — consistent with a medium rating.
PKGBUILD
1 offending line(s) highlighted# Maintainer:
_pkgname="das-keyboard-q"
pkgname="$_pkgname"
pkgver=4.3.0
pkgrel=1
pkgdesc="Software for Das Keyboard 5Q, 5Qs, 4Q"
url="https://www.daskeyboard.io/get-started/software/"
license=('LicenseRef-Unknown')
arch=('x86_64')
options=('!debug')
_pkgsrc="$_pkgname-$pkgver"
_pkgext="deb"
source=("$_pkgsrc.$_pkgext"::"https://das-keyboard-q-releases.s3.us-east-2.amazonaws.com/das-keyboard-q/linux/x64/das-keyboard-q_${pkgver}_amd64.$_pkgext")
sha256sums=('1a065d5ebd751d26ef96a957e051274fba0bb10df43596b1edd70deafbacd319')
package() {
depends+=(
alsa-lib
at-spi2-core
bash
cairo
dbus
expat
glib2
gtk3
libcups
libdrm
libx11
libxcb
libxcomposite
libxdamage
libxext
libxfixes
libxkbcommon
libxrandr
mesa
nspr
nss
pango
)
tar xf data.tar.zst -C "$pkgdir"
install -Dm644 "$pkgdir/usr/lib/das-keyboard-q/resources/extra_resources/scripts/70-daskeyboard.rules" -t "$pkgdir/usr/lib/udev/rules.d/"
# unwanted
rm -rf "$pkgdir"/usr/share/{doc,lintian}
# disable scripts
for i in "$pkgdir/usr/lib/das-keyboard-q/resources/extra_resources/scripts"/*.sh; do
install -Dm755 /dev/stdin "$i" << END
#!/usr/bin/env sh
# This script was disabled during packaging.
# Notify the package maintainers if there are any problems.
END
done
# may still be needed, based on contents of createRules.sh
install -Dm644 /dev/stdin "$pkgdir"/etc/udev/rules.d/99-daskeyboard.rules << END
# Do not edit this file. It will be overwritten when aur/das-keyboard-q is upgraded.
#
# The purpose of this file is to prevent das-keyboard-q from creating incorrect rules.
# The real rules are at /usr/lib/udev/rules.d/70-daskeyboard.rules
END
# permissions, remove sticky bit
chmod -R u+rwX,go+rX,go-ws,u-s "$pkgdir/"
}
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 |