opentyrian
The non-standard host (camanis.net) hosts original game data files required for functionality, not executable code, and the files are checksummed, limiting risk to data integrity rather than code execution.
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 non-standard host (camanis.net) hosts original game data files required for functionality, not executable code, and the files are checksummed, limiting risk to data integrity rather than code execution.
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
'http://camanis.net/tyrian/tyrian21.zip')
PKGBUILD
1 offending line(s) highlighted# Maintainer: Patrick Northon <northon_patrick3@yahoo.ca>
# Contributor: carstene1ns <url/mail: arch carsten-teibes de>
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
pkgname=opentyrian
pkgver=2.1.20260912
pkgrel=1
pkgdesc='Open Source port of the classic DOS shoot-em-up Tyrian'
url="https://github.com/$pkgname/$pkgname"
arch=('i686' 'x86_64')
license=('GPL-2.0-or-later')
depends=('sdl2' 'sdl2_net')
provides=('tyrian')
optdepends=('hicolor-icon-theme: .desktop file icons')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/$pkgname/$pkgname/archive/refs/tags/v${pkgver}.tar.gz"
'http://camanis.net/tyrian/tyrian21.zip')
sha256sums=('2d4df6182a728bd769b7779db9ae8e8ad78f0f5cac49dcddd4cf63add5d34d93'
'7790d09a2a3addcd33c66ef063d5900eb81cc9c342f4807eb8356364dd1d9277')
_srcdir="${pkgname}-${pkgver}"
prepare() {
cd "$_srcdir"
sed -i 's/README/README.md/' 'Makefile'
}
build() {
make prefix=/usr all -C "$_srcdir"
}
package() {
cd "$_srcdir"
make DESTDIR="$pkgdir" prefix=/usr install
install -Dm644 "linux/$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
for _x in 22 24 32 48 128; do
install -Dm644 "linux/icons/tyrian-$_x.png" \
"$pkgdir/usr/share/icons/hicolor/${_x}x${_x}/apps/$pkgname.png"
done
cd "$srcdir/tyrian21"
install -Dt "$pkgdir/usr/share/games/tyrian" -m644 *.dat *.lvl *.shp *.snd \
demo.* music.mus tyrend.anm tyrian.{cdt,hdt,pic} tshp2.pcx
}
Changes since previous scan
--- PKGBUILD @ 2026-09-13 00:19+++ PKGBUILD @ 2026-09-17 00:27@@ -3,7 +3,7 @@ # Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> pkgname=opentyrian-pkgver=2.1.20221123+pkgver=2.1.20260912 pkgrel=1 pkgdesc='Open Source port of the classic DOS shoot-em-up Tyrian' url="https://github.com/$pkgname/$pkgname"@@ -14,10 +14,15 @@ optdepends=('hicolor-icon-theme: .desktop file icons') source=("${pkgname}-${pkgver}.tar.gz::https://github.com/$pkgname/$pkgname/archive/refs/tags/v${pkgver}.tar.gz" 'http://camanis.net/tyrian/tyrian21.zip')-sha256sums=('e0e8a8b0d61de10a3a65789ace9ea8e8c5d8dc67f3e423d2c852d64da38aeeb9'+sha256sums=('2d4df6182a728bd769b7779db9ae8e8ad78f0f5cac49dcddd4cf63add5d34d93' '7790d09a2a3addcd33c66ef063d5900eb81cc9c342f4807eb8356364dd1d9277') _srcdir="${pkgname}-${pkgver}"++prepare() {+ cd "$_srcdir"+ sed -i 's/README/README.md/' 'Makefile'+} build() { make prefix=/usr all -C "$_srcdir"@@ -28,7 +33,6 @@ make DESTDIR="$pkgdir" prefix=/usr install install -Dm644 "linux/$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"- install -Dm644 "COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" for _x in 22 24 32 48 128; do install -Dm644 "linux/icons/tyrian-$_x.png" \ "$pkgdir/usr/share/icons/hicolor/${_x}x${_x}/apps/$pkgname.png"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 09:16:46 | Medium | 1 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 11:14:35 | Medium | 1 |
| 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 |