cactus-client
This PKGBUILD downloads and installs a prebuilt binary (DDNet executable) from a personal/unofficial host (dw.cactuss.top) rather than building from source or pulling from an official upstream release mirror. The binary is executed directly by users. While a sha256sum is provided, it only guards against accidental corruption — if the host operator replaces the tarball with a new one at the same URL and updates the PKGBUILD, or if the host is compromised, users would execute arbitrary code. The host 'cactuss.top' appears to be a personal/community site for this DDRaceNetwork mod, not an established official vendor. Additionally, there is a version mismatch bug: the wrapper script hardcodes version 1.14 while the package is 1.15, and the icon is installed to the wrong path relative to what the desktop file references — but these are correctness issues, not security ones. The core concern is a prebuilt binary from a non-official personal host, which is a genuine medium-severity supply-chain risk.
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:18
source=("https://dw.cactuss.top/$_version/Cactus-$_version-public-linux_x86_64.tar.xz" "cactus-client.png")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 85%): This PKGBUILD downloads and installs a prebuilt binary (DDNet executable) from a personal/unofficial host (dw.cactuss.top) rather than building from source or pulling from an official upstream release mirror. The binary is executed directly by users. While a sha256sum is provided, it only guards against accidental corruption — if the host operator replaces the tarball with a new one at the same URL and updates the PKGBUILD, or if the host is compromised, users would execute arbitrary code. The host 'cactuss.top' appears to be a personal/community site for this DDRaceNetwork mod, not an established official vendor. Additionally, there is a version mismatch bug: the wrapper script hardcodes version 1.14 while the package is 1.15, and the icon is installed to the wrong path relative to what the desktop file references — but these are correctness issues, not security ones. The core concern is a prebuilt binary from a non-official personal host, which is a genuine medium-severity supply-chain risk.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Rain Xelelo <rxelelo@outlook.com>
pkgname=cactus-client
pkgver=1.15
pkgrel=1
# allow testing locally a release candidate using pkgver like '19.3rc3'
_version=${pkgver/rc/-rc}
pkgdesc="A DDRaceNetwork modification adding new feauters"
arch=('x86_64')
url="https://cactuss.top//"
license=()
depends=('freetype2' 'opusfile' 'curl' 'glew' 'wavpack' 'ffmpeg' 'libnotify' 'miniupnpc' 'sqlite' 'mariadb-libs' 'vulkan-icd-loader')
checkdepends=('gmock')
optdepends=('ddnet-maps-git: All the maps used on the official DDNet Servers.'
'discord-game-sdk: Enable rich presence in Discord desktop client.')
backup=('usr/share/ddnet/data/autoexec_server.cfg')
source=("https://dw.cactuss.top/$_version/Cactus-$_version-public-linux_x86_64.tar.xz" "cactus-client.png")
sha256sums=('70b5afcdbf7f8ec875780391b2238a29dec3fc2c420bc72f7dbfaf86d56f397b'
'8508552983950820bd5c8829bd43e714a4a958a084211dc1a8be6619f8d0b742')
prepare() {
mkdir -p cactus
bsdtar -xf "Cactus-$_version-public-linux_x86_64.tar.xz" -C cactus
chmod +x cactus/Cactus-$_version-public-linux_x86_64/DDNet
}
package() {
install -dm0755 "$pkgdir/opt"
install -dm0755 "$pkgdir/usr/bin"
install -dm0755 "$pkgdir/usr/share/applications"
cp -a cactus "$pkgdir/opt/$pkgname"
cat > "$pkgdir/usr/bin/cactus-client" << EOF
#!/bin/bash
exec /opt/cactus-client/Cactus-1.14-public-linux_x86_64/DDNet
EOF
chmod +x $pkgdir/usr/bin/cactus-client
cat > "$pkgdir/usr/share/applications/cactus-client.desktop" << EOF
[Desktop Entry]
Version=1.14
Name=Cactus Client
StartupNotify=true
TryExec=cactus-client
Exec=cactus-client
Terminal=false
Icon=/opt/cactus-client/cactus-client.png
Type=Application
Categories=Game
EOF
install -Dm0644 "$srcdir/cactus-client.png" "$pkgdir/opt/cactus-client/cactus-client.png"
}
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 |