ailinux-client
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:24
source=("https://repo.ailinux.me/mirror/archive.ailinux.me/pool/main/a/ailinux-client/ailinux-client_${pkgver}.orig.tar.gz")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): The PKGBUILD downloads a source tarball from a personal/project host (repo.ailinux.me) with sha256sums=('SKIP'), meaning no integrity verification whatsoever. The tarball is then executed: Python code from it is installed via pip/setup.py/installer. This is a real supply-chain risk — if the host is compromised or the maintainer pushes a malicious tarball, arbitrary code runs during installation with no checksum to detect tampering. The host is the same organization as the maintainer, which is not inherently malicious, but it is not an official upstream mirror or language-ecosystem index (PyPI). The SKIP checksum combined with a non-standard host and executed Python code meets the medium threshold. No evidence of active malice, obfuscation, or piracy.
PKGBUILD
1 offending line(s) highlighted# Maintainer: AILinux Repository <admin@ailinux.me>
pkgname=ailinux-client
pkgver=4.2.0
pkgrel=1
pkgdesc="AILinux Client - Multi-LLM AI Assistant with MCP Integration"
arch=('x86_64')
url="https://ailinux.me"
license=('MIT')
depends=(
'python>=3.10'
'python-pyqt6'
'python-pyqt6-webengine'
'python-httpx'
'python-cryptography'
'python-keyring'
'qt6-webengine'
'qt6-base'
'tor'
)
optdepends=(
'python-pystemmer: Enhanced search capabilities'
'ollama: Local AI model support'
)
source=("https://repo.ailinux.me/mirror/archive.ailinux.me/pool/main/a/ailinux-client/ailinux-client_${pkgver}.orig.tar.gz")
sha256sums=('SKIP')
package() {
cd "$srcdir/ailinux-client-${pkgver}"
# Python-Paket installieren
python -m installer --destdir="$pkgdir" dist/*.whl 2>/dev/null || \
pip install --root="$pkgdir" --no-deps --ignore-installed . 2>/dev/null || \
python setup.py install --root="$pkgdir" --optimize=1
# Desktop-Datei
install -Dm644 /dev/stdin "$pkgdir/usr/share/applications/ailinux-client.desktop" << DESKTOP
[Desktop Entry]
Name=AILinux Client
Comment=Multi-LLM AI Assistant
Exec=ailinux-client
Icon=ailinux-client
Type=Application
Categories=Utility;Development;
Keywords=AI;LLM;Assistant;Claude;GPT;
DESKTOP
# Icon (falls vorhanden)
if [ -f "assets/icon.png" ]; then
install -Dm644 assets/icon.png "$pkgdir/usr/share/icons/hicolor/256x256/apps/ailinux-client.png"
fi
# Lizenz
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" 2>/dev/null || true
}
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 |