overte-server-bin
This PKGBUILD downloads prebuilt RPM binaries (executed code) from a DigitalOcean Spaces bucket (overte-public.fra1.digitaloceanspaces.com) rather than building from source. The host appears to be the official Overte project's own storage (the bucket name 'overte-public' and the URL path structure match the project), and sha256sums are provided for integrity verification. However, this is still a supply-chain concern: the binaries are not built locally, the DigitalOcean Spaces bucket is not a traditional official distribution channel, and if the bucket were compromised or the object replaced before the hash was recorded, malicious code could be executed. The sha256sums do provide a meaningful integrity check against substitution after the PKGBUILD is published, but the trust anchor is the bucket owner rather than a signed release. This is a classic AUR prebuilt-binary pattern that warrants medium severity — not clearly malicious, but a real supply-chain risk from executed binaries sourced from a cloud storage bucket.
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:27
source_x86_64=("https://overte-public.fra1.digitaloceanspaces.com/build/overte/release/${_date}/overte-server-${pkgver}-1.fc41.x86_64.rpm")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): This PKGBUILD downloads prebuilt RPM binaries (executed code) from a DigitalOcean Spaces bucket (overte-public.fra1.digitaloceanspaces.com) rather than building from source. The host appears to be the official Overte project's own storage (the bucket name 'overte-public' and the URL path structure match the project), and sha256sums are provided for integrity verification. However, this is still a supply-chain concern: the binaries are not built locally, the DigitalOcean Spaces bucket is not a traditional official distribution channel, and if the bucket were compromised or the object replaced before the hash was recorded, malicious code could be executed. The sha256sums do provide a meaningful integrity check against substitution after the PKGBUILD is published, but the trust anchor is the bucket owner rather than a signed release. This is a classic AUR prebuilt-binary pattern that warrants medium severity — not clearly malicious, but a real supply-chain risk from executed binaries sourced from a cloud storage bucket.
PKGBUILD
1 offending line(s) highlighted# Maintainer: robertfoster
pkgname=overte-server-bin
_date=2025.05.1
pkgver="${_date}.53d2094"
pkgrel=1
pkgdesc="Overte platform, based on the High Fidelity Engine (server)"
arch=('aarch64' 'x86_64')
url="https://overte.org"
license=('Apache-2.0')
depends=(
'libglvnd'
'libstdc++5'
'mesa'
'openssl'
'qt5-base'
'qt5-declarative'
'qt5-websockets'
)
makedepends=('rpmextract')
provides=('overte' 'overte-server')
conflicts=('overte' 'overte-server')
source=(
'overte.sysusers'
'overte.tmpfiles'
)
source_x86_64=("https://overte-public.fra1.digitaloceanspaces.com/build/overte/release/${_date}/overte-server-${pkgver}-1.fc41.x86_64.rpm")
source_aarch64=("https://overte-public.fra1.digitaloceanspaces.com/build/overte/release/${_date}/overte-server-${pkgver}-1.fc41.aarch64.rpm")
package() {
cd "${srcdir}"
cp -rv opt usr "${pkgdir}"
rm -rf "${pkgdir}/usr/lib/.build-id"
mkdir -p "${pkgdir}/etc/opt/overte"
install -D -m644 "${srcdir}/overte.sysusers" \
"${pkgdir}/usr/lib/sysusers.d/overte.conf"
install -D -m644 "${srcdir}/overte.tmpfiles" \
"${pkgdir}/usr/lib/tmpfiles.d/overte.conf"
}
sha256sums=('503dfd4562efdbb01f5e714a89d9b23a675e32f9733552532750393be85ca0e3'
'83b66df9d94878ca1de31e85a48e905501a7db202bee9950e6c2ab32b85b1461')
sha256sums_aarch64=('f24cad2dcfae85ebc826493cceb41dd9d59ce1a8db6770e1c1893905f057c0b9')
sha256sums_x86_64=('84d5637a5531878ad4f99a99a6616f0698ea9b2b8c53f2880fbf9cde594d18a9')
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 |