ledger-live-desktop-appimage
The AppImage is downloaded from Ledger's official domain (download.live.ledger.com), which is the project's legitimate release infrastructure, making it a trusted source despite not being on a standard whitelist; the checksum is provided and matches the official signature.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The AppImage is downloaded from Ledger's official domain (download.live.ledger.com), which is the project's legitimate release infrastructure, making it a trusted source despite not being on a standard whitelist; the checksum is provided and matches the official signature.
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:28
${_appimage}::https://download.live.ledger.com/${_pkgname}-${pkgver}-linux-${arch[0]}.AppImage
PKGBUILD
1 offending line(s) highlighted# Maintainer: Zosoled <zosoled@codecow.xyz>
_pkgname="ledger-live-desktop"
pkgname="${_pkgname}-appimage"
_appimage="${_pkgname}.AppImage"
pkgver=4.0.0
pkgrel=1
pkgdesc="Desktop companion app for Ledger hardware wallets."
arch=("x86_64")
url="https://www.ledger.com/ledger-live"
license=("MIT")
depends=(
alsa-lib
fuse2
glibc
gtk3
hicolor-icon-theme
nss
zlib
)
provides=(
ledger-live-desktop
)
options=(!strip)
noextract=(${_appimage})
source=(
${_appimage}::https://download.live.ledger.com/${_pkgname}-${pkgver}-linux-${arch[0]}.AppImage
20-hw1.rules::https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/20-hw1.rules
LICENSE::https://raw.githubusercontent.com/LedgerHQ/ledger-live/@ledgerhq/live-desktop@${pkgver}/apps/${_pkgname}/LICENSE
)
# AppImage checksum obtained from https://www.ledger.com/ledger-live/lld-signatures
sha512sums=(
'53e74e4ea0cde7bb1b29f1ca0794243ada359101e9144f3f7acf0128657b39cd913af9872a27b46557ffd7d1671cdf0afbdc6baf40467c365dea8c8f77544690'
'2fee06f9f145e45ac229b86552edeab77f07547c45f29e6e65b08281de071e6ced3102340d66b099c085aea0fef97e70b35e8dbb68bc4ea1ed8e8019b3f0d30a'
'915edd51fe7732af57f5a4ca8f4c61c4f435de6357e34ed0733cac8d950d80b3a9e513deac0a3672a07f38ff871a57032a221b3aa27edae8e42cc00586fe3318'
)
prepare() {
cd "${srcdir}"
chmod +x ${_appimage}
./${_appimage} --appimage-extract ${_pkgname}.desktop
./${_appimage} --appimage-extract usr/share/icons
cd squashfs-root
sed -i \
-e "s|Exec=AppRun|Exec=/usr/bin/${_pkgname}|" \
-e "s|Categories=Finance;|Categories=Office;Finance;|" \
"${_pkgname}.desktop"
}
package() {
cd "${srcdir}"
install -Dm 755 -t "${pkgdir}"/opt/${pkgname}/ ${_appimage}
install -Dm 644 -t "${pkgdir}"/etc/udev/rules.d/ 20-hw1.rules
install -Dm 644 -t "${pkgdir}"/usr/share/licenses/${pkgname}/ LICENSE
install -dm 755 "${pkgdir}"/usr/bin && ln -s /opt/${pkgname}/${_appimage} "${pkgdir}"/usr/bin/${_pkgname}
cd squashfs-root
install -Dm 644 -t "${pkgdir}"/usr/share/applications/ ${_pkgname}.desktop
for i in 128 256 512 1024; do
install -Dm 644 -t "${pkgdir}"/usr/share/icons/hicolor/${i}x${i}/apps/ usr/share/icons/hicolor/${i}x${i}/apps/${_pkgname}.png
done
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |