bubbleupnpserver
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-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |