vegad
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-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 3 |
| 2026-07-20 00:19:49 | LOW | 3 |
| 2026-07-19 00:17:08 | LOW | 3 |
| 2026-07-18 00:14:48 | LOW | 3 |
| 2026-07-17 00:06:16 | LOW | 3 |
| 2026-07-16 00:05:41 | LOW | 3 |
| 2026-07-15 00:09:25 | LOW | 3 |