metaelite-proton
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:22
source=("https://cdn.raxxla.org/install/MetaElite-${pkgver}.msi"
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 Windows MSI binary from cdn.raxxla.org, which is a CDN associated with the raxxla.org project (an Elite Dangerous companion tool), not an official software distribution channel like GitHub releases or a major package registry. The MSI is extracted and its contents (including a .exe) are installed into /opt and later executed via a wrapper script under Proton-GE. The integrity check uses only MD5 (weak, collision-prone) rather than SHA256/SHA512, and there are no PGP signatures. While raxxla.org appears to be a legitimate fan/community project for Elite Dangerous, the binary is sourced from a personal/project CDN with no cryptographic verification beyond a weak MD5 hash. This constitutes a genuine supply-chain concern: if cdn.raxxla.org is compromised or the file is silently replaced, users would execute arbitrary Windows PE code inside their Proton prefix. The risk is real but not clearly malicious — this is a medium-severity supply-chain concern.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Alexander Mot <alexander@amot.dev>
pkgname=metaelite-proton
pkgver=1.02
pkgrel=1
epoch=
pkgdesc="Role playing environment for stories in Elite Dangerous. Runs in ED's Proton-GE prefix"
arch=('any')
url="https://raxxla.org"
license=('custom')
groups=()
depends=('protontricks' 'proton-ge-custom')
makedepends=('msitools' 'icoutils')
checkdepends=()
optdepends=()
provides=('metaelite')
conflicts=()
replaces=()
backup=()
options=()
install=metaelite-proton.install
changelog=
source=("https://cdn.raxxla.org/install/MetaElite-${pkgver}.msi"
"metaelite-proton"
"metaelite-proton.desktop")
md5sums=('312d80d06abc0a95f56baa69d43d87d5'
'afe5965bc05c378cf362ff515d287203'
'e039e8c693ba247fb0bd2186d4ad5831')
noextract=()
validpgpkeys=()
package() {
# Extract MSI
msiextract "MetaElite-${pkgver}.msi" -C "$srcdir"
# Install binaries
install -d "${pkgdir}/opt/${pkgname}"
cp -r "${srcdir}/raxxla.org/MetaElite/"* "${pkgdir}/opt/${pkgname}/"
# Rename exe and its matching cfg to be version-agnostic
mv "$pkgdir/opt/$pkgname/MetaElite-${pkgver}.exe" "$pkgdir/opt/$pkgname/MetaElite.exe"
mv "$pkgdir/opt/$pkgname/app/MetaElite-${pkgver}.cfg" "$pkgdir/opt/$pkgname/app/MetaElite.cfg"
# Install wrapper script
install -Dm755 "${srcdir}/${pkgname}" "${pkgdir}/opt/${pkgname}/${pkgname}"
# Install desktop file
install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
# Create icons
mkdir -p icons
msg2 "Extracting icons..."
wrestool -x -t 14 "${pkgdir}/opt/${pkgname}/MetaElite.exe" -o metaelite.ico
icotool -x metaelite.ico -o icons/
# Install icons (auto-detect valid sizes)
cd icons
for icon in *.png; do
res=$(echo "$icon" | cut -d'_' -f3 | cut -d'x' -f1)
if [[ "$res" =~ ^(16|24|32|48|64|96|128|256)$ ]]; then
install -Dm644 "$icon" "${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/${pkgname}.png"
fi
done
}
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 |