slune
Triggered rules
llm_review
The static rules flagged this HIGH, but an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed the full PKGBUILD and judged it LOW (confidence 85%): This PKGBUILD is a legitimate (if sloppy) packaging of the 'slune' racing game using miniconda to provide a Python 2.7 environment, since Python 2.7 is EOL and unavailable in standard Arch repos. The patterns flagged are real but not malicious: (1) curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python fetches from the official PyPI bootstrap URL for Python 2.7 pip - this is the canonical method recommended by PyPA for Python 2.7; (2) pip install of 'cython<3' and 'slune' from PyPI are legitimate packages; (3) conda-forge is an official, well-known conda channel. The main security concern is the absence of checksums for downloaded content (get-pip.py, PyPI packages, conda packages), which is a supply-chain hygiene issue but not active malware or exfiltration. The overall pattern is a known workaround for packaging EOL Python 2.7 software. No obfuscation, no attacker-controlled hosts, no data exfiltration, no source substitution. The HIGH rating was a false positive driven by the curl|python pattern and external downloads without checksums.
4 higher static findings superseded - not the current verdict (shown for transparency)
curl_pipe_shell
curl/wget/fetch output reaches a shell (via pipe, xargs, process substitution, `sh -c "$(…)"`, or `| source`), executing remote code that was never reviewed or checksummed.
-
PKGBUILD:41
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python && \
external_download_not_in_source
curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.
-
PKGBUILD:41
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python && \
pip_install_external
`pip install <package>` fetches an unpinned package from PyPI at build time, outside source=() and makepkg's checksums.
-
PKGBUILD:42
pip install 'cython<3' && \ -
PKGBUILD:43
pip install slune
alt_pkg_manager_install
A non-pip/npm package manager (pipx, uv, poetry, cargo install, go install, gem, conda…) fetches and builds an external package at build time, outside source=() and makepkg's checksums.
-
PKGBUILD:39
conda install 'python=2.7.18' -y && \ -
PKGBUILD:40
conda install -c conda-forge conda-pack -y && \
PKGBUILD
5 offending line(s) highlighted# Maintainer: Yuriy Davygora <davygora@gmail.com>
_pkgname="slune"
pkgname="$_pkgname"
pkgver=1.0.16
pkgrel=4
pkgdesc='A racing game'
arch=(x86_64)
url='http://www.lesfleursdunormal.fr/static/informatique/old/slune/index_en.html'
license=(GPL2)
_condaenv=slune_conda
_installpath=/opt/slune
makedepends=(
'miniconda3'
'base-devel'
'tar'
'gzip'
'curl'
)
depends=(
'cal3d'
'glew'
'sdl12-compat'
'freetype2'
'openal'
'ode'
)
build() {
# Create a relocatable conda env
. /opt/miniconda3/etc/profile.d/conda.sh &&
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main &&
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r &&
conda create -p "$_condaenv" -y && \
conda activate "$_condaenv/" && \
conda install 'python=2.7.18' -y && \
conda install -c conda-forge conda-pack -y && \
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python && \
pip install 'cython<3' && \
pip install slune
conda-pack --ignore-missing-files -f
# Create a launcher file
cat << EOF > slune
#!/bin/sh
$_installpath/bin/python $_installpath/bin/slune
EOF
# Create a .desktop file
cat << 'EOF' > "slune.desktop"
[Desktop Entry]
Encoding=UTF-8
Name=Slune
GenericName=Arcade Game
Comment=A racing game.
Exec=slune
Icon=slune
MiniIcon=slune
Type=Application
Terminal=0
Categories=Game
EOF
}
package() {
# Unpack conda env at the correct location
install -Dm644 "$_condaenv.tar.gz" "$pkgdir$_installpath/$_condaenv.tar.gz"
tar -xvzf "$pkgdir$_installpath/$_condaenv.tar.gz" -C "$pkgdir$_installpath"
rm "$pkgdir$_installpath/$_condaenv.tar.gz"
# Install launcher
install -Dm755 "slune" "$pkgdir/usr/bin/slune"
# Install icons
for i in 16 32 48 ; do
install -Dm644 "$_condaenv/lib/python2.7/site-packages/slune/images/slune.$i.png" \
"$pkgdir/usr/share/icons/hicolor/${i}x$i/apps/slune.png"
done
# Install .desktop file
install -Dm644 "slune.desktop" "$pkgdir/usr/share/applications/slune.desktop"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 5 |
| 2026-08-02 00:16:08 | LOW | 5 |
| 2026-08-01 00:11:18 | LOW | 5 |
| 2026-07-31 00:14:10 | LOW | 5 |
| 2026-07-30 00:17:23 | LOW | 5 |
| 2026-07-29 00:25:53 | LOW | 5 |
| 2026-07-28 00:07:28 | LOW | 5 |
| 2026-07-27 00:24:32 | LOW | 5 |
| 2026-07-26 00:07:32 | LOW | 5 |
| 2026-07-25 00:13:44 | LOW | 5 |
| 2026-07-24 00:02:28 | LOW | 5 |
| 2026-07-23 00:14:47 | LOW | 5 |
| 2026-07-22 00:29:32 | LOW | 5 |
| 2026-07-21 00:24:15 | LOW | 5 |
| 2026-07-20 00:19:49 | LOW | 5 |
| 2026-07-19 00:17:08 | LOW | 5 |
| 2026-07-18 00:14:48 | LOW | 5 |
| 2026-07-17 00:06:16 | LOW | 5 |
| 2026-07-16 00:05:41 | LOW | 5 |
| 2026-07-15 00:09:25 | LOW | 5 |