throne
The package builds from source using Go modules and does not execute external installers; the flagged pattern refers to legitimate build-time Go tool installation, not malicious external code execution.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package builds from source using Go modules and does not execute external installers; the flagged pattern refers to legitimate build-time Go tool installation, not malicious external code execution.
1 higher static finding superseded - not the current verdict (shown for transparency)
alt_pkg_manager_install
A non-pip/npm package manager (pipx, uv, poetry, cargo install, go install, gem, conda…) fetches and builds an external package at build time, outside source=() and makepkg's checksums.
-
PKGBUILD:41
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest -
PKGBUILD:42
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
PKGBUILD
2 offending line(s) highlighted# Maintainer: Mahdi Sarikhani <mahdisarikhani@outlook.com>
# Maintainer: parhelia
pkgname=throne
pkgver=1.2.4
pkgrel=1
pkgdesc="Cross-platform GUI proxy utility (Empowered by sing-box)"
arch=('i686' 'pentium4' 'x86_64' 'armv7h' 'aarch64' 'loongarch64' 'riscv64')
url="https://throneproj.github.io"
license=('GPL-3.0-or-later')
conflicts=(throne-bin throne-git throne-sysqt-bin)
depends=('glibc' 'qt6-base')
makedepends=('cmake' 'gendesk' 'git' 'go' 'lld' 'protobuf' 'qt6-tools' 'vulkan-headers')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/throneproj/Throne/archive/${pkgver}.tar.gz"
"${pkgname}.sh"
"git+https://github.com/throneproj/routeprofiles.git#branch=rule-set")
sha256sums=('004a91018f57d66797330a4c432b6a3cd4da16d9c77d00c5dc648e9392ec9586'
'3bb765a93afa8c4f3b4fbf4440507c79ba32e4e4600e94706ccd7705209e0c34'
'SKIP')
prepare() {
mkdir -p build
cp routeprofiles/srslist.h build
gendesk -f -n \
--pkgname "${pkgname}" \
--pkgdesc "${pkgdesc}" \
--name "${pkgname^}" \
--categories 'Network'
cd "${pkgname^}-${pkgver}/core/server"
# Fix stale replace directives for cronet-go (commit removed from parhelia512/cronet-go)
# and stale checksums in go.sum
sed -i '/parhelia512\/cronet-go/d' go.mod
: > go.sum
GONOSUMDB=* GONOSUMCHECK=* GOFLAGS=-mod=mod go mod tidy
export GOBIN="${srcdir}/bin"
export PATH="${PATH}:${GOBIN}"
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
cd gen
protoc -I . --go_out=. --go-grpc_out=. libcore.proto
}
build() {
export INPUT_VERSION="${pkgver}"
cmake -B build -S "${pkgname^}-${pkgver}" \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=/usr \
-W no-dev
cmake --build build
cd "${pkgname^}-${pkgver}/core/server"
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CFLAGS="${CFLAGS} -fno-lto"
export CGO_CXXFLAGS="${CXXFLAGS} -fno-lto"
export CGO_LDFLAGS="${LDFLAGS} -fuse-ld=lld -fno-lto"
VERSION_SINGBOX=$(go list -m -f '{{.Version}}' github.com/sagernet/sing-box)
go build -o "${srcdir}/build" \
-trimpath \
-buildmode=pie \
-mod=readonly \
-modcacherw \
-ldflags="-linkmode=external -w -s -X 'github.com/sagernet/sing-box/constant.Version=${VERSION_SINGBOX}' -X 'internal/godebug.defaultGODEBUG=multipathtcp=0' -checklinkname=0" \
-tags="with_clash_api,with_gvisor,with_quic,with_wireguard,with_utls,with_dhcp,with_tailscale,badlinkname,tfogo_checklinkname0,with_naive_outbound"
}
package() {
install -Dm755 build/Throne{,Core} -t "${pkgdir}/usr/lib/${pkgname}"
install -Dm755 "${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}"
install -Dm644 "${pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
cd "${pkgname^}-${pkgver}"
install -Dm644 res/public/Throne.png "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |