cactus-client

MEDIUM
maintainer rXelelo 2 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

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

Medium source=() URL on a non-standard host 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")
Medium AI review 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
1# Maintainer: Rain Xelelo <rxelelo@outlook.com>
2
3pkgname=cactus-client
4pkgver=1.15
5pkgrel=1
6# allow testing locally a release candidate using pkgver like '19.3rc3'
7_version=${pkgver/rc/-rc}
8pkgdesc="A DDRaceNetwork modification adding new feauters"
9arch=('x86_64')
10url="https://cactuss.top//"
11license=()
12depends=('freetype2' 'opusfile' 'curl' 'glew' 'wavpack' 'ffmpeg' 'libnotify' 'miniupnpc' 'sqlite' 'mariadb-libs' 'vulkan-icd-loader')
13checkdepends=('gmock')
14optdepends=('ddnet-maps-git: All the maps used on the official DDNet Servers.'
15 'discord-game-sdk: Enable rich presence in Discord desktop client.')
16backup=('usr/share/ddnet/data/autoexec_server.cfg')
17
18source=("https://dw.cactuss.top/$_version/Cactus-$_version-public-linux_x86_64.tar.xz" "cactus-client.png")
19sha256sums=('70b5afcdbf7f8ec875780391b2238a29dec3fc2c420bc72f7dbfaf86d56f397b'
20 '8508552983950820bd5c8829bd43e714a4a958a084211dc1a8be6619f8d0b742')
21
22prepare() {
23 mkdir -p cactus
24 bsdtar -xf "Cactus-$_version-public-linux_x86_64.tar.xz" -C cactus
25 chmod +x cactus/Cactus-$_version-public-linux_x86_64/DDNet
26}
27
28
29package() {
30 install -dm0755 "$pkgdir/opt"
31 install -dm0755 "$pkgdir/usr/bin"
32 install -dm0755 "$pkgdir/usr/share/applications"
33 cp -a cactus "$pkgdir/opt/$pkgname"
34 cat > "$pkgdir/usr/bin/cactus-client" << EOF
35#!/bin/bash
36exec /opt/cactus-client/Cactus-1.14-public-linux_x86_64/DDNet
37EOF
38 chmod +x $pkgdir/usr/bin/cactus-client
39 cat > "$pkgdir/usr/share/applications/cactus-client.desktop" << EOF
40[Desktop Entry]
41Version=1.14
42Name=Cactus Client
43StartupNotify=true
44TryExec=cactus-client
45Exec=cactus-client
46Terminal=false
47Icon=/opt/cactus-client/cactus-client.png
48Type=Application
49Categories=Game
50EOF
51 install -Dm0644 "$srcdir/cactus-client.png" "$pkgdir/opt/cactus-client/cactus-client.png"
52}
53

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion