ethos-lang
The PKGBUILD pulls Nuitka from PyPI via pip --user during build, which is non-standard packaging practice (makedepends should list python-nuitka or use a proper source). However, Nuitka is a well-known, widely-used Python compiler available on PyPI with a strong upstream identity, not an obscure or personal package. The actual installed artifact is a compiled binary from the tagged GitHub source of ethos-lang itself, not from the pip-installed tool. The supply-chain concern is real but minor: pip install without a pinned version/hash is sloppy and could theoretically pull a compromised Nuitka release, but this is a standard ecosystem tool with high visibility. The source uses a git tag (though sha256sums is SKIP, which is acceptable for VCS sources). Overall this is a packaging quality issue rather than a genuine medium-severity supply-chain threat.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed the full PKGBUILD and judged it LOW (confidence 82%): The PKGBUILD pulls Nuitka from PyPI via pip --user during build, which is non-standard packaging practice (makedepends should list python-nuitka or use a proper source). However, Nuitka is a well-known, widely-used Python compiler available on PyPI with a strong upstream identity, not an obscure or personal package. The actual installed artifact is a compiled binary from the tagged GitHub source of ethos-lang itself, not from the pip-installed tool. The supply-chain concern is real but minor: pip install without a pinned version/hash is sloppy and could theoretically pull a compromised Nuitka release, but this is a standard ecosystem tool with high visibility. The source uses a git tag (though sha256sums is SKIP, which is acceptable for VCS sources). Overall this is a packaging quality issue rather than a genuine medium-severity supply-chain threat.
1 higher static finding superseded - not the current verdict (shown for transparency)
pip_install_external
`pip install <package>` fetches an unpinned package from PyPI at build time, outside source=() and makepkg's checksums.
-
PKGBUILD:19
python3 -m pip install --user --break-system-packages nuitka
PKGBUILD
1 offending line(s) highlighted# Maintainer: Aman Adlakha <amanady125@gmail.com>
pkgname=ethos-lang
pkgver=0.5.0
pkgrel=1
pkgdesc="The Ethos Programming Language Compiler"
arch=('x86_64' 'aarch64')
url="https://github.com/AmanCode22/ethos-lang"
license=('Apache-2.0')
depends=('python' 'python-zstandard' 'gcc' 'patchelf')
optdepends=('ethos-forge: for managing Ethos packages and projects')
makedepends=('git' 'python-pip')
source=("git+https://github.com/AmanCode22/ethos-lang.git#tag=v${pkgver}")
sha256sums=('SKIP')
options=('!strip')
build() {
cd "${pkgname}"
# Install Nuitka locally for build
python3 -m pip install --user --break-system-packages nuitka
# Compile Ethos using memory-safe flags
python3 -m nuitka --assume-yes-for-downloads --jobs=1 --lto=no --low-memory --onefile main.py --output-filename=ethos
}
package() {
cd "${pkgname}"
install -Dm755 ethos "${pkgdir}/usr/bin/ethos"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 00:06:47 | Low | 2 |
| 2026-10-13 00:23:45 | Low | 2 |