coolvlviewer-bin

MEDIUM
maintainer toastercup 5 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The PKGBUILD downloads a prebuilt binary installer from sldev.free.fr, which is the official (though personal/hobbyist-style) distribution host for the Cool VL Viewer project — a long-standing third-party Second Life viewer maintained by Henri Beauchamp. The domain is the project's canonical upstream, not a random personal host. However, the binary is executed directly during build() (chmod +x + run as installer), and only a SHA1 checksum is used for integrity verification. SHA1 is cryptographically weak and insufficient for verifying an executed binary. The combination of: (1) a prebuilt binary installer being executed, (2) hosted on a free-tier personal domain (free.fr) with no TLS in the source URL (http://), and (3) only SHA1 integrity checking, constitutes a genuine medium-severity supply-chain risk. If the host were compromised or the binary silently replaced, the weak checksum provides little protection. This is not clearly malicious, but it is a real concern for an executed binary package.

Triggered rules

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:50 "http://sldev.free.fr/binaries/CoolVLViewer-${pkgver}-Linux-x86_64-Setup"
Medium AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt binary installer from sldev.free.fr, which is the official (though personal/hobbyist-style) distribution host for the Cool VL Viewer project — a long-standing third-party Second Life viewer maintained by Henri Beauchamp. The domain is the project's canonical upstream, not a random personal host. However, the binary is executed directly during build() (chmod +x + run as installer), and only a SHA1 checksum is used for integrity verification. SHA1 is cryptographically weak and insufficient for verifying an executed binary. The combination of: (1) a prebuilt binary installer being executed, (2) hosted on a free-tier personal domain (free.fr) with no TLS in the source URL (http://), and (3) only SHA1 integrity checking, constitutes a genuine medium-severity supply-chain risk. If the host were compromised or the binary silently replaced, the weak checksum provides little protection. This is not clearly malicious, but it is a real concern for an executed binary package.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Alex Tharp <alex at toastercup dot io>
2_appname="coolvlviewer"
3pkgname="${_appname}-bin"
4provides=("${_appname}")
5conflicts=("${_appname}")
6pkgver=1.32.2.44
7pkgrel=1
8pkgdesc="A third-party viewer for Second Life and OpenSim grids"
9url="http://sldev.free.fr"
10license=("GPL-2.0-or-later")
11arch=("x86_64")
12depends=(
13 "apr-util"
14 "atk"
15 "gconf"
16 "glib2>=2.32"
17 "glu"
18 "lib32-libidn"
19 "lib32-libsndfile"
20 "lib32-util-linux"
21 "lib32-zlib"
22 "libcups"
23 "libgl"
24 "libidn"
25 "libxcomposite"
26 "libxcrypt-compat"
27 "libxcursor"
28 "libxrandr"
29 "libxss"
30 "libxtst"
31 "mesa"
32 "pangox-compat"
33 "sdl"
34)
35optdepends=(
36 "alsa-lib: for ALSA support"
37 "gst-plugins-bad: for video support"
38 "gst-plugins-good: for video support"
39 "gst-plugins-ugly: for video support"
40 "lib32-alsa-lib: for ALSA support"
41 "lib32-freealut: for OpenAL support"
42 "lib32-libidn11: for voice support"
43 "libpulse: for PulseAudio support"
44 "nvidia-utils: for NVIDIA support"
45 "pepper-flash: for inworld Flash support"
46 "wine: for SLVoice support"
47)
48install="${_appname}.install"
49source=(
50 "http://sldev.free.fr/binaries/CoolVLViewer-${pkgver}-Linux-x86_64-Setup"
51 "${_appname}.desktop"
52)
53sha1sums=(
54 "1deb49fb1e89b2c61ddce1a5f556b69a27418af0"
55 "314763ee16ca2e2224c402ec18bf5b24157ce8b8"
56)
57
58build() {
59 cd "${srcdir}"
60 chmod +x "CoolVLViewer-${pkgver}-Linux-x86_64-Setup"
61
62 ./CoolVLViewer-${pkgver}-Linux-x86_64-Setup --mode silent --destination "${srcdir}/${_appname}/"
63}
64
65package() {
66 install -D -m644 "${srcdir}/${_appname}.desktop" "${pkgdir}/usr/share/applications/${_appname}.desktop"
67 install -D -m755 "${srcdir}/${_appname}/cvlv_icon.png" "${pkgdir}/usr/share/pixmaps/clvl_icon.png"
68 install -D -m644 "${srcdir}/${_appname}/licenses.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
69
70 # Move Data to Destination Directory
71 install -d "${pkgdir}/opt/"
72 mv "${_appname}/" "${pkgdir}/opt/"
73
74 # Change Permissions of files to root:games
75 chown -R root:games "${pkgdir}/opt/${_appname}"
76 chmod -R g+rw "${pkgdir}/opt/${_appname}"
77
78 # Make Binary Group-Executable
79 chmod g+x "${pkgdir}/opt/${_appname}/cool_vl_viewer"
80
81 install -d "${pkgdir}/usr/bin"
82 ln -s "/opt/${_appname}/cool_vl_viewer" "${pkgdir}/usr/bin/${_appname}"
83}
84

Scan history

Scanned at (UTC)SeverityRules
2026-09-17 00:27:14 Medium 2
2026-09-16 00:03:17 Medium 2
2026-09-15 00:25:31 Medium 2
2026-09-14 00:27:57 Medium 2
2026-09-13 00:19:54 Medium 2
2026-09-12 00:25:17 Medium 2
2026-09-11 00:19:22 Medium 2
2026-09-10 00:22:44 Medium 2
2026-09-09 00:04:09 Medium 2
2026-09-08 00:18:08 Medium 2
2026-09-07 00:30:15 Medium 2
2026-09-06 00:17:06 Medium 2
2026-09-05 00:16:27 Medium 2
2026-09-04 00:03:13 Medium 2
2026-09-03 00:15:47 Medium 2
2026-09-02 00:02:31 Medium 2
2026-09-01 00:11:19 Medium 2
2026-08-31 00:19:57 Medium 2
2026-08-30 00:04:14 Medium 2
2026-08-29 00:29:17 Medium 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion