lmstudio-beta
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
source=("$filename::https://installers.lmstudio.ai/linux/x64/${pkgver}-1/LM-Studio-${pkgver}-1-x64.deb")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): This PKGBUILD downloads a prebuilt binary .deb from installers.lmstudio.ai, which is the official LM Studio distribution host (lmstudio.ai is the vendor's domain, and installers.lmstudio.ai is their CDN/installer endpoint). The sha256 checksum is pinned. The pattern is identical to many legitimate proprietary software AUR packages (e.g., zoom, slack, discord) that pull vendor-provided .deb files. The host is not unofficial or personal — it is the vendor's own infrastructure. However, since this is a closed-source prebuilt binary executed directly on the user's system with no source verification possible beyond the checksum, and the host could theoretically serve different content if compromised, the supply-chain concern is real but inherent to all proprietary binary packages. This is standard practice for proprietary software in the AUR and does not represent an elevated threat beyond what is normal for such packages. The cheaper model's MEDIUM rating is technically defensible but overstates the risk relative to comparable accepted AUR packages. I rate this clean/low — the pattern is normal for proprietary vendor-distributed software, the checksum is present, and the host is the vendor's own domain.
PKGBUILD
1 offending line(s) highlighted# Maintainer: jeryd leuck <jerydleuck@gmail.com>
# Contributor: envolution <envolution at mesh dot xyz>
# Contributor: SoleSoul
pkgname=lmstudio-beta
_appname=lm-studio
pkgver=0.4.14
pkgrel=1
pkgdesc="Discover, download, and run local LLMs (Professional Beta Repack)"
arch=('x86_64')
url="https://lmstudio.ai/"
license=('LicenseRef-EULA')
depends=('alsa-lib' 'at-spi2-core' 'atk' 'cairo' 'dbus' 'expat' 'gcc-libs' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libcups' 'libdrm' 'libx11' 'libxcb' 'libxcomposite' 'libxdamage' 'libxext' 'libxfixes' 'libxi' 'libxkbcommon' 'libxrandr' 'libxrender' 'libxshmfence' 'mesa' 'nss' 'pango')
optdepends=('cuda: NVIDIA GPU acceleration'
'rocm-core: AMD GPU acceleration')
provides=('lmstudio')
conflicts=('lmstudio-beta-appimage')
filename="LM-Studio-${pkgver}-1-x64.deb"
source=("$filename::https://installers.lmstudio.ai/linux/x64/${pkgver}-1/LM-Studio-${pkgver}-1-x64.deb")
sha256sums=('b6a5a61f0058f72f8ad77ceaa6a669b473303f304574ea8f0ba54ccf60e68ee2')
package() {
# Extract data.tar.xz from the debian package
bsdtar -xOf "$srcdir/$filename" data.tar.xz | bsdtar -C "$pkgdir" -xv
# Fix permissions for chrome-sandbox (required for Electron sandboxing)
chmod 4755 "$pkgdir/opt/LM-Studio/chrome-sandbox"
# Create symlink for terminal access
install -d "$pkgdir/usr/bin"
ln -s /opt/LM-Studio/lm-studio "$pkgdir/usr/bin/lmstudio-beta"
ln -s /opt/LM-Studio/lm-studio "$pkgdir/usr/bin/lms-beta"
# Fix the icon path (the .deb uses usr/share/icons/hicolor/0x0/...)
install -d "$pkgdir/usr/share/icons/hicolor/512x512/apps"
mv "$pkgdir/usr/share/icons/hicolor/0x0/apps/lm-studio.png" \
"$pkgdir/usr/share/icons/hicolor/512x512/apps/lmstudio-beta.png"
rmdir "$pkgdir/usr/share/icons/hicolor/0x0/apps"
rmdir "$pkgdir/usr/share/icons/hicolor/0x0"
# Fix the desktop file
mv "$pkgdir/usr/share/applications/lm-studio.desktop" "$pkgdir/usr/share/applications/lmstudio-beta.desktop"
sed -i 's/^Name=.*/Name=LM Studio Beta/' "$pkgdir/usr/share/applications/lmstudio-beta.desktop"
sed -i "s|^Exec=.*|Exec=/usr/bin/lmstudio-beta %U|" "$pkgdir/usr/share/applications/lmstudio-beta.desktop"
sed -i 's/^Icon=.*/Icon=lmstudio-beta/' "$pkgdir/usr/share/applications/lmstudio-beta.desktop"
# Install License
install -Dm644 "$pkgdir/opt/LM-Studio/LICENSE.electron.txt" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.electron"
}
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 |