urbanterror
The package downloads a full game data zip from a non-whitelisted but plausibly project-associated host (happyurtday.com, related to Urban Terror), which is then installed as data and binaries; the source is verifiable via matching sha512sum, and the build process installs only expected game files and scripts without executing remote code or exfiltrating data.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a full game data zip from a non-whitelisted but plausibly project-associated host (happyurtday.com, related to Urban Terror), which is then installed as data and binaries; the source is verifiable via matching sha512sum, and the build process installs only expected game files and scripts without executing remote code or exfiltrating data.
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:16
source=("http://www.happyurtday.com/releases/4x/UrbanTerror${pkgver//.}_full.zip"
PKGBUILD
1 offending line(s) highlighted# $Id: PKGBUILD 211456 2017-02-09 14:01:34Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: grimi <grimi at poczta dot fm>
pkgname=urbanterror
pkgver=4.3.4
pkgrel=1
epoch=1
pkgdesc="A team-based tactical shooter based on the Quake 3 Engine"
arch=('x86_64')
url="http://www.urbanterror.info"
license=('GPL2')
depends=('sdl' 'openal' 'curl')
backup=('opt/urbanterror/q3ut4/server.cfg' 'opt/urbanterror/q3ut4/mapcycle.txt')
makedepends=('mesa')
source=("http://www.happyurtday.com/releases/4x/UrbanTerror${pkgver//.}_full.zip"
"urbanterror.sh"
"urbanterror-server.sh"
"urbanterror.desktop"
"urbanterror.png")
sha512sums=('4debd6f998943cf9944ed891a3d1f3fa7d016d181d7af7cd5c28690bcd765928b4befc3f3705a4315bfa709acdd34160ed8f2d7437a54cfd10f6c48fea60af39'
'd296cee59c9a344b03485b2400278f05d4a4edd8f782f72b10857d4654d46ff1b6f181c51abb5a718d6b4a7227601d67fb2ba2b3fe7876bfec17b7c9827525a0'
'6f444b1203b8c1a66c86a2112f3565059ba1135940cef37208ea05933290e1b3b9d8325c7fc86466fd8646338c8deaa168a22049104bda0631eab76a21a77e51'
'33cb13820002f6620075143a1729018caf70a7cceb9b606db295fd621833add127474f1399626d722a3a8a7d9ba001b6dada4ca877ec87251a32d616367991d4'
'aad7cf50335d7d1a1bcb03be0cf52f8e8214e91d7ff1c76045ffed57ba599023468341a3ae07abb8b06ef2857deeae8610defdd2dc8a3e5fb48eeb3ca2033074')
package() {
install -d "${pkgdir}/opt/urbanterror"
cd "${pkgdir}/opt/urbanterror"
# Copy binaries.
install -m755 "${srcdir}/UrbanTerror43/Quake3-UrT.x86_64" urbanterror
install -m755 "${srcdir}/UrbanTerror43/Quake3-UrT-Ded.x86_64" urbanterror-ded
# Copy data
cp -r "${srcdir}/UrbanTerror43/q3ut4" "${pkgdir}/opt/urbanterror/q3ut4"
install -Dm644 "${srcdir}/UrbanTerror43/q3ut4/readme43.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
echo -e "\nseta cl_cURLLib \"/usr/lib/libcurl.so.4\"" >> "${pkgdir}/opt/urbanterror/q3ut4/autoexec.cfg"
# Copy desktop launcher.
install -Dm644 "${srcdir}/urbanterror.desktop" "${pkgdir}/usr/share/applications/urbanterror.desktop"
install -Dm644 "${srcdir}/urbanterror.png" "${pkgdir}/usr/share/pixmaps/urbanterror.png"
# Copy launch scripts.
install -Dm755 "${srcdir}/urbanterror.sh" "${pkgdir}/usr/bin/urbanterror"
install -Dm755 "${srcdir}/urbanterror-server.sh" "${pkgdir}/usr/bin/urbanterror-server"
}
# vim: sw=2:ts=2 et:
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 |