smart-kobold
maintainer keenerd
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The source is a project-specific zip file from the author's own domain, used to build the game; the non-whitelisted host is plausibly official, and the package installs only data and a compiled binary from that source without executing remote code or introducing untrusted dependencies.
Triggered rules
LOW
AI review downgraded a static finding
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 source is a project-specific zip file from the author's own domain, used to build the game; the non-whitelisted host is plausibly official, and the package installs only data and a compiled binary from that source without executing remote code or introducing untrusted dependencies.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:10
source=(http://www.zincland.com/7drl/kobold/kobold$pkgver.zip)
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Kyle Keen <keenerd@gmail.com>
2
pkgname=smart-kobold
3
pkgver=002
4
pkgrel=1
5
pkgdesc="Kobolds in this roguelike are smarter than your average kobold."
6
arch=('i686' 'x86_64')
7
url="http://www.zincland.com/7drl/kobold/"
8
license=('BSD')
9
depends=('libtcod' 'sdl_mixer')
10
source=(http://www.zincland.com/7drl/kobold/kobold$pkgver.zip)
11
md5sums=('c2feb1e7202fdd8cf4e740f47faac301')
12
13
build() {
14
cd "$srcdir/kobold$pkgver"
15
cd src/support/enummaker
16
make
17
cd ../../linux
18
../support/enummaker/enummaker ../source.txt
19
20
# paths
21
sed -i 's|../music/|/usr/share/kobold/|' ../kobold.cfg
22
sed -i 's|../kobold.cfg|/etc/kobold.cfg|' ../main.cpp
23
sed -i '1073i TCODConsole::setCustomFont("/usr/share/kobold/terminal.png", TCOD_FONT_LAYOUT_ASCII_INCOL | TCOD_FONT_TYPE_GREYSCALE);' ../main.cpp
24
sed -i 's|../rooms|/usr/share/kobold/rooms|' ../map.cpp
25
sed -i 's|../text.txt|/usr/share/kobold/text.txt|' ../text.cpp
26
27
# use our libs
28
sed -i 's|../lib/libtcod-1.5.0/include|/usr/include/libtcod/|' Makefile
29
sed -i 's|../lib/libtcod-1.5.0|/usr/lib/|' Makefile
30
31
# stdlib is smaller than you think
32
sed -i '28i #include <unistd.h>' ../map.cpp
33
sed -i '24i #include <stdio.h>' ../mob.cpp
34
35
# patches for libtcod 1.5.1
36
sed -i 's/setBack/setCharBackground/g' ../{firefly,gfxengine}.cpp
37
sed -i 's/setFore/setCharForeground/g' ../gfxengine.cpp
38
39
sed -i '197i myNoise[n]->setType(TCOD_NOISE_WAVELET);' ../firefly.cpp
40
sed -i '375i glbPulseNoise->setType(TCOD_NOISE_WAVELET);' ../gfxengine.cpp
41
sed -i 's/getTurbulenceWavelet/getTurbulence/g' ../{firefly,gfxengine}.cpp
42
sed -i 's/getWavelet(np)/get(np, TCOD_NOISE_WAVELET)/g' ../firefly.cpp
43
44
make
45
# complaints about undefined references to __sync_fetch_and_add_4 ?
46
# make --march=pentium4
47
}
48
49
package() {
50
cd "$srcdir/kobold$pkgver"
51
cd src/linux
52
install -Dm755 kobold_bin "$pkgdir/usr/bin/kobold"
53
cd ../rooms
54
install -d "$pkgdir/usr/share/kobold/rooms"
55
cp *.map "$pkgdir/usr/share/kobold/rooms"
56
cd ..
57
install -Dm664 -g games kobold.cfg "$pkgdir/etc/kobold.cfg"
58
install -Dm644 text.txt "$pkgdir/usr/share/kobold/text.txt"
59
cd ..
60
install -Dm644 music/azogs_march_2.ogg "$pkgdir/usr/share/kobold/azogs_march_2.ogg"
61
install -Dm644 windows/terminal.png "$pkgdir/usr/share/kobold/terminal.png"
62
}
63
64
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |