qed
The PKGBUILD downloads a prebuilt binary package (.pkg.tar.zst) from a personal domain (concise.cc) rather than from the project's official GitLab release infrastructure. While the package is signed (validpgpkeys is set and a .sig file is fetched), the signing key belongs to the maintainer themselves, and the binary is hosted on their personal domain rather than GitLab releases. The arch=(any) combined with a prebuilt binary is also suspicious — a shell script tool depending only on 'dialog' should be architecture-independent source, not a prebuilt binary. The PKGBUILD installs the binary directly from the downloaded package rather than building from source. This is a genuine supply-chain concern: if concise.cc is compromised, a malicious binary could be served. The PGP signature provides some mitigation but the trust anchor is the maintainer's own key on their own server. This warrants medium severity.
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:13
"https://concise.cc/pkg/${pkgname}-${pkgver}-${pkgrel}-$arch.pkg.tar.zst"
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): The PKGBUILD downloads a prebuilt binary package (.pkg.tar.zst) from a personal domain (concise.cc) rather than from the project's official GitLab release infrastructure. While the package is signed (validpgpkeys is set and a .sig file is fetched), the signing key belongs to the maintainer themselves, and the binary is hosted on their personal domain rather than GitLab releases. The arch=(any) combined with a prebuilt binary is also suspicious — a shell script tool depending only on 'dialog' should be architecture-independent source, not a prebuilt binary. The PKGBUILD installs the binary directly from the downloaded package rather than building from source. This is a genuine supply-chain concern: if concise.cc is compromised, a malicious binary could be served. The PGP signature provides some mitigation but the trust anchor is the maintainer's own key on their own server. This warrants medium severity.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Connor Etherington <connor@concise.cc>
# ---
pkgname=qed
pkgver=0.1.1
pkgrel=1
arch=(any)
pkgdesc="Quick Edit - A CLI tool to quickly edit and save files saved slots 1-10"
url="https://gitlab.com/a4to/${pkgname}"
install="qed.install"
license=('MIT')
depends=(dialog)
source=(
"https://concise.cc/pkg/${pkgname}-${pkgver}-${pkgrel}-$arch.pkg.tar.zst"
"https://concise.cc/pkg/${pkgname}-${pkgver}-${pkgrel}-$arch.pkg.tar.zst.sig"
)
sha512sums=(
'ed98ae6153d019089bed247dcf9e97bc200937e8b7a3a2cb31a53404e7f55f9c433819a9445c01b06f4fc4f9e32f797dfe606ae9a21b2731c2693794be549b23'
'69f316a7f012109ae382dd4a076b438e4e91ef434ca5615a24df4fbdc9f87cd7fa1cb110bc570c9298d0eb560e653f96f1d877e28d66c85b8a439dc6dae961d9'
)
md5sums=(
'cc3a704c6f950c8442ef55e0d38a6057'
'e7f64624eb51f3a49a667f50aafa18e9'
)
validpgpkeys=('9A1F3F41DDA55A60331CB8DD3714CB0967D15980')
package() {
install -Dm644 usr/share/licenses/${pkgname}/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm755 usr/bin/${pkgname} "${pkgdir}/usr/bin/${pkgname}"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |
| 2026-09-13 00:19:54 | Medium | 2 |
| 2026-09-12 00:25:17 | Medium | 2 |
| 2026-09-11 00:19:22 | Medium | 2 |
| 2026-09-10 00:22:44 | Medium | 2 |
| 2026-09-09 00:04:09 | Medium | 2 |
| 2026-09-08 00:18:08 | Medium | 2 |
| 2026-09-07 00:30:15 | Medium | 2 |
| 2026-09-06 00:17:06 | Medium | 2 |
| 2026-09-05 00:16:27 | Medium | 2 |
| 2026-09-04 00:03:13 | Medium | 2 |
| 2026-09-03 00:15:47 | Medium | 2 |
| 2026-09-02 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |
| 2026-08-30 00:04:14 | Medium | 2 |
| 2026-08-29 00:29:17 | Medium | 2 |