vegad
The package installs a privileged daemon via systemd and drops a sudoers fragment, but it validates the sudoers file with visudo before activation and is otherwise a legitimate build from a tagged source; the main risk is misconfiguration, not malicious behavior.
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 installs a privileged daemon via systemd and drops a sudoers fragment, but it validates the sudoers file with visudo before activation and is otherwise a legitimate build from a tagged source; the main risk is misconfiguration, not malicious behavior.
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.
-
.install:6
if ! visudo -cf /etc/sudoers.d/vega-build >/dev/null 2>&1; then -
.install:8
rm -f /etc/sudoers.d/vega-build
PKGBUILD
# Maintainer: Rodrigo Brito <rodrigo@w3ti.com.br>
#
# AUR-oriented PKGBUILD. It builds the tagged Vega release, but can be
# pointed at another checkout/source via VEGA_SOURCE_URL and VEGA_SOURCE_DIR
# for local builds.
pkgname=vegad
pkgver=1.4.2
pkgrel=1
pkgdesc="Daemon privilegiado do Vega, centro de controle para Linux"
arch=('x86_64')
url="https://github.com/britors/Vega"
license=('GPL-3.0-only')
depends=('systemd' 'dbus' 'polkit' 'pacman' 'bluez' 'bluez-obex')
optdepends=(
'snapper: snapshots automáticos antes de operações do sistema'
'flatpak: cache e atualizações do módulo Software'
'restic: suporte ao módulo Backup'
'firewalld: firewall do módulo Rede'
'fwupd: status de firmware no módulo Hardware'
'networkmanager: estado de rede no módulo Rede'
'yay: instalação de pacotes AUR (origem Comunidade) no módulo Software'
'paru: alternativa a yay para pacotes AUR (origem Comunidade)'
'reflector: otimização de mirrors do Pacman no módulo Software'
)
provides=('lyraed')
conflicts=('lyraed')
makedepends=('go')
install=vegad.install
_source_url_default="git+https://github.com/britors/Vega.git#tag=v${pkgver}"
source=("Vega::${VEGA_SOURCE_URL:-${_source_url_default}}")
sha256sums=('SKIP')
build() {
local _srcroot="${VEGA_SOURCE_DIR:-$srcdir/Vega}"
cd "$_srcroot/vegad"
go build -trimpath -ldflags "-X github.com/lyraos/vegad/internal/version.Version=${pkgver}" \
-o vegad ./cmd/vegad
}
package() {
local _srcroot="${VEGA_SOURCE_DIR:-$srcdir/Vega}"
cd "$_srcroot"
install -Dm755 vegad/vegad "$pkgdir/usr/lib/vega/vegad"
install -Dm644 packaging/vegad/vegad.service \
"$pkgdir/usr/lib/systemd/system/vegad.service"
install -Dm644 packaging/vegad/vegad-update-check.service \
"$pkgdir/usr/lib/systemd/system/vegad-update-check.service"
install -Dm644 packaging/vegad/vegad-update-check.timer \
"$pkgdir/usr/lib/systemd/system/vegad-update-check.timer"
install -Dm644 packaging/vegad/org.lyraos.Vega1.conf \
"$pkgdir/usr/share/dbus-1/system.d/org.lyraos.Vega1.conf"
install -Dm644 packaging/vegad/org.lyraos.Vega1.service \
"$pkgdir/usr/share/dbus-1/system-services/org.lyraos.Vega1.service"
install -Dm644 packaging/vegad/org.lyraos.vega.policy \
"$pkgdir/usr/share/polkit-1/actions/org.lyraos.vega.policy"
install -Dm644 packaging/vegad/sysusers.d/vega-build.conf \
"$pkgdir/usr/lib/sysusers.d/vega-build.conf"
install -Dm644 packaging/vegad/tmpfiles.d/vega-build.conf \
"$pkgdir/usr/lib/tmpfiles.d/vega-build.conf"
install -Dm440 packaging/vegad/sudoers.d/vega-build \
"$pkgdir/etc/sudoers.d/vega-build"
}
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 |