gaze-kde-bin
The package downloads a prebuilt Arch package from a non-standard, non-whitelisted host (packages.gundulabs.com) which is not a major official repository; this creates a supply-chain risk if the host is compromised or maliciously redirected, as the binary payload is not built locally and its origin is unverifiable.
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:19
source=("gaze-kde-0.3.3-1-x86_64.pkg.tar.zst::https://packages.gundulabs.com/arch/packages/gaze-kde-0.3.3-1-x86_64.pkg.tar.zst")
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package downloads a prebuilt Arch package from a non-standard, non-whitelisted host (packages.gundulabs.com) which is not a major official repository; this creates a supply-chain risk if the host is compromised or maliciously redirected, as the binary payload is not built locally and its origin is unverifiable.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Gundu Labs <maintainers@gundulabs.com>
# Auto-generated by the packages publish script (build_aur_repo.sh). Do not edit manually.
pkgname=gaze-kde-bin
pkgver=0.3.3
pkgrel=1
pkgdesc="KDE Plasma lock screen and System Settings integration for Gaze"
arch=('x86_64' )
url="https://gaze.gundulabs.com"
license=('GPL-3.0-or-later' )
depends=()
optdepends=()
# This wrapper installs the same files under the same names as gaze-kde, so it has
# to claim that name. Without it an AUR helper treats any other package called
# gaze-kde as an upgrade candidate and silently replaces this one.
provides=('gaze-kde=0.3.3-1')
conflicts=('gaze-kde')
backup=()
install='gaze-kde-bin.install'
source=("gaze-kde-0.3.3-1-x86_64.pkg.tar.zst::https://packages.gundulabs.com/arch/packages/gaze-kde-0.3.3-1-x86_64.pkg.tar.zst")
sha256sums=('e83e47cd7779118cc5df72e1ca231b833e89ff95ee8b017a8f1077e5dd67846e')
package() {
bsdtar -xpf "$srcdir/gaze-kde-0.3.3-1-x86_64.pkg.tar.zst" -C "$pkgdir"
# .PKGINFO/.MTREE/.INSTALL are pacman's metadata for the inner package and must not
# land in $pkgdir. The hooks .INSTALL carries are re-declared through install= above,
# which is the only way makepkg runs them for a wrapper package.
find "$pkgdir" -maxdepth 1 -type f -name '.*' -delete
}
Changes since previous scan
--- PKGBUILD @ 2026-09-20 00:25+++ PKGBUILD @ 2026-10-02 00:00@@ -1,7 +1,7 @@ # Maintainer: Gundu Labs <maintainers@gundulabs.com> # Auto-generated by the packages publish script (build_aur_repo.sh). Do not edit manually. pkgname=gaze-kde-bin-pkgver=0.3.2+pkgver=0.3.3 pkgrel=1 pkgdesc="KDE Plasma lock screen and System Settings integration for Gaze" arch=('x86_64' )@@ -12,15 +12,15 @@ # This wrapper installs the same files under the same names as gaze-kde, so it has # to claim that name. Without it an AUR helper treats any other package called # gaze-kde as an upgrade candidate and silently replaces this one.-provides=('gaze-kde=0.3.2-1')+provides=('gaze-kde=0.3.3-1') conflicts=('gaze-kde') backup=() install='gaze-kde-bin.install'-source=("gaze-kde-0.3.2-1-x86_64.pkg.tar.zst::https://packages.gundulabs.com/arch/packages/gaze-kde-0.3.2-1-x86_64.pkg.tar.zst")-sha256sums=('b4e4760a22f14125ac927da679570cf5a3a83690b570e4d7e1337a3399dfe8a1')+source=("gaze-kde-0.3.3-1-x86_64.pkg.tar.zst::https://packages.gundulabs.com/arch/packages/gaze-kde-0.3.3-1-x86_64.pkg.tar.zst")+sha256sums=('e83e47cd7779118cc5df72e1ca231b833e89ff95ee8b017a8f1077e5dd67846e') package() {- bsdtar -xpf "$srcdir/gaze-kde-0.3.2-1-x86_64.pkg.tar.zst" -C "$pkgdir"+ bsdtar -xpf "$srcdir/gaze-kde-0.3.3-1-x86_64.pkg.tar.zst" -C "$pkgdir" # .PKGINFO/.MTREE/.INSTALL are pacman's metadata for the inner package and must not # land in $pkgdir. The hooks .INSTALL carries are re-declared through install= above, # which is the only way makepkg runs them for a wrapper package.Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-02 00:00:32 | Medium | 2 |
| 2026-10-01 00:02:06 | Medium | 2 |
| 2026-09-30 00:20:07 | Medium | 2 |
| 2026-09-29 00:07:46 | Medium | 2 |
| 2026-09-28 00:28:32 | Medium | 2 |
| 2026-09-27 00:07:07 | Medium | 2 |
| 2026-09-26 00:12:15 | Medium | 2 |
| 2026-09-25 00:03:36 | Medium | 2 |
| 2026-09-24 00:24:14 | Medium | 2 |
| 2026-09-23 00:28:13 | Medium | 2 |
| 2026-09-22 00:15:14 | Medium | 2 |
| 2026-09-21 00:26:32 | Medium | 2 |
| 2026-09-20 15:33:19 | Medium | 2 |
| 2026-09-20 00:25:31 | Medium | 2 |
| 2026-09-19 00:25:36 | Medium | 2 |
| 2026-09-18 00:17:11 | Medium | 2 |
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |