bubbleupnpserver

maintainer FabioLolix · 14 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged 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

LOW AI review downgraded a static finding 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)
MEDIUM source=() URL on a non-standard host 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
1# Maintainer: Fabio 'Lolix' Loli <fabio.loli@disroot.org> -> https://github.com/FabioLolix
2# Contributor: TilmanV
3# Contributor: Dave Blair <mail@dave-blair.de>
4# Contributor: Nick Bair <njbair at gmail dot com>
5
6pkgname=bubbleupnpserver
7pkgver=0.9.50
8pkgrel=1
9pkgdesc="Stream content to Android devices over the Internet, requires UPNP/DNLA backend e.g. miniDLNA, Gerbera, Mediatomb"
10arch=(any)
11url="https://www.bubblesoftapps.com/bubbleupnpserver2/"
12license=('custom:BubbleUPnP Server EULA')
13depends=(java-runtime-headless)
14optdepends=('ffmpeg: for transcoding')
15install=bubbleupnpserver.install
16# http://www.bubblesoftapps.com/bubbleupnpserver2/docs/changelog.html
17source=(
18 bubbleupnpserver.sh
19 bubbleupnpserver.service
20 bubbleupnpserver.config
21 bubbleupnpserver-sysuser.conf
22 bubbleupnpserver
23 #"https://bubblesoftapps.com/bubbleupnpserver/core/bcprov-jdk16-146.jar"
24 #"https://bubblesoftapps.com/bubbleupnpserver/core/BubbleUPnPServerLauncher.jar"
25 "BubbleUPnPServer-distrib-$(date +%F-%H).zip::https://bubblesoftapps.com/bubbleupnpserver/BubbleUPnPServer-distrib.zip"
26 "${pkgname}-LICENCE.txt::https://bubblesoftapps.com/bubbleupnpserver/core/LICENCE.txt"
27)
28sha256sums=('7df801995e65a79eb5140814ca80c4caeee7e1282b69acff9e74201cbaafdaf3'
29 'b99d60122343959f2118f6f74968e105d63e8ca2c8ff71efc120415378b1175a'
30 '61bf63a84b839b85c0fdf0210310c94242bbb6e1aa69bf0d6c46efa013b52ae5'
31 'fd764bb4c785ab0e2481d26f4f30656ba756949afa8ed949234e722ded87bf04'
32 '105bfe44a43d141457bf87ef89c76a5be57f54cdb3493ae3af99c8ad6a938c36'
33 'fd032eecd350c9d17d33e64c5ee2c2ba9dfd16270bc30fc811e112dcaea3ca9c'
34 'ceb8ba5042568cd04e7c47f4e4416278bbbd1e63fe30124b0646fc90614843ba')
35backup=("etc/conf.d/bubbleupnpserver.config"
36 "var/lib/bubbleupnp/configuration.xml")
37
38package() {
39
40 install -d "${pkgdir}"/var/lib/bubbleupnp
41
42 install -D -m644 bcprov-jdk16-146.jar -t "${pkgdir}/usr/share/${pkgname}/"
43 install -D -m644 BubbleUPnPServerLauncher.jar -t "${pkgdir}/usr/share/${pkgname}/"
44 install -D -m755 "${srcdir}"/bubbleupnpserver.sh "${pkgdir}/usr/share/${pkgname}/launch.sh"
45 install -D -m644 "${srcdir}"/bubbleupnpserver.service "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
46 install -D -m644 "${srcdir}"/bubbleupnpserver.config "${pkgdir}/etc/conf.d/bubbleupnpserver.config"
47 install -D -m644 "${srcdir}"/bubbleupnpserver-sysuser.conf "${pkgdir}/usr/lib/sysusers.d/bubbleupnpserver.conf"
48 install -D -m644 "${srcdir}"/bubbleupnpserver "${pkgdir}/etc/default/bubbleupnpserver"
49 install -D -m644 "${srcdir}/${pkgname}-LICENCE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENCE.txt"
50}
51

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion