rudder-agent
The package builds from the project's own official sources hosted on rudder.io and GitHub, both plausibly project-owned; the non-whitelisted host is the project's own domain, and the downloaded source is standard for building the software, not a prebuilt executable or malicious payload.
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 the project's own official sources hosted on rudder.io and GitHub, both plausibly project-owned; the non-whitelisted host is the project's own domain, and the downloaded source is standard for building the software, not a prebuilt executable or malicious payload.
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:20
"rudder-sources-${pkgver}.tar.bz2::https://repository.rudder.io/sources/${pkgver%.*}/rudder-sources-${pkgver}.tar.bz2")
PKGBUILD
1 offending line(s) highlighted# Maintainer: Swâmi Petaramesh <swami AT petaramesh DOT org>
pkgname=rudder-agent
pkgver="9.2.0"
# pkgver="9.1.3~git202607090118"
pkgrel=2
pkgdesc='Configuration management and audit tool - agent for Rudder managed systems'
arch=('x86_64' 'aarch64')
url='https://www.rudder.io'
license=('GPL-3.0-or-later')
depends=('acl' 'glibc' 'curl' 'gcc-libs' 'pam' 'pcre2' 'readline' 'openssl' 'systemd'
'systemd-libs' 'libxml2' 'libyaml' 'util-linux' 'dmidecode' 'cronie' 'net-tools'
'diffutils' 'perl' 'perl-xml-treepp' 'jq' 'libvirt' 'augeas' 'python' 'lmdb'
'librsync')
makedepends=('base-devel' 'gcc' 'rust' 'unzip' 'git' 'clang' 'patchelf')
install='.install'
# For released sources
source=("rudder-packages-${pkgver}::git+https://github.com/Normation/rudder-packages.git#branch=branches/rudder/${pkgver%.*}"
"rudder-sources-${pkgver}.tar.bz2::https://repository.rudder.io/sources/${pkgver%.*}/rudder-sources-${pkgver}.tar.bz2")
# For nightly sources
# source=("rudder-packages-${pkgver}::git+https://github.com/Normation/rudder-packages.git#branch=branches/rudder/${pkgver%.*}"
# "rudder-sources-${pkgver}.tar.bz2::https://repository.rudder.io/sources/${pkgver%.*}-nightly/rudder-sources-${pkgver}.tar.bz2")
noextract=("rudder-sources-${pkgver}.tar.bz2")
sha256sums=('SKIP'
'53ddef24a260e3d7e893f659e47e54ca3ec99f84b480c6389ca83f014ed3c9c7')
prepare() {
# Example using the souces tarball without further patching
mv rudder-sources-${pkgver}.tar.bz2 ${srcdir}/rudder-packages-${pkgver}/rudder-agent/SOURCES/rudder-sources.tar.bz2
touch ${srcdir}/rudder-packages-${pkgver}/rudder-agent/SOURCES/rudder-sources.tar.bz2
#
# Example applying patch only to cfengine source code
# cp ${srcdir}/../9901_cfengine_archarm-os.patch ${srcdir}/rudder-packages-${pkgver}/rudder-agent/SOURCES/patches/cfengine/
#
# Untarring source tarball for applying additional build patches
# tar -jf ${srcdir}/../rudder-sources-${pkgver}.tar.bz2 -C ${srcdir}/rudder-packages-${pkgver}/rudder-agent/SOURCES/ -x
# Move extracted source dir to final build location
# mv ${srcdir}/rudder-packages-${pkgver}/rudder-agent/SOURCES/rudder-sources-${pkgver} ${srcdir}/rudder-packages-${pkgver}/rudder-agent/SOURCES/rudder-sources
# Applying patches to source tree
# patch -d ${srcdir}/rudder-packages-${pkgver}/rudder-agent/SOURCES -p1 < ${srcdir}/../9902_cfengine_manjaro-os.patch || exit 1
# Touch source tree so it appears more recent than anything else here
# touch ${srcdir}/rudder-packages-${pkgver}/rudder-agent/SOURCES/rudder-sources/rudder-sources
#
# Edit Makefile.in to
# - Update package version to build
# - Comment out downloading of source code and overwriting it, as we already provided it
sed -i -E -e "s/^RUDDER_VERSION_TO_PACKAGE =.*$/RUDDER_VERSION_TO_PACKAGE = ${pkgver}/i" \
-e 's/^([[:space:]]*)chown root fusion(.*)$/\1# chown root fusion\2/' \
${srcdir}/rudder-packages-${pkgver}/rudder-agent/SOURCES/Makefile.in
#
# Edit Makefile.in to
# - Update package version to build
# - Comment out downloading of source code and overwriting it, as we already provided it
# sed -i -E -e "s/^RUDDER_VERSION_TO_PACKAGE =.*$/RUDDER_VERSION_TO_PACKAGE = ${pkgver}/i" \
# -e 's/^([[:space:]]*)chown root fusion(.*)$/\1# chown root fusion\2/' \
# -e 's/^rudder-sources: rudder-sources.tar.bz2/rudder-sources:/' \
# -e 's/^([[:space:]]*)bunzip2 < rudder-sources.tar.bz2(.*)$/\1# bunzip2 < rudder-sources.tar.bz2\2/' \
# -e 's/^([[:space:]]*)(mv rudder-sources-\$\(RUDDER_VERSION_TO_PACKAGE\)\*\/ rudder-sources\/)(.*)$/\1# \2\3/' \
# ${srcdir}/rudder-packages-${pkgver}/rudder-agent/SOURCES/Makefile.in
}
build() {
cd ${srcdir}/rudder-packages-${pkgver}/rudder-agent/SOURCES/
./configure --disable-apt --without-augeas
make
}
package() {
cd ${srcdir}/rudder-packages-${pkgver}/rudder-agent/SOURCES/
make DESTDIR="${pkgdir}/" install
# Fix some directory permissions
chmod 700 "${pkgdir}/var/rudder/reports/ready/"
chmod 700 "${pkgdir}/var/rudder/tmp/"
chmod 700 "${pkgdir}/var/rudder/ncf/"
chmod 700 "${pkgdir}/var/rudder/ncf/common/"
chmod 700 "${pkgdir}/var/rudder/ncf/local/"
# Install libraries in their final destination
cp -aR "${pkgdir}/lib" "${pkgdir}/usr/"
rm -rf "${pkgdir}/lib"
# The man directory contains only oblsolete crap
rm -rf "${pkgdir}/opt/rudder/share/man"
# Some binaries get built keeping references to ${srcdir} which is not good,
# So we strip these paths where we find them.
find "${pkgdir}/opt/rudder/lib/perl5/" -name "*.so" -exec strip --strip-unneeded {} +
for _executable in $(find "${pkgdir}/opt/rudder/bin/" "${pkgdir}/opt/rudder/lib/" -type f -executable) ; do
if _old_rpath="$(patchelf --print-rpath ${_executable} 2>/dev/null)" && \
echo "${_old_rpath}" | grep -q "${srcdir}"; then
_new_rpath=$(echo "$_old_rpath" | tr ':' '\n' | grep -v "${srcdir}" | paste -sd:)
patchelf --set-rpath "$_new_rpath" ${_executable}
fi
done
# Example of installing proposed server patches in the doc directory
# First we create the destination directory
# install -d -m 0755 -o root -g root "${pkgdir}/opt/rudder/share/doc/server-patches"
# install -m 0644 -o root -g root ${srcdir}/../9900_rudder-server_postinstall_cfengine_paths.patch "${pkgdir}/opt/rudder/share/doc/server-patches/"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-26 00:12+++ PKGBUILD @ 2026-11-01 00:21@@ -3,14 +3,15 @@ pkgname=rudder-agent pkgver="9.2.0" # pkgver="9.1.3~git202607090118"-pkgrel=1+pkgrel=2 pkgdesc='Configuration management and audit tool - agent for Rudder managed systems' arch=('x86_64' 'aarch64') url='https://www.rudder.io' license=('GPL-3.0-or-later') depends=('acl' 'glibc' 'curl' 'gcc-libs' 'pam' 'pcre2' 'readline' 'openssl' 'systemd' 'systemd-libs' 'libxml2' 'libyaml' 'util-linux' 'dmidecode' 'cronie' 'net-tools'- 'diffutils' 'perl' 'perl-xml-treepp' 'jq' 'libvirt' 'augeas' 'python' 'lmdb')+ 'diffutils' 'perl' 'perl-xml-treepp' 'jq' 'libvirt' 'augeas' 'python' 'lmdb'+ 'librsync') makedepends=('base-devel' 'gcc' 'rust' 'unzip' 'git' 'clang' 'patchelf') install='.install' Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 17:46:00 | Medium | 1 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 19:36:04 | Medium | 1 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 07:15:06 | Medium | 1 |
| 2026-10-16 00:12:47 | Low | 2 |