gnome-mode-shift-git
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (anthropic/claude-sonnet-4.6) reviewed the full PKGBUILD and judged it LOW (confidence 70%): Package builds from its own GitHub repo, installs systemd user units and shell scripts to standard system paths, and the .install hook only prints informational messages; the flagged 'privileged install' is just placing a NetworkManager dispatcher script (normal for such utilities) with no actual sudo/setuid/self-update logic present.
1 higher static finding superseded - not the current verdict (shown for transparency)
privileged_install
The package grants elevated privileges or installs an update path outside pacman: a /etc/sudoers.d rule (often passwordless), a setuid/setgid binary, or a self-update script/service that can fetch and run future code with no checksum verification. The initial install may be verified, but the ongoing privilege + update surface is a real supply-chain / privilege-escalation risk.
-
PKGBUILD:30
install -Dm644 $srcdir/$pkgname/app/home/config/systemd/user/auto-update-gnome-theme.path "$pkgdir/usr/lib/systemd/user/auto-update-gnome-theme.path" -
PKGBUILD:31
install -Dm644 $srcdir/$pkgname/app/home/config/systemd/user/auto-update-gnome-theme.service "$pkgdir/usr/lib/systemd/user/auto-update-gnome-theme.service" -
PKGBUILD:39
install -Dm755 $srcdir/$pkgname/app/home/local/bin/auto-update-gnome-theme.sh "$pkgdir/usr/lib/gnome-mode-shift/bin/auto-update-gnome-theme.sh" -
.install:4
echo -e "\`systemctl --user enable --now gnome-mode-shift.service gnome-mode-shift.timer auto-update-gnome-theme.path auto-update-gnome-theme.service stop-mode-shift-timer.service\`"
PKGBUILD
3 offending line(s) highlighted# Maintainer: Christopher McAdams <mca.christopher@gmail.com>
pkgname="gnome-mode-shift-git"
pkgver=r14.6d27b63
pkgrel=1
pkgdesc="::Rolling release:: A Small utility to switch the selected preferred mode."
arch=('any')
url="https://github.com/christophermca/gnome-mode-shift/"
license=('GPL-1.0-or-later')
makedepends=('git')
provides=('gnome-mode-shift.service' 'auto-update-gnome-theme.path' 'auto-update-gnome-theme.service' 'stop-mode-shift-timer.service')
conflicts=( 'alacritty-use-theme-with-redshift'
'alacritty-use-theme-with-redshift-git')
source=("$pkgname::git+https://github.com/christophermca/gnome-mode-shift.git/")
sha256sums=('SKIP')
depends=( 'bash'
'redshift')
pkgver() {
cd "$pkgname"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
}
package() {
cd "$pkgname"
# options and directives that can be overridden
pkgdesc="::Rolling release:: Changes gnomes perferred mode based on sunrise/sunset"
install=gnome-mode-shift-git.install
# systemd units
install -Dm644 $srcdir/$pkgname/app/home/config/systemd/user/auto-update-gnome-theme.path "$pkgdir/usr/lib/systemd/user/auto-update-gnome-theme.path"
install -Dm644 $srcdir/$pkgname/app/home/config/systemd/user/auto-update-gnome-theme.service "$pkgdir/usr/lib/systemd/user/auto-update-gnome-theme.service"
install -Dm644 $srcdir/$pkgname/app/home/config/systemd/user/gnome-mode-shift.service "$pkgdir/usr/lib/systemd/user/gnome-mode-shift.service"
install -Dm644 $srcdir/$pkgname/app/home/config/systemd/user/gnome-mode-shift.timer "$pkgdir/usr/lib/systemd/user/gnome-mode-shift.timer"
install -Dm644 $srcdir/$pkgname/app/home/config/systemd/user/stop-mode-shift-timer.service "$pkgdir/usr/lib/systemd/user/stop-mode-shift-timer.service"
# scripts
install -Dm755 $srcdir/$pkgname/app/home/local/bin/get-sunrise-sunset.sh "$pkgdir/usr/lib/gnome-mode-shift/bin/get-sunrise-sunset.sh"
install -Dm755 $srcdir/$pkgname/app/home/local/bin/test-network-connection.sh "$pkgdir/usr/lib/gnome-mode-shift/bin/test-network-connection.sh"
install -Dm755 $srcdir/$pkgname/app/home/local/bin/auto-update-gnome-theme.sh "$pkgdir/usr/lib/gnome-mode-shift/bin/auto-update-gnome-theme.sh"
# NetworkManager requires all dispatcher scripts to be owned by root
install -Dm755 $srcdir/$pkgname/app/home/local/bin/revive-gnome-mode-shift.sh "$pkgdir/usr/lib/NetworkManager/dispatcher.d/revivie-gnome-mode-shift.sh"
# vars
install -Dm644 $srcdir/$pkgname/app/home/local/gnome-mode-shift/shared-variables.sh "$pkgdir/usr/lib/gnome-mode-shift/shared-variables.sh"
# Create directory with 755 permissins
# Includes vars file
# install -Dm755 -o $USER $srcdir/$pkgname/app/home/local/gnome-mode-shift/is-day-or-night "$pkgdir/$XDG_STATE_HOME/gnome-mode-shift/is-day-or-night"
}
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 | 3 |
| 2026-07-28 00:07:28 | LOW | 3 |
| 2026-07-27 00:24:32 | LOW | 3 |
| 2026-07-26 00:07:32 | LOW | 3 |
| 2026-07-25 00:13:44 | LOW | 3 |
| 2026-07-24 00:02:28 | LOW | 3 |
| 2026-07-23 00:14:47 | LOW | 3 |
| 2026-07-22 00:29:32 | LOW | 3 |
| 2026-07-21 00:24:15 | LOW | 3 |
| 2026-07-20 00:19:49 | LOW | 3 |
| 2026-07-19 00:17:08 | LOW | 3 |
| 2026-07-18 00:14:48 | LOW | 3 |
| 2026-07-17 00:06:16 | LOW | 3 |
| 2026-07-16 00:05:41 | LOW | 3 |
| 2026-07-15 21:49:43 | MEDIUM | 2 |