arch-quiz
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:10
source=("$pkgname-$pkgver-x86_64.tar.gz::http://dexieldvpn.ddns.net/arch-quiz-$pkgver-x86_64.tar.gz")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 85%): A prebuilt x86_64 binary is fetched from a personal DDNS host (dexieldvpn.ddns.net) rather than from the GitHub releases page listed as the upstream URL. DDNS hostnames are dynamic and can be reassigned; the host is not an official or well-known distribution mirror. While a sha256 checksum is present, it only verifies the current content — if the host is compromised or the DNS entry is redirected, a future user gets a different binary with no integrity guarantee (AUR helpers re-download on each install). The binary is installed directly into /usr/bin and executed as a user-space program, so any malicious payload would run with user privileges. The mismatch between the stated upstream (GitHub) and the actual download host is a genuine supply-chain concern: there is no verifiable chain of custody from source code to binary. This is a textbook medium-severity case: an executed binary from an unofficial/personal host.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Dexield
pkgname=arch-quiz
pkgver=0.1.0
pkgrel=1
pkgdesc="Arch Linux trivia quiz game"
arch=('x86_64')
url="https://github.com/dexield/arch-quiz"
license=('MIT')
depends=('glibc')
source=("$pkgname-$pkgver-x86_64.tar.gz::http://dexieldvpn.ddns.net/arch-quiz-$pkgver-x86_64.tar.gz")
sha256sums=('da155cb2246b74bf36058de51a0938a584571368d990005256b0040b38688d51')
package() {
cd "$srcdir"
install -Dm755 "arch-quiz" "$pkgdir/usr/bin/arch-quiz"
}
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 |