warsaw-openrc
This PKGBUILD downloads a prebuilt binary installer (.run file) from cloud.gastecnologia.com.br, which is the official GAS Tecnologia (Warsaw) vendor infrastructure — Warsaw is a well-known Brazilian banking security module required by Banco do Brasil and other banks. The host is plausibly official. However, the package installs prebuilt closed-source binaries and shared libraries (.so files) directly into the system, uses MD5 checksums (weak, but present), and notably copies system libraries (ld-linux, libc, libdl, libpthread) from the host system into the package directory. The binary installer is extracted and its embedded configure/make is run, meaning arbitrary prebuilt code from the vendor is executed. This is a genuine medium-risk supply-chain concern: prebuilt binaries from a non-GitHub/non-standard host with only MD5 integrity checks, no source build, and the package installs kernel-level networking sysctl changes and a system daemon. The risk is real but consistent with legitimate (if invasive) banking security software packaging rather than an active attack.
Triggered rules
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:17
source_i686=(https://cloud.gastecnologia.com.br/bb/downloads/ws/warsaw_32_installer.run)
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): This PKGBUILD downloads a prebuilt binary installer (.run file) from cloud.gastecnologia.com.br, which is the official GAS Tecnologia (Warsaw) vendor infrastructure — Warsaw is a well-known Brazilian banking security module required by Banco do Brasil and other banks. The host is plausibly official. However, the package installs prebuilt closed-source binaries and shared libraries (.so files) directly into the system, uses MD5 checksums (weak, but present), and notably copies system libraries (ld-linux, libc, libdl, libpthread) from the host system into the package directory. The binary installer is extracted and its embedded configure/make is run, meaning arbitrary prebuilt code from the vendor is executed. This is a genuine medium-risk supply-chain concern: prebuilt binaries from a non-GitHub/non-standard host with only MD5 integrity checks, no source build, and the package installs kernel-level networking sysctl changes and a system daemon. The risk is real but consistent with legitimate (if invasive) banking security software packaging rather than an active attack.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Rafael Fontenlle <rafaelff@gnome.org>
# Collaborator: Manoel Vilela <manoel_vilela@engineer.com>
pkgname=warsaw-openrc
pkgver=1.12.3.11
pkgrel=5
pkgdesc="Banking security tool developed by GAS Tecnologia"
arch=(i686 x86_64)
url="https://seg.bb.com.br"
license=('custom')
depends=('openssl' 'nss' 'openrc')
makedepends=('chrpath')
conflicts=("warsaw")
provides=("warsaw")
options=(!strip)
source=(warsaw.service warsaw.openrc)
source_i686=(https://cloud.gastecnologia.com.br/bb/downloads/ws/warsaw_32_installer.run)
source_x86_64=(https://cloud.gastecnologia.com.br/bb/downloads/ws/warsaw_64_installer.run)
md5sums=('d614d1164666e3071d9c2001109b0f18'
'0996288430a741c50dc1b89d1909823b')
md5sums_i686=('b53b1696e2a0624f54eb516538ac655b')
md5sums_x86_64=('2d19b66de26dbd01a7980427a0535a8f')
if [[ $CARCH == x86_64 ]]; then
_installer=warsaw_64_installer.run
_warsawdir=tmp/warsaw_x64
else
_installer=warsaw_32_installer.run
_warsawdir=tmp/warsaw_x86
fi
prepare() {
cd $srcdir
# Make sure to have a cleaned up warsaw directory
[ ! -d $pkgname-$pkgver ] && mkdir $pkgname-$pkgver
[ -d $_warsawdir ] && rm -rf $_warsawdir
# Extracts the binary content starting from the line number "L"
# (L was informed within the installer)
L=363
tail -n +$L $_installer | tar -zxvf - -C $pkgname-$pkgver
}
build() {
cd $pkgname-$pkgver/$_warsawdir
./configure --prefix=/usr --sysconfdir=/etc
}
package() {
cd $pkgname-$pkgver/$_warsawdir
make DESTDIR="$pkgdir" install
# Enable executable permission for binaries
chmod +x "$pkgdir/usr/bin/warsaw/core"
chmod +x "$pkgdir/usr/bin/warsaw/migratecache"
chmod +x "$pkgdir/usr/bin/warsaw/wsatspi"
chmod +x "$pkgdir/usr/bin/warsaw/wscertmgr"
# Set paths in comply with Arch Packaging Standards
# i.e. Use /usr/bin, /etc, and /tmp
sed -i 's|/usr/local/etc|/etc|g;s|/var/tmp|/tmp|' \
"$pkgdir/usr/bin/warsaw/wscertmgr"
sed -i 's|/usr/local/bin|/usr/bin|' \
"$pkgdir/etc/xdg/autostart/warsaw.desktop"
# this should be replaced to the systemd/openrc daemon
rm -rf "$pkgdir/etc/xdg/"
# Install copyright and license in proper directory
install -Dm644 "$pkgdir"/usr/share/{doc,licenses}/warsaw/copyright
rm -rf "$pkgdir/usr/share/doc"
# Fix insecure RPATH to /usr/local/ directories
chrpath -d "$pkgdir/usr/bin/warsaw/migratecache"
chrpath -d "$pkgdir/usr/lib/warsaw/wsftuan.so"
chrpath -d "$pkgdir/usr/lib/warsaw/wslbmid.so"
chrpath -d "$pkgdir/usr/lib/warsaw/wsftup.so"
chrpath -d "$pkgdir/usr/lib/warsaw/wsftbmo.so"
chrpath -d "$pkgdir/usr/lib/warsaw/wsftbco.so"
chrpath -d "$pkgdir/usr/lib/warsaw/wsftbid.so"
chrpath -d "$pkgdir/usr/lib/warsaw/wsftdl.so"
chrpath -d "$pkgdir/usr/lib/warsaw/wsbrmu.so"
# :: Use systemd or openrc service instead of SysVinit script
# if user use openrc, so then install warsaw.openrc
if (pacman -Qi openrc &> /dev/null); then
# override sysinit to OpenRC script
install -Dm755 "$srcdir/warsaw.openrc" "$pkgdir/etc/init.d/warsaw"
else
install -Dm644 "$srcdir/warsaw.service" \
"$pkgdir/usr/lib/systemd/system/warsaw.service"
rm -rf "$pkgdir/etc/init.d"
fi
# Symlink to /usr/local, as the binaries still expect them to be valid
install -dm755 "$pkgdir/usr/local/"{etc,bin,lib}
ln -s /etc/warsaw/ "$pkgdir/usr/local/etc/warsaw"
ln -s /usr/bin/warsaw/ "$pkgdir/usr/local/bin/warsaw"
ln -s /usr/lib/warsaw/ "$pkgdir/usr/local/lib/warsaw"
# fixing the new 2018 cancer from
# fbello comments at https://aur.archlinux.org/packages/warsaw/?comments=all
for i in ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0; do
cp /usr/lib/$i $pkgdir/usr/lib/warsaw/$i
done
install -dm755 $pkgdir/etc/sysctl.d/
cat << EOF > $pkgdir/etc/sysctl.d/warsaw.conf
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_synack_retries=3
net.ipv4.tcp_max_syn_backlog=65536
EOF
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |
| 2026-09-13 00:19:54 | Medium | 2 |
| 2026-09-12 00:25:17 | Medium | 2 |
| 2026-09-11 00:19:22 | Medium | 2 |
| 2026-09-10 00:22:44 | Medium | 2 |
| 2026-09-09 00:04:09 | Medium | 2 |
| 2026-09-08 00:18:08 | Medium | 2 |
| 2026-09-07 00:30:15 | Medium | 2 |
| 2026-09-06 00:17:06 | Medium | 2 |
| 2026-09-05 00:16:27 | Medium | 2 |
| 2026-09-04 00:03:13 | Medium | 2 |
| 2026-09-03 00:15:47 | Medium | 2 |
| 2026-09-02 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |
| 2026-08-30 00:04:14 | Medium | 2 |
| 2026-08-29 00:29:17 | Medium | 2 |