rah-bin
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:15
source=("${_pkgname}-${pkgver}-amd64.tar.gz::https://deadgirl.dev/projects/rah/releases/${_pkgname}-${pkgver}-amd64.tar.gz")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): This PKGBUILD downloads a prebuilt binary tarball from a personal/project host (deadgirl.dev) rather than a well-known forge like GitHub releases or crates.io. The binary is then installed directly to /usr/bin/rah and executed as an AUR helper (which runs with user privileges and invokes pacman). The checksum is set to SKIP, meaning there is no integrity verification whatsoever — any compromise of deadgirl.dev or a MITM could silently substitute a malicious binary. This is a textbook supply-chain risk: an executed binary from an unofficial personal host with no checksum. It is not clearly malicious, but the combination of (1) personal hosting, (2) prebuilt binary, (3) SKIP checksum, and (4) the binary being an AUR helper with broad system access makes this a genuine medium-severity concern.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Madison Lynch <madi@mxdi.xyz>
pkgname=rah-bin
_pkgname=rah
pkgver=2.0.4
pkgrel=3
pkgdesc="A simple AUR helper written in Rust"
arch=(x86_64)
url=https://deadgirl.dev/projects/rah
license=(MIT)
depends=(pacman)
conflicts=(rah)
source=("${_pkgname}-${pkgver}-amd64.tar.gz::https://deadgirl.dev/projects/rah/releases/${_pkgname}-${pkgver}-amd64.tar.gz")
options=(!lto)
md5sums=(SKIP)
package() {
cd "$srcdir/$_pkgname-$pkgver"
install -Dm755 "./rah" "$pkgdir/usr/bin/rah"
install -Dm644 "./rah.8" "$pkgdir/usr/man/man8/rah.8"
}
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 |