keymanager
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:23
source=("https://keymanager.trustasia.com/release/${_pkgname}.AppImage")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): A prebuilt, closed-source AppImage is downloaded from keymanager.trustasia.com and executed directly during the build (--appimage-extract runs the binary). TrustAsia is a well-known Chinese CA/PKI vendor and keymanager.org is their certificate management product, so this is plausibly the legitimate vendor host rather than a random third party. However, the download host (keymanager.trustasia.com) differs from the project's stated URL (keymanager.org), there is no PGP signature verification, and the package installs an opaque proprietary binary with no source. The sha256sum provides some integrity guarantee against accidental corruption but not against a compromised vendor host serving a malicious binary. This is a genuine medium-severity supply-chain concern: an executed binary from a host that cannot be independently verified as the canonical upstream release location.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Fansure Grin <quarlong@qq.com>
pkgname='keymanager'
pkgver=4.4.19
_pkgname="KeyManager-${pkgver}"
pkgrel=1
epoch=
pkgdesc="Provide safe and convenient certificate application and management"
arch=('x86_64')
url="https://keymanager.org/"
license=('unknown')
groups=()
depends=('hicolor-icon-theme')
makedepends=()
checkdepends=()
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=(!strip)
install=
changelog=
source=("https://keymanager.trustasia.com/release/${_pkgname}.AppImage")
sha256sums=('a7f1d262762024412819ea7ed9be7a73bf129b80c1ef3a66c9ae12cf72ddb012')
noextract=("${_pakname}.AppImage")
md5sums=()
validpgpkeys=()
prepare() {
cd "${srcdir}"
chmod a+x "${_pkgname}.AppImage"
${srcdir}/${_pkgname}.AppImage --appimage-extract
find "squashfs-root/usr/share/icons/hicolor" -type d -exec chmod 755 {} \;
sed -i "/^Exec=/c\Exec=/opt/${pkgname}/${_pkgname}.AppImage" "squashfs-root/${pkgname}.desktop"
}
package() {
install -dvm 755 "${pkgdir}/usr/share/icons"
install -dvm 755 "${pkgdir}/usr/bin"
install -Dvm 755 "${_pkgname}.AppImage" "${pkgdir}/opt/${pkgname}/${_pkgname}.AppImage"
ln -sf "/opt/${pkgname}/${_pkgname}.AppImage" "${pkgdir}/usr/bin/${pkgname}"
install -Dvm 644 "squashfs-root/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
cp -R "squashfs-root/usr/share/icons/hicolor" "${pkgdir}/usr/share/icons"
rm -rf "squashfs-root"
}
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 |