helden-software
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:12
source=("http://online.helden-software.de/rep/pool/main/h/${pkgname}/${pkgname}_${_debian_pkgver}_all.deb" -
PKGBUILD:13
"http://www.helden-software.de/down/devel/91529a8/helden5.jar")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt JAR file directly from the upstream vendor's own domain (helden-software.de / online.helden-software.de), which is the official project website for 'Helden-Software', a well-known character management tool for the German pen-and-paper RPG 'Das Schwarze Auge'. Both sources come from the same vendor domain. The JAR is an executable artifact (run by java-runtime) and is pinned with a sha256sum, which mitigates substitution risk. The concern is real but limited: the host is the official upstream vendor, not a random personal server, and the checksum provides integrity verification. The main residual risk is that the vendor host could be compromised and the checksum updated in the PKGBUILD, but this is standard supply-chain risk for any binary package from a small vendor. The commented-out alternative (using the Debian package's JAR) and the note that the Debian package is outdated explain why the direct download is used. This is a legitimate medium-risk pattern: an executed binary from a small/unofficial host with checksum pinning.
PKGBUILD
2 offending line(s) highlighted# Maintainer: Gunnar Bretthauer <taijian@posteo.de>
# Contributor: shad0w73 <shad0w73@vmail.me>
pkgname=helden-software
pkgver=5.5.4.beta2
pkgrel=1
_debian_pkgver=5.5.2-1
pkgdesc='Die Heldenverwaltung für das Pen&Paper-Rollenspiel "Das Schwarze Auge" (DSA)'
arch=('any')
url="http://www.helden-software.de"
license=('custom')
depends=('java-runtime' 'hicolor-icon-theme' 'bash')
source=("http://online.helden-software.de/rep/pool/main/h/${pkgname}/${pkgname}_${_debian_pkgver}_all.deb"
"http://www.helden-software.de/down/devel/91529a8/helden5.jar")
sha256sums=('15f129efc99f0ad97cc6d7956be625dc0e1aeb51a157323216f824dfda67c485'
'fbb4b8192d7956c20b4e4dac5b9d640b5d07bbdec03b8454e8c4b10240368548')
noextract=('helden5.jar')
prepare() {
cd "${srcdir}"
tar -xzf data.tar.gz
}
package() {
cd "${srcdir}"
# Binary
# use jar file from direct download because Debian Package is not updated yet
#install -Dm644 usr/lib/heldensoftware/helden5.jar "${pkgdir}/usr/share/${pkgname}/helden5.jar"
install -Dm644 helden5.jar "${pkgdir}/usr/share/${pkgname}/helden5.jar"
# Docs
install -Dm644 usr/share/doc/${pkgname}/changelog.gz "${pkgdir}/usr/share/doc/${pkgname}/changelog.gz"
install -Dm644 usr/share/doc/${pkgname}/copyright "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
# Config
install -Dm644 etc/default/${pkgname} "${pkgdir}/etc/default/${pkgname}"
# Icons
#install -dm755 "${pkgdir}/usr/share/${pkgname}"
#cp -r usr/share/icons "${pkgdir}/usr/share/"
for _size in 16 32 48 64 72 96 128 192; do
install -Dm644 usr/share/icons/hicolor/${_size}x${_size}/apps/${pkgname}.png \
"${pkgdir}/usr/share/icons/hicolor/${_size}x${_size}/apps/${pkgname}.png"
done
# Launcher
install -dm755 "${pkgdir}/usr/share/applications"
sed s/games/bin/ usr/share/applications/HeldenSoftware.desktop > "${pkgdir}/usr/share/applications/${pkgname}.desktop"
# Run-Script
install -dm755 "${pkgdir}/usr/bin"
sed "s/lib\/heldensoftware/share\/helden-software/" usr/games/${pkgname} > "${pkgdir}/usr/bin/${pkgname}"
chmod 755 "${pkgdir}/usr/bin/${pkgname}"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |