termius-deb
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:18
source=("${pkgname//-deb}-rolling.deb::https://autoupdate.termius.com/linux/$_pkgname.deb"
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 85%): This PKGBUILD downloads a prebuilt Electron application binary (.deb) from autoupdate.termius.com with b2sums='SKIP', meaning the binary is never verified against a known-good checksum. While autoupdate.termius.com is the official Termius auto-update endpoint (not a personal/unofficial host), the SKIP checksum means any MITM or server-side substitution would go undetected. The maintainer even warns about this explicitly in the PKGBUILD comments. The package installs an executed binary (Electron app with native code) directly from a rolling/always-latest URL with no integrity verification. This is a genuine supply-chain concern: the version pinned in pkgver (9.22.1) is used only for metadata, but the actual downloaded artifact is whatever the server serves at build time. The host is the official vendor update server, which reduces (but does not eliminate) the risk compared to a personal host, but the lack of any checksum verification on an executed binary remains a real medium-severity concern.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Ivan Gabaldon <aur[at]inetol.net>
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#
#! This package is NOT checked by checksums, careful... !#
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#
pkgname=termius-deb
_pkgname=Termius
pkgver=9.22.1
pkgrel=1
pkgdesc='Desktop SSH Client (deb release)'
arch=('x86_64')
url='https://termius.com'
license=('LicenseRef-Termius')
makedepends=('links')
_electron=electron21
provides=("${pkgname//-deb}")
conflicts=("${pkgname//-deb}" "${pkgname//-deb/'-beta'}")
source=("${pkgname//-deb}-rolling.deb::https://autoupdate.termius.com/linux/$_pkgname.deb"
"${pkgname//-deb}.sh")
b2sums=('SKIP'
'16be5f2c2d1134875ac9a284138d2fc6d2133f3588d4efd34422be1c99caddf37e88c53c8b1a1286de0e6ae0d2a806983c2bf91abcff269295fc487bdde56051')
prepare() {
sed -i "s|@ELECTRON@|$_electron|" "${pkgname//-deb}.sh"
mkdir -p "${pkgname//-deb}-rolling/"
bsdtar -xpf 'data.tar.xz' -C "${pkgname//-deb}-rolling/"
# Convert
cd "${pkgname//-deb}-rolling/"
links -width 80 -dump 'https://termius.com/terms-of-use' | sed -n '/Terms and Conditions/,/Last updated:/p' > "opt/$_pkgname/resources/LICENSE"
cat "../${pkgname//-deb}.sh" > "opt/$_pkgname/resources/${pkgname//-deb}"
mv "usr/share/applications/${pkgname//-deb/'-app'}.desktop" "opt/$_pkgname/resources/${pkgname//-deb}.desktop"
sed -i -e "s|Exec=.*|Exec=/usr/bin/${pkgname//-deb} %U|" -e "s|Icon=.*|Icon=${pkgname//-deb}|" "opt/$_pkgname/resources/${pkgname//-deb}.desktop"
mv "usr/share/icons/hicolor/512x512/apps/${pkgname//-deb/'-app'}.png" "opt/$_pkgname/resources/${pkgname//-deb}.png"
}
pkgver() {
mkdir -p "${pkgname//-deb}-control/"
bsdtar -xpf 'control.tar.gz' -C "${pkgname//-deb}-control/"
grep 'Version:' "${pkgname//-deb}-control/control" | awk '{print $2}'
}
package() {
depends=("$_electron-bin"
'gcc-libs'
'glib2'
'glibc'
'libsecret'
'systemd-libs'
'zlib')
optdepends=('libappindicator-gtk3: Systray indicator support')
install -d "$pkgdir/opt/${pkgname//-deb}/"
cp -a "${pkgname//-deb}-rolling/opt/$_pkgname/resources/." "$pkgdir/opt/${pkgname//-deb}/"
chmod 755 "$pkgdir/opt/${pkgname//-deb}/${pkgname//-deb}"
install -d "$pkgdir/usr/bin/"
ln -s "/opt/${pkgname//-deb}/${pkgname//-deb}" "$pkgdir/usr/bin/${pkgname//-deb}"
install -d "$pkgdir/usr/share/applications/"
ln -s "/opt/${pkgname//-deb}/${pkgname//-deb}.desktop" "$pkgdir/usr/share/applications/${pkgname//-deb}.desktop"
install -d "$pkgdir/usr/share/icons/"
ln -s "/opt/${pkgname//-deb}/${pkgname//-deb}.png" "$pkgdir/usr/share/icons/${pkgname//-deb}.png"
install -d "$pkgdir/usr/share/licenses/${pkgname//-deb}/"
ln -s "/opt/${pkgname//-deb}/LICENSE" "$pkgdir/usr/share/licenses/${pkgname//-deb}/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 |