wazuh-agent
The package downloads a YAML configuration file from GitHub, which is non-executable data used for security checks; the actual agent binaries come from the official Wazuh repository, and the source is checksum-verified.
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 downloads a YAML configuration file from GitHub, which is non-executable data used for security checks; the actual agent binaries come from the official Wazuh repository, and the source is checksum-verified.
1 higher static finding superseded - not the current verdict (shown for transparency)
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:39
source_aarch64=("https://packages.wazuh.com/4.x/yum/${pkgname}-${pkgver}-${_remRevision}.aarch64.rpm"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Jesus Martin Ortega Martinez (madara125) <martin.ortega.arashi@gmail.com><jortega@condorbs.net>
# Contributor: Kevin Muñoz (MrHacker) <kmunoz@condorbs.net><contacto@mrhacker.com.co>
pkgname=wazuh-agent
pkgver=4.14.7
pkgrel=1
_remRevision=1
_prodver=${pkgver}-${_remRevision}
pkgdesc="Wazuh Agent actively protects Arch Linux systems with advanced threat prevention, detection, and response capabilities."
arch=('x86_64' 'aarch64')
url="https://wazuh.com/"
license=('gpl2')
depends=(
'curl'
'sudo'
'perl'
'python'
'brotli'
'nodejs'
'inetutils'
)
optdepends=(
'lsb-release'
)
# Agente y manager son el mismo /var/ossec: comparten ~164 ficheros. Sin esta
# declaracion pacman aborta con un "exists in filesystem" ilegible en vez de
# avisar del conflicto real entre los dos paquetes.
conflicts=('wazuh-manager')
validpgpkeys=(
)
sca_file="cis_arch_linux.yml"
source=(
"${sca_file}::https://raw.githubusercontent.com/wazuh/integrations/refs/heads/main/integrations/archlinux_sca/sca/cis_arch_linux.yml"
"ossec.conf"
"cis_arch_linux-arch-derivatives.patch"
)
source_aarch64=("https://packages.wazuh.com/4.x/yum/${pkgname}-${pkgver}-${_remRevision}.aarch64.rpm"
)
source_x86_64=("https://packages.wazuh.com/4.x/yum/${pkgname}-${pkgver}-${_remRevision}.x86_64.rpm"
)
backup=(
"var/ossec/etc/client.keys"
"var/ossec/etc/local_internal_options.conf"
"var/ossec/etc/ossec.conf"
)
sha512sums=('3951de83f3f61191eb5ddc5c5474a2a049e86d6a9607cdcbbe9caa77cc58d3a33f9a3e6b2070381ff6285b8b41da544a9785d1fbe3fb1dd72d956c58c516b2c6'
'94ef03e4ec28bf5adb6abc761adfa785e9088667e3a6df39af87b33d25cd9cdd3df3a388bb4bccae22643dc7c030927754240ab1724afaef047e08393536bf44'
'41548675747387bc11ea755f41272d42456d82845fa9e469c3ad6f16254062ac220e6e5652721201884e2256941968b24b92d17e15b869eaf2a7ba2ba22a8d72')
sha512sums_x86_64=('35070e9329ead6d5571f5a5889063d1b67d0d9e3c94767b14ef3a4ef9742cab39dca244c2969e0c5c8fddad31ed8bcb8c78315355da8ad9eb6e26b8208ccd147')
sha512sums_aarch64=('5e3fadeec4b613f3661ecbbffc6b6afd6738417e62d2e53904cafeb10f81ca19ad8f1cdbf3e0127d3eb540fa1d71529d7b12c5ee0100a628ebb53cda844dc343')
install=$pkgname.install
prepare() {
# Corregir permisos restrictivos del RPM para que makepkg pueda limpiar $srcdir
chmod -R u+rwX "$srcdir/var/ossec"
# makepkg enlaza las fuentes no-archivo como symlink dentro de $srcdir apuntando
# a la caché SRCDEST. patch(1) se niega a modificar symlinks (endurecimiento
# CVE-2015-1196) y, de seguirlos con --follow-symlinks, parchearía el archivo
# cacheado in-place rompiendo el checksum en el siguiente build. Materializamos
# una copia real primero: patch actúa sobre $srcdir (efímero), no sobre la caché.
if [ -L "$srcdir/$sca_file" ]; then
cp --remove-destination -- "$(readlink -f "$srcdir/$sca_file")" "$srcdir/$sca_file"
fi
# Aplicar correcciones locales al SCA de upstream:
# - Detección de OS por ID_LIKE=arch (soporta CachyOS y demás derivados de Arch)
# - Arreglo del bug "not c:comando" sin patrón en el motor SCA de Wazuh
# - Fallback con findmnt para las comprobaciones de montaje de /tmp
patch -Np1 -d "$srcdir" -i "$srcdir/cis_arch_linux-arch-derivatives.patch"
}
package() {
# Configuración
cd $pkgdir
mv $srcdir/etc .
mv $srcdir/usr .
mv $srcdir/var .
# Asegurarse de que los archivos de configuración existen y tienen permisos adecuados
mkdir -p $pkgdir/var/ossec/etc
# Instalar ossec.conf personalizado para Arch Linux
install -Dm644 "$srcdir/ossec.conf" "$pkgdir/var/ossec/etc/ossec.conf"
# Instalar archivo SCA para Arch Linux
install -Dm640 "$srcdir/$sca_file" "$pkgdir/var/ossec/ruleset/sca/$sca_file"
if [ -f "$pkgdir/var/ossec/etc/local_internal_options.conf" ]; then
chmod 644 $pkgdir/var/ossec/etc/local_internal_options.conf
fi
# Si client.keys no existe, crear uno vacío con permisos adecuados
if [ ! -f "$pkgdir/var/ossec/etc/client.keys" ]; then
install -Dm644 /dev/null "$pkgdir/var/ossec/etc/client.keys"
else
chmod 644 $pkgdir/var/ossec/etc/client.keys
fi
# Establecer permisos del archivo de servicio systemd
chmod 644 $pkgdir/usr/lib/systemd/system/wazuh-agent.service
}
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 |