coolvlviewer-experimental
The source is a tarball from a project-associated domain (sldev.free.fr) used to build the software from source; while the host is not standard, it is plausibly the developer's own, and the package does not execute untrusted prebuilt binaries or exfiltrate 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 source is a tarball from a project-associated domain (sldev.free.fr) used to build the software from source; while the host is not standard, it is plausibly the developer's own, and the package does not execute untrusted prebuilt binaries or exfiltrate 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:25
source=("http://sldev.free.fr/sources/CoolVLViewer-src-${pkgver//./}.tar.bz2"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Alex Tharp <alex at toastercup dot io>
pkgname=coolvlviewer-experimental
pkgver=1.32.1.9
pkgrel=1
pkgdesc="A third-party viewer for Second Life (C) (secondlife) and OpenSim (opensimulator) grids. ('VL' stands for virtual life, formerly known as 'Cool SL Viewer'; built from source)"
url="http://sldev.free.fr"
license=('custom')
depends=('apr-util' 'glib2>=2.32' 'libgl' 'libidn' 'mesa' 'sdl' 'glu' 'pangox-compat' 'gconf' 'libxss' 'libxrandr' 'libxcomposite' 'libgl' 'lib32-zlib' 'libcups' 'atk' 'lib32-util-linux' 'lib32-libsndfile' 'lib32-libidn' 'libxcursor' 'libxtst')
optdepends=(
'libpulse: for PulseAudio support'
'alsa-lib: for ALSA support'
'lib32-alsa-lib: for ALSA support'
'nvidia-utils: for NVIDIA support'
'pepper-flash: for inworld Flash support'
'gst-plugins-good: for video support'
'gst-plugins-bad: for video support'
'gst-plugins-ugly: for video support'
'lib32-freealut: for OpenAL support'
'lib32-libidn11: for voice support'
'wine: for SLVoice support')
makedepends=("cmake" "bison" "flex" "python" "make" "bzip2" "glibc" "libx11" "libgl" "libxrender" "libidn" "libxinerama" "lib32-libxinerama")
arch=('x86_64')
conflicts=('coolvlviewer-bin' 'coolvlviewer' 'coolvlviewer-experimental-bin')
install=coolvlviewer.install
source=("http://sldev.free.fr/sources/CoolVLViewer-src-${pkgver//./}.tar.bz2"
"coolvlviewer.desktop"
"coolvlviewer.launcher")
sha1sums=('ac357f65ad0321475f6b3a9bfb4bb73eece1edf5'
'd5defd3d847fcfb7cdf41150ab55684dedc79275'
'3ef1284a00a4437e4c34f809311ee0672604ef04')
build() {
cd $srcdir/linden
./linux-build.sh
}
package() {
# Install Desktop File
install -D -m644 $srcdir/coolvlviewer.desktop \
$pkgdir/usr/share/applications/coolvlviewer.desktop
# Install Icon File
install -D -m755 $srcdir/linden/indra/viewer-linux-x86_64-release/newview/CoolVLViewer-x86_64-$pkgver/cvlv_icon.png \
$pkgdir/usr/share/pixmaps/clvl_icon.png
# Install Launcher
install -D -m755 $srcdir/coolvlviewer.launcher \
$pkgdir/usr/bin/coolvlviewer
# Install License
install -D -m644 $srcdir/linden/indra/viewer-linux-x86_64-release/newview/CoolVLViewer-x86_64-$pkgver/licenses.txt \
$pkgdir/usr/share/licenses/$pkgname/LISENSE
# Move Data to Destination Directory
mv $srcdir/linden/indra/viewer-linux-x86_64-release/newview/CoolVLViewer-x86_64-$pkgver/ $srcdir/coolvlviewer
install -d $pkgdir/opt/
mv coolvlviewer/ $pkgdir/opt/
# Change Permissions of files to root:games
chown -R root:games $pkgdir/opt/coolvlviewer
chmod -R g+rw $pkgdir/opt/coolvlviewer
# Make Binary Group-Executable
chmod g+x $pkgdir/opt/coolvlviewer/cool_vl_viewer
}
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 |