v7_sh
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:14
source=("http://aur.zapto.org/PRIVATE/${pkgname}.tar.gz")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The source tarball is fetched from aur.zapto.org/PRIVATE/ — a personal dynamic-DNS host (zapto.org is a no-ip/DynDNS subdomain service) rather than the upstream project host (riemann.fmi.uni-sofia.bg, which is commented out). The PRIVATE path component reinforces that this is a personal mirror with no transparency. The tarball contains compiled source that is built and installed as an executable binary, so if the host were compromised or the tarball swapped, arbitrary code would be compiled and installed. The checksums (md5 + sha256) provide some integrity guarantee against silent substitution, but md5 is weak and the host itself is not trustworthy — a motivated attacker controlling the domain could serve a matching-hash tarball only if they also control the hash values in the PKGBUILD, which they would not unless the AUR package itself were also compromised. The real concern is that the canonical upstream source is commented out and replaced with a personal host, which is a non-standard supply-chain pattern. This is a genuine medium-risk concern: executed code from an unofficial personal host, not clearly malicious but not verifiably safe either.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Chris Severance aur.severach aATt spamgourmet dott com
# Contributor: bender02 at gmx dot com
set -u
pkgname='v7_sh'
pkgver='0'
pkgrel='1'
pkgdesc='A port of original Steve Bourne shell from 1978'
arch=('i686' 'x86_64')
url='http://riemann.fmi.uni-sofia.bg/sh/'
license=('custom')
makedepends=('dietlibc')
#source=("http://riemann.fmi.uni-sofia.bg/sh/${pkgname}.tar.gz")
source=("http://aur.zapto.org/PRIVATE/${pkgname}.tar.gz")
md5sums=('e503e6110a95a8387421f5c938e0ce92')
sha256sums=('e096dacd4bab4b6b4eecc63f0016ff72f83739258ff0376f54775b68db728b72')
build() {
set -u
cd "${srcdir}/${pkgname}"
make CC='/opt/diet/bin/diet -Os gcc -W'
set +u
}
check() {
set -u
cd "${srcdir}/${pkgname}"
make tests
set +u
}
package() {
set -u
cd "${srcdir}/${pkgname}"
# need to use some other name than 'sh', since /bin/sh is already owned by bash package
install -Dm755 'sh' "${pkgdir}/usr/bin/${pkgname}"
install -Dm644 'NOTICE.pdf' "${pkgdir}/usr/share/licenses/${pkgname}/notice.pdf"
set +u
}
set +u
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 |