aksusbd
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:19
source=("${_tarballname}-${pkgver}.tar.gz::https://fdsext.gemalto.com/filesSN/Index/$_dl_hash?sid=$_dl_id"
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The package downloads a prebuilt binary tarball from fdsext.gemalto.com (Gemalto/Thales, the actual vendor of Sentinel/HASP hardware security keys), extracts an RPM from it, and installs the aksusbd and hasplmd daemons that run as system services. Gemalto is the legitimate upstream vendor (now Thales Group), so this is not a random personal host — it is the official vendor download portal. However, the download URL is an opaque file-store endpoint (not a versioned release page), the host is not a well-known public forge, and the binaries are closed-source executables installed as root-level system daemons with udev rules. The sha256sums are pinned, which mitigates substitution risk significantly. The concern is real but modest: closed-source vendor binaries from a semi-obscure vendor CDN endpoint, installed as privileged daemons. This is a legitimate vendor package with a non-standard distribution mechanism, not clearly malicious, but the executed-binary-from-unofficial-endpoint pattern warrants medium rather than clean.
PKGBUILD
1 offending line(s) highlighted# $Id$
# Maintainer: jakob <grandchild@gmx.net>
# Contributor: Ido Rosen (ido) <ido@kernel.org>
# Contributor: Alexander Konarev (kale-ru) <AVKonarev@gmail.com>
# Contributor: Alexander Konarev <avkonarev@gmail.com.cc>
# Contributor: Andre Bartke (andre) <andrew@archlinux.us>
pkgname=aksusbd
pkgver=8.21
pkgrel=2
_tarballname=Sentinel_LDK_RedHat_and_SuSE_RPM_Run-time_Installer
_rpm_pkgrel=1
_dl_hash=e4e1722f4c6a46e1ac2243f0c1e3ca5d
_dl_id=4a5e2d551bc9bc50e2af520f6e4bcb2b
pkgdesc="Sentinel AKSUSB daemon supporting Sentinel HASP, HASP HL, HASP4 and Hardlock keys."
arch=('i686' 'x86_64')
url="https://supportportal.thalesgroup.com/csm?sys_id=54303b92db852e00d298728dae96199c&id=csm_product"
license=('custom')
source=("${_tarballname}-${pkgver}.tar.gz::https://fdsext.gemalto.com/filesSN/Index/$_dl_hash?sid=$_dl_id"
"service-usr-bin-i386.patch"
"service-usr-bin-x86_64.patch"
"LICENSE")
sha256sums=('83a07df5ed04be1d78e96bc70133c5b4adbdea5dc1f75b3aad5f734298450555'
'75c02721799e3f2b498d67265201445c963063b331c61402205db2ad91e72ec3'
'd63548bac27eab7cf4a524830643705bafc63349d2e3c5276a37d3382e5598ec'
'c67d1383c94e2fda4c25a70d5a5d4a90d692586ff7977eb5e9e82139f85e22dd')
makedepends=('libarchive')
conflicts=('ehaspd')
options=('!strip')
prepare(){
cd $srcdir
# Extract RPM into $srcdir:
bsdtar -xvf ${_tarballname}/${pkgname}-${pkgver}-${_rpm_pkgrel}.${CARCH}.rpm
# Change /usr/sbin/ to /usr/bin/
patch -p1 < service-usr-bin-i386.patch
patch -p1 < service-usr-bin-x86_64.patch
}
package() {
cd $srcdir
if [ "${CARCH}" == "x86_64" ]; then
arch_suffix=_${CARCH}
fi
# Binaries:
install -dm755 ${pkgdir}/usr/bin
install -Dm755 ${srcdir}/usr/sbin/{aksusbd,hasplmd}${arch_suffix} \
${pkgdir}/usr/bin/
# udev rules:
install -dm755 ${pkgdir}/usr/lib/udev/rules.d
install -m644 ${srcdir}/etc/udev/rules.d/* \
${pkgdir}/usr/lib/udev/rules.d/
# systemd service
install -dm755 ${pkgdir}/usr/lib/systemd/system/
install -m644 ${srcdir}/var/hasplm/init/aksusbd${arch_suffix}.service \
${pkgdir}/usr/lib/systemd/system/aksusbd.service
install -m644 ${srcdir}/var/hasplm/init/hasplmd${arch_suffix}.service \
${pkgdir}/usr/lib/systemd/system/hasplmd.service
# LICENSE and readme.html:
install -Dm644 ${srcdir}/${_tarballname}/Readme.html \
${pkgdir}/usr/share/${pkgname}/readme.html
install -Dm644 ${srcdir}/LICENSE \
${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
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 |