ethos-lang
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-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |