kokua-opensim
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:19
"https://www.dropbox.com/s/5p6io8zqc33idwh/kokua_icon.png"
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): This PKGBUILD installs a prebuilt binary tarball (a full Second Life/OpenSim viewer) from SourceForge via a CDN mirror (netix.dl.sourceforge.net). SourceForge CDN mirrors are legitimate and the URL pattern matches the official SourceForge download infrastructure — netix is a known SourceForge mirror node, not a personal host. However, the package also pulls an icon PNG from a personal Dropbox link (dropbox.com/s/...), which is an unofficial, user-controlled host. More importantly, the core concern is that a prebuilt x86_64 binary blob is being installed to /opt and executed directly — this is the classic medium-risk pattern for AUR packages: executed code from a source that cannot be independently verified as the canonical upstream build. The md5sums provide weak integrity guarantees (MD5 is broken for collision resistance). The SourceForge project 'kokua.team-purple.p' appears to be the legitimate upstream project page for Kokua viewer. Overall this is a real but not clearly malicious supply-chain concern: prebuilt binary from a plausible but not cryptographically verified source, plus a Dropbox asset. Rated medium.
PKGBUILD
1 offending line(s) highlighted# Maintainer: GordonGR <ntheo1979@gmail.com>
# Contributor: mikers <mikeonthecomputer@gmail.com>
# Contributor: Splex
pkgname=kokua-opensim
pkgver=4.2.2.41800
_pkgver=4_2_2_41800
_pkgprever=4.2.2
pkgrel=1
pkgdesc="An Open Source third party viewer for Open Simulator (opensim) grids, only."
url="http://www.kokuaviewer.org"
license=('GPL')
arch=('i686' 'x86_64')
depends=('apr-util' 'gtk2' 'libgl' 'libidn' 'libjpeg-turbo' 'mesa' 'nss' 'sdl' 'glu' 'pangox-compat')
optdepends=('libpulse: for PulseAudio support' 'alsa-lib: for ALSA support' 'nvidia-utils: for NVIDIA support' 'pepper-flash: for inworld Flash support' 'gstreamer0.10: for video support, may need good, bad and ugly plugins' 'lib32-freealut: for OpenAL support')
conflicts=('kokua-secondlife')
source=("https://netix.dl.sourceforge.net/project/kokua.team-purple.p/Kokua-OS/Linux64Bit/KokuaOS_RLV_64_${_pkgver}_x86_64.tar.txz"
"https://www.dropbox.com/s/5p6io8zqc33idwh/kokua_icon.png"
'kokua-opensim.desktop'
'kokua-opensim.launcher')
md5sums=('75407ffe38350644138dd36c9930af04'
'58ffa08dac5f50fb6ffefa79ce369653'
'a5b15ff4dd93dbfc01ee6d7c799728d0'
'dd2d31fddb0b67846c1dfd3bfed88859')
package() {
cd $srcdir
# Rename Data Directory
mv KokuaOS_RLV_64_${_pkgver}_$CARCH kokua-opensim
# Install Desktop File
install -D -m644 $srcdir/kokua-opensim.desktop \
$pkgdir/usr/share/applications/kokua-opensim.desktop
# Install Icon File
install -D -m644 $srcdir/kokua_icon.png \
$pkgdir/usr/share/pixmaps/kokua-opensim.png
# Install Launcher
install -D -m755 $srcdir/kokua-opensim.launcher \
$pkgdir/usr/bin/kokua-opensim
# Move Data to Destination Directory
install -d $pkgdir/opt
mv kokua-opensim $pkgdir/opt/
# Change Permissions of files to root:games
chown -R root:games $pkgdir/opt/kokua-opensim
chmod -R g+rw $pkgdir/opt/kokua-opensim
# Make Binary Group-Executable
chmod g+x $pkgdir/opt/kokua-opensim/kokua
# Do not re-register the application with the desktop system at every launch, saves from locally installed desktop files.
sed -i 's|./etc/refresh_desktop_app_entry.sh|#./etc/refresh_desktop_app_entry.sh|' $pkgdir/opt/kokua-opensim/kokua
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |