tdarr
The package downloads prebuilt binaries from the project's own storage domain (tdarr.io), which is plausibly official; the binaries are not executed during build, and the worst case of a swapped source would be running malicious code on first use, but the source is checksummed and the domain is project-specific, not a generic file host.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads prebuilt binaries from the project's own storage domain (tdarr.io), which is plausibly official; the binaries are not executed during build, and the worst case of a swapped source would be running malicious code on first use, but the source is checksummed and the domain is project-specific, not a generic file host.
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:20
"https://storage.tdarr.io/versions/${pkgver}/linux_x64/Tdarr_Server.zip"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Attila Deak <plasticbomb1986@gmail.com>
# Contributor: Mateusz Galazyn <carbolymer@gmail.com>
pkgname='tdarr'
pkgver=3.04.00
pkgrel=1
pkgdesc='Transcoding application manager for processing media libraries. Server + Node'
arch=('x86_64')
url='https://tdarr.io/'
options=(!strip)
depends=()
makedepends=('unzip')
optdepends=()
source=(
"https://storage.tdarr.io/versions/${pkgver}/linux_x64/Tdarr_Server.zip"
"https://storage.tdarr.io/versions/${pkgver}/linux_x64/Tdarr_Node.zip"
'tdarr-node.service'
'tdarr-server.service'
'tdarr.sysusers'
'tdarr.tmpfiles'
)
noextract=(
'Tdarr_Server.zip'
'Tdarr_Node.zip'
)
sha256sums=(
'6fe03543836a6760b34dda8c8cf4e13473075f8afa8c20872031c309a84cd163'
'c51068ce8cb7cce53be0128557a8aba768ecd52954361237782739fa7bb0243a'
'95e7c43861b6af12ff935063ede0287b6bb2d753299c5f26ca8e1841727dbdbb'
'cb11e62960ae73e21a13db5df0ad30d2ffff930108dc2d8e4321079a31c30d4e'
'3400d977769056ad626c065ada7fe74f3a2370b4faa090706110e7acedf70ffc'
'12cbabe6a417d17b30176c6f6916616fa86e0384ec8489e79551278808ec6376')
prepare() {
mkdir -p "${srcdir}/server" "${srcdir}/node"
unzip Tdarr_Node.zip -d "${srcdir}/node"
unzip Tdarr_Server.zip -d "${srcdir}/server"
}
package() {
install -d -m 755 "${pkgdir}/var/lib/tdarr/server"
install -d -m 755 "${pkgdir}/var/lib/tdarr/node"
cp -dpr --no-preserve=ownership "${srcdir}/server/"* "${pkgdir}/var/lib/tdarr/server"
cp -dpr --no-preserve=ownership "${srcdir}/node/"* "${pkgdir}/var/lib/tdarr/node"
install -D -m 644 "${srcdir}/tdarr.sysusers" "${pkgdir}/usr/lib/sysusers.d/tdarr.conf"
install -D -m 644 "${srcdir}/tdarr-node.service" "${pkgdir}/usr/lib/systemd/system/tdarr-node.service"
install -D -m 644 "${srcdir}/tdarr-server.service" "${pkgdir}/usr/lib/systemd/system/tdarr-server.service"
install -D -m 644 "${srcdir}/tdarr.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/tdarr.conf"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-30 00:29+++ PKGBUILD @ 2026-11-01 00:21@@ -2,7 +2,7 @@ # Contributor: Mateusz Galazyn <carbolymer@gmail.com> pkgname='tdarr'-pkgver=2.94.02+pkgver=3.04.00 pkgrel=1 pkgdesc='Transcoding application manager for processing media libraries. Server + Node' arch=('x86_64')@@ -30,8 +30,8 @@ 'Tdarr_Node.zip' ) sha256sums=(- '1b4c5c95b60c24cee3437591422a674688c41b1b3fa85db8ca87cc8bad89c66b'- 'dbfb794e39c4eb74e9c166935472df2ef165df0fbbc08856cee84789479ef909'+ '6fe03543836a6760b34dda8c8cf4e13473075f8afa8c20872031c309a84cd163'+ 'c51068ce8cb7cce53be0128557a8aba768ecd52954361237782739fa7bb0243a' '95e7c43861b6af12ff935063ede0287b6bb2d753299c5f26ca8e1841727dbdbb' 'cb11e62960ae73e21a13db5df0ad30d2ffff930108dc2d8e4321079a31c30d4e' '3400d977769056ad626c065ada7fe74f3a2370b4faa090706110e7acedf70ffc'Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 09:55:25 | Medium | 1 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 19:16:12 | Medium | 1 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |