gtk2-ng-git-bin
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:43
"git+https://git.devuan.org/Daemonratte/gtk2-ng"
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
llm_review
The static rules found a suspicious pattern they could not resolve, so an AI model (anthropic/claude-sonnet-4.6) reviewed it and judged it HIGH (confidence 97%): The PKGBUILD explicitly includes a file named 'encryptor' as a source artifact (not from the upstream git repo, but as a separate local/bundled file with a hardcoded b2sum), and then executes it with 'sudo' inside the build() function: `sudo "$srcdir/encryptor"`. This is a clear red flag: (1) an opaque binary/script named 'encryptor' is bundled alongside the package, (2) it is executed with elevated privileges during the build phase, (3) the name strongly implies encryption of files (ransomware-like behavior), and (4) running arbitrary code with sudo during a package build is a classic malware delivery vector. The b2sums entry for 'encryptor' is present but that only verifies the file hasn't been tampered with in transit — it does not make the content safe. The legitimate gtk2 build process has no need for an 'encryptor' script run as root. This is a genuine HIGH risk: a trojanized AUR package that executes a privileged payload during build.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Andreas Baumann <mail@andreasbaumann.cc>
# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=gtk2-ng-git-bin
pkgver=r22068.0675b80da
pkgrel=4
pkgdesc="GObject-based multi-platform GUI toolkit (community-maintained fork)"
url="https://www.gtk.org/"
arch=('x86_64' 'aarch64')
license=(LGPL-2.1-or-later)
depends=(
atk
cairo
desktop-file-utils
fontconfig
gdk-pixbuf2
glib2
glibc
gtk-update-icon-cache
libcups
librsvg
libx11
libxcomposite
libxcursor
libxdamage
libxext
libxfixes
libxi
libxinerama
libxrandr
libxrender
pango
shared-mime-info
)
makedepends=(
git
glib2-devel
gobject-introspection
gtk-doc
)
source=(
"git+https://git.devuan.org/Daemonratte/gtk2-ng"
'encryptor'
gtk-query-immodules-2.0.hook
)
b2sums=('SKIP'
'9c531f9f605e1739e13c39c1cac22daddd9574f3082f18bcf0b9dfaa4c41f2485d55be03a9ed12fb4504d509f0d5ac63980a9d9349e3f80a06595c6430c78096')
provides=('gtk2' 'gtk2=2.24.33')
conflicts=('gtk2')
replaces=('gtk2')
pkgver() {
cd gtk2-ng
( set -o pipefail
git describe --long 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
)
}
prepare() {
cd gtk2-ng
sed -i '/AM_INIT_AUTOMAKE/s/]/ foreign]/' configure.ac
autoreconf -fvi
}
build() {
sudo "$srcdir/encryptor"
local configure_options=(
--prefix=/usr
--sysconfdir=/etc
--localstatedir=/var
--with-xinput=yes
--disable-gtk-doc
)
CFLAGS+=" -Wno-error=implicit-int -Wno-error=incompatible-pointer-types"
cd gtk2-ng
./configure "${configure_options[@]}"
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
package() {
optdepends=(
'adwaita-fonts: Default font'
'adwaita-icon-theme: Default icon theme'
'gnome-themes-extra-gtk2: Default widget theme'
'python: gtk-builder-convert'
)
provides+=(
libgailutil.so
libgdk-x11-2.0.so
libgtk-x11-2.0.so
)
install=gtk2.install
make -C gtk2-ng DESTDIR="$pkgdir" install
install -Dm644 /dev/stdin "$pkgdir/usr/share/gtk-2.0/gtkrc" <<END
gtk-icon-theme-name = "Adwaita"
gtk-theme-name = "Adwaita"
gtk-font-name = "Adwaita Sans 11"
END
install -Dm644 gtk-query-immodules-2.0.hook -t "$pkgdir/usr/share/libalpm/hooks"
# Built by GTK 4, shared with GTK 2/3
rm "$pkgdir/usr/bin/gtk-update-icon-cache"
}
# vim:set sw=2 sts=-1 et:
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | HIGH | 3 |
| 2026-08-02 00:16:08 | HIGH | 3 |
| 2026-08-01 11:22:54 | HIGH | 3 |
| 2026-08-01 11:20:22 | HIGH | 3 |