rudder-agent
The package builds from official project sources on GitHub and rudder.io, which are legitimate but not on the analyzer's whitelist; the source is not executed remotely and the build process is standard, posing no real risk.
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 official project sources on GitHub and rudder.io, which are legitimate but not on the analyzer's whitelist; the source is not executed remotely and the build process is standard, posing no real risk.
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:19
"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.1.4"
# pkgver="9.1.3~git202607090118"
pkgrel=1
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')
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'
'1fa5f3e9fee9bbdeba8903e709e6dd02cdf482481749d1a2d6e33bcd5342c0d2')
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/"
}
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 |