adguard-cli-nightly-bin
The package installs a binary with setuid permission (chmod u+s), which is a privileged operation that could pose a security risk if the binary is compromised.
Triggered rules
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:47
chmod u+s "${pkgdir}/usr/share/${_file}/${_file1}"
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package installs a binary with setuid permission (chmod u+s), which is a privileged operation that could pose a security risk if the binary is compromised.
PKGBUILD
1 offending line(s) highlighted# Maintainer: knoelli
pkgname=adguard-cli-nightly-bin
pkgver=1.5.1
_pkgstatus='nightly.1'
pkgrel=1
pkgdesc='Tool to protect against ads, trackers and malicious websites'
arch=('x86_64')
url='https://github.com/AdguardTeam/AdGuardCLI'
options=('!strip')
install='adguard-cli.install'
conflicts=('adguard-cli-bin')
_file="adguard-cli"
_file1="adguard_root_helper"
_file2="certutil"
_file3="adguard_cli_nm"
_full_name="${_file}-${pkgver}-${_pkgstatus}-linux-${arch}"
source=(
"https://github.com/AdguardTeam/AdGuardCLI/releases/download/v${pkgver}-${_pkgstatus}/${_full_name}.tar.gz"
)
sha256sums=('bc560c5f0675a5a01b81e4ca290ea0f5a67922f52322e98fed93faea45e614a9')
package() {
cd "${srcdir}/${_full_name}"
install -Dp "${_file}" "${pkgdir}/usr/share/${_file}/${_file}"
install -Dp "${_file1}" "${pkgdir}/usr/share/${_file}/${_file1}"
install -Dp "${_file2}" "${pkgdir}/usr/share/${_file}/${_file2}"
install -Dp "${_file3}" "${pkgdir}/usr/share/${_file}/${_file3}"
install -D -m644 "${_file}.sig" "${pkgdir}/usr/share/${_file}/${_file}.sig"
install -D -m644 "${_file1}.sig" "${pkgdir}/usr/share/${_file}/${_file1}.sig"
install -D -m644 "${_file2}.sig" "${pkgdir}/usr/share/${_file}/${_file2}.sig"
install -D -m644 "${_file3}.sig" "${pkgdir}/usr/share/${_file}/${_file3}.sig"
install -D "bash-completion.sh" "${pkgdir}/usr/share/bash-completion/completions/${_file}.sh"
install -D "install_cert.sh" "${pkgdir}/usr/share/${_file}/install_cert.sh"
install -D "defaults.zip" "${pkgdir}/usr/share/${_file}/defaults.zip"
mkdir -p "${pkgdir}/usr/bin"
ln -s /usr/share/${_file}/${_file} "${pkgdir}/usr/bin/${_file}"
ln -s /usr/share/${_file}/${_file1} "${pkgdir}/usr/bin/${_file1}"
ln -s /usr/share/${_file}/${_file2} "${pkgdir}/usr/bin/adguard-${_file2}"
ln -s /usr/share/${_file}/${_file3} "${pkgdir}/usr/bin/${_file3}"
ln -s /usr/share/${_file}/install_cert.sh "${pkgdir}/usr/bin/adguard-install_cert"
ln -s /usr/share/${_file}/${_file}.sig "${pkgdir}/usr/bin/${_file}.sig"
ln -s /usr/share/${_file}/${_file1}.sig "${pkgdir}/usr/bin/${_file1}.sig"
ln -s /usr/share/${_file}/${_file3}.sig "${pkgdir}/usr/bin/${_file3}.sig"
chmod u+s "${pkgdir}/usr/share/${_file}/${_file1}"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-23 00:02+++ PKGBUILD @ 2026-11-01 00:21@@ -1,9 +1,9 @@ # Maintainer: knoelli pkgname=adguard-cli-nightly-bin-pkgver=1.5.0-_pkgstatus='nightly.6'-pkgrel=3+pkgver=1.5.1+_pkgstatus='nightly.1'+pkgrel=1 pkgdesc='Tool to protect against ads, trackers and malicious websites' arch=('x86_64') url='https://github.com/AdguardTeam/AdGuardCLI'@@ -20,7 +20,7 @@ source=( "https://github.com/AdguardTeam/AdGuardCLI/releases/download/v${pkgver}-${_pkgstatus}/${_full_name}.tar.gz" )-sha256sums=('d7b637c7a2411348ec4f1aaf8f42e7c19eb4c9f8a7aad92244ae73a436106a45')+sha256sums=('bc560c5f0675a5a01b81e4ca290ea0f5a67922f52322e98fed93faea45e614a9') package() { cd "${srcdir}/${_full_name}"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Medium | 2 |
| 2026-10-31 00:07:41 | Medium | 2 |
| 2026-10-30 00:29:30 | Medium | 2 |
| 2026-10-29 00:13:55 | Medium | 2 |
| 2026-10-28 00:06:54 | Medium | 2 |
| 2026-10-27 00:23:28 | Medium | 2 |
| 2026-10-26 00:12:40 | Medium | 2 |
| 2026-10-25 00:20:48 | Medium | 2 |
| 2026-10-24 00:14:55 | Medium | 2 |
| 2026-10-23 21:38:30 | Medium | 2 |
| 2026-10-23 00:02:19 | Medium | 2 |
| 2026-10-22 00:13:10 | Medium | 2 |
| 2026-10-21 00:12:50 | Medium | 2 |
| 2026-10-20 00:10:31 | Medium | 2 |
| 2026-10-19 00:03:55 | Medium | 2 |
| 2026-10-18 00:06:55 | Medium | 2 |
| 2026-10-17 00:21:55 | Medium | 2 |
| 2026-10-16 00:12:47 | Medium | 2 |
| 2026-10-15 00:28:05 | Medium | 2 |
| 2026-10-14 00:06:47 | Medium | 2 |