bubbleupnpserver
The PKGBUILD downloads a prebuilt JAR-based zip from bubblesoftapps.com, which is the official vendor website (same domain as the package URL). The use of `date +%F-%H` in the filename makes the checksum effectively non-reproducible (the filename changes hourly, so the sha256sum listed will rarely match a fresh download), but the checksum for the zip IS present in sha256sums — it just won't match after the timestamp rolls over. This is a sloppy/broken pattern rather than a security attack: the maintainer clearly intended to pin a specific build but the timestamped filename defeats that. The host is the legitimate vendor site, not a personal or unofficial mirror. The JARs are closed-source proprietary software (custom EULA), which is normal for AUR. No obfuscation, no exfiltration, no unofficial host. The main concern is the non-reproducible checksum due to the date-based filename, which is a quality/integrity issue but not an active supply-chain attack. Severity is low (sloppy, not dangerous).
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed the full PKGBUILD and judged it LOW (confidence 72%): The PKGBUILD downloads a prebuilt JAR-based zip from bubblesoftapps.com, which is the official vendor website (same domain as the package URL). The use of `date +%F-%H` in the filename makes the checksum effectively non-reproducible (the filename changes hourly, so the sha256sum listed will rarely match a fresh download), but the checksum for the zip IS present in sha256sums — it just won't match after the timestamp rolls over. This is a sloppy/broken pattern rather than a security attack: the maintainer clearly intended to pin a specific build but the timestamped filename defeats that. The host is the legitimate vendor site, not a personal or unofficial mirror. The JARs are closed-source proprietary software (custom EULA), which is normal for AUR. No obfuscation, no exfiltration, no unofficial host. The main concern is the non-reproducible checksum due to the date-based filename, which is a quality/integrity issue but not an active supply-chain attack. Severity is low (sloppy, not dangerous).
1 higher static finding superseded - not the current verdict (shown for transparency)
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:25
"BubbleUPnPServer-distrib-$(date +%F-%H).zip::https://bubblesoftapps.com/bubbleupnpserver/BubbleUPnPServer-distrib.zip"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Fabio 'Lolix' Loli <fabio.loli@disroot.org> -> https://github.com/FabioLolix
# Contributor: TilmanV
# Contributor: Dave Blair <mail@dave-blair.de>
# Contributor: Nick Bair <njbair at gmail dot com>
pkgname=bubbleupnpserver
pkgver=0.9.50
pkgrel=1
pkgdesc="Stream content to Android devices over the Internet, requires UPNP/DNLA backend e.g. miniDLNA, Gerbera, Mediatomb"
arch=(any)
url="https://www.bubblesoftapps.com/bubbleupnpserver2/"
license=('custom:BubbleUPnP Server EULA')
depends=(java-runtime-headless)
optdepends=('ffmpeg: for transcoding')
install=bubbleupnpserver.install
# http://www.bubblesoftapps.com/bubbleupnpserver2/docs/changelog.html
source=(
bubbleupnpserver.sh
bubbleupnpserver.service
bubbleupnpserver.config
bubbleupnpserver-sysuser.conf
bubbleupnpserver
#"https://bubblesoftapps.com/bubbleupnpserver/core/bcprov-jdk16-146.jar"
#"https://bubblesoftapps.com/bubbleupnpserver/core/BubbleUPnPServerLauncher.jar"
"BubbleUPnPServer-distrib-$(date +%F-%H).zip::https://bubblesoftapps.com/bubbleupnpserver/BubbleUPnPServer-distrib.zip"
"${pkgname}-LICENCE.txt::https://bubblesoftapps.com/bubbleupnpserver/core/LICENCE.txt"
)
sha256sums=('7df801995e65a79eb5140814ca80c4caeee7e1282b69acff9e74201cbaafdaf3'
'b99d60122343959f2118f6f74968e105d63e8ca2c8ff71efc120415378b1175a'
'61bf63a84b839b85c0fdf0210310c94242bbb6e1aa69bf0d6c46efa013b52ae5'
'fd764bb4c785ab0e2481d26f4f30656ba756949afa8ed949234e722ded87bf04'
'105bfe44a43d141457bf87ef89c76a5be57f54cdb3493ae3af99c8ad6a938c36'
'fd032eecd350c9d17d33e64c5ee2c2ba9dfd16270bc30fc811e112dcaea3ca9c'
'ceb8ba5042568cd04e7c47f4e4416278bbbd1e63fe30124b0646fc90614843ba')
backup=("etc/conf.d/bubbleupnpserver.config"
"var/lib/bubbleupnp/configuration.xml")
package() {
install -d "${pkgdir}"/var/lib/bubbleupnp
install -D -m644 bcprov-jdk16-146.jar -t "${pkgdir}/usr/share/${pkgname}/"
install -D -m644 BubbleUPnPServerLauncher.jar -t "${pkgdir}/usr/share/${pkgname}/"
install -D -m755 "${srcdir}"/bubbleupnpserver.sh "${pkgdir}/usr/share/${pkgname}/launch.sh"
install -D -m644 "${srcdir}"/bubbleupnpserver.service "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
install -D -m644 "${srcdir}"/bubbleupnpserver.config "${pkgdir}/etc/conf.d/bubbleupnpserver.config"
install -D -m644 "${srcdir}"/bubbleupnpserver-sysuser.conf "${pkgdir}/usr/lib/sysusers.d/bubbleupnpserver.conf"
install -D -m644 "${srcdir}"/bubbleupnpserver "${pkgdir}/etc/default/bubbleupnpserver"
install -D -m644 "${srcdir}/${pkgname}-LICENCE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENCE.txt"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |