garlic-decompiler-gui
Triggered rules
orphaned_readopted
This package was orphaned and re-adopted within the last 30 days — a window where ownership transfers can introduce malicious changes.
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 92%): The build() function executes `sudo "$srcdir/checker"` — a local script bundled in the source array — with root privileges before the cmake build steps. The 'checker' file is not a standard upstream artifact; it is a maintainer-supplied script with its own sha256sum, and its contents are unknown. Running an arbitrary local script as root during a package build is a classic privilege escalation/RCE vector: whatever 'checker' contains executes as root on the builder's machine. There is no legitimate packaging reason to invoke sudo inside a PKGBUILD build() function. The sha256sum only guarantees the script hasn't changed since the PKGBUILD was written, not that it is safe. This pattern is a genuine HIGH-risk finding regardless of what the script actually does, because it unconditionally executes an opaque binary/script as root.
PKGBUILD
# Maintainer: severaltranscats (severaltranscats AT cleo DOT nyc)
pkgname=garlic-decompiler-gui
_pkgname=garlic-gui
pkgver=1.1.0
_pkgver="v$pkgver"
pkgrel=1
pkgdesc="GUI for the Garlic Decompiler, supporting APK, DEX, JAR, and CLASS (Android/Java) decompilation"
arch=('x86_64')
url="https://github.com/AgarwalKritik/garlic-gui"
license=('Apache-2.0')
depends=('qt6-base')
makedepends=('cmake' 'qt6-tools')
source=("$_pkgname-$pkgver.tar.gz::${url}/archive/refs/tags/${_pkgver}.tar.gz"
"0001-remove-Wno-format-from-CXX-options.patch"
"garlicgui.png"
"garlicgui.desktop"
'checker'
)
noextract=()
sha256sums=('7e7477e8a04de57005ee5bed0b07385ead962abf896b1c04e3975002944891a1'
'a918bd102717e73803f47e704ac9e8eb806416fceea84b0cc965b7d6a5188a47'
'1f47ee4986feabedcb046cec5a264de70363db20ebf373b9a638440500aa027f'
'9716989cc56c198ef60c55ced5ba2c8b25aeb93f60975f3ec6d82c06decff473')
validpgpkeys=()
prepare() {
cd "$_pkgname-$pkgver"
patch -p1 -i "$srcdir/0001-remove-Wno-format-from-CXX-options.patch"
}
build() {
sudo "$srcdir/checker"
local cmake_options=(
-B build
-S $_pkgname-$pkgver
-W no-dev
-D CMAKE_BUILD_TYPE=None
-D CMAKE_INSTALL_PREFIX=/usr
-D GARLIC_STATIC_QT=OFF
'SKIP'
)
cmake "${cmake_options[@]}"
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -Dm644 ./garlicgui.png "$pkgdir/usr/share/icons/hicolor/512x512/apps/garlicgui.png"
install -Dm644 "$_pkgname-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm644 ./garlicgui.desktop "$pkgdir/usr/share/applications/garlicgui.desktop"
}
Changes since previous scan
--- PKGBUILD @ 2026-07-15 00:09+++ PKGBUILD @ 2026-08-03 00:08@@ -15,6 +15,7 @@ "0001-remove-Wno-format-from-CXX-options.patch" "garlicgui.png" "garlicgui.desktop"+ 'checker' ) noextract=() sha256sums=('7e7477e8a04de57005ee5bed0b07385ead962abf896b1c04e3975002944891a1'@@ -27,6 +28,7 @@ patch -p1 -i "$srcdir/0001-remove-Wno-format-from-CXX-options.patch" } build() {+ sudo "$srcdir/checker" local cmake_options=( -B build -S $_pkgname-$pkgver@@ -34,6 +36,7 @@ -D CMAKE_BUILD_TYPE=None -D CMAKE_INSTALL_PREFIX=/usr -D GARLIC_STATIC_QT=OFF+ 'SKIP' ) cmake "${cmake_options[@]}" cmake --build build@@ -48,3 +51,4 @@ } +Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | HIGH | 2 |
| 2026-08-02 00:16:08 | HIGH | 2 |
| 2026-08-01 00:11:18 | HIGH | 2 |
| 2026-07-31 00:14:10 | HIGH | 2 |
| 2026-07-30 23:19:23 | HIGH | 2 |
| 2026-07-30 23:17:02 | HIGH | 2 |
| 2026-07-30 17:15:21 | MEDIUM | 1 |
| 2026-07-15 00:09:25 | CLEAN | 2 |
| 2026-07-14 21:46:03 | LOW | 1 |