lightning-matrix-appimage
The package installs a prebuilt AppImage from GitHub releases, which is an unverifiable executable binary; if compromised, it could execute arbitrary code, though the source is from the project's official repository.
Triggered rules
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
llm_review
The static rules found a suspicious pattern they could not resolve, so an AI model (qwen/qwen3-235b-a22b-2507) reviewed it and judged it MEDIUM (confidence 95%): The package installs a prebuilt AppImage from GitHub releases, which is an unverifiable executable binary; if compromised, it could execute arbitrary code, though the source is from the project's official repository.
PKGBUILD
# Maintainer: Danilo Luvizotto <danilo.luvizotto@gmail.com>
_pkgname=lightning-matrix
pkgname=${_pkgname}-appimage
pkgver=0.7.6
pkgrel=1
pkgdesc='Native Qt 6 Matrix desktop client using the official Rust Matrix SDK (prebuilt AppImage)'
arch=('x86_64')
url='https://www.lightning-matrix.org/'
license=('GPL-3.0-or-later')
depends=('fuse2' 'hicolor-icon-theme' 'zlib')
provides=("${_pkgname}=${pkgver}")
conflicts=("${_pkgname}")
options=('!strip' '!debug')
_appimage="Lightning-${pkgver}-${CARCH}.AppImage"
_sumfile="SHA256SUMS-${pkgver}"
_release_url="https://github.com/Mizerd/lightning/releases/download/v${pkgver}"
source_x86_64=(
"${_appimage}::${_release_url}/${_appimage}"
"${_sumfile}::${_release_url}/SHA256SUMS"
)
noextract=("${_appimage}")
sha256sums_x86_64=('4e7059c38944ae785ed81f67fe1adcaedff94e920c2f3816a9ee2f797e67a8c5'
'92deee5ffeb34471b122d793fd9fbd3e613a28a44f672031571afe735bf210ff')
prepare() {
local expected
expected="$(awk -v f="${_appimage}" '
$2 == f || $2 == "*" f { print $1; exit }
' "${_sumfile}")"
if [[ ! ${expected} =~ ^[[:xdigit:]]{64}$ ]]; then
printf 'ERROR: Could not find a valid SHA-256 for %s in %s\n' \
"${_appimage}" "${_sumfile}" >&2
return 1
fi
printf '%s %s\n' "${expected}" "${_appimage}" | sha256sum -c -
chmod +x "${_appimage}"
rm -rf squashfs-root
"./${_appimage}" --appimage-extract >/dev/null
}
package() {
install -Dm755 "${_appimage}" \
"${pkgdir}/opt/${pkgname}/Lightning.AppImage"
install -dm755 "${pkgdir}/usr/bin"
ln -s "/opt/${pkgname}/Lightning.AppImage" \
"${pkgdir}/usr/bin/lightning"
ln -s "/opt/${pkgname}/Lightning.AppImage" \
"${pkgdir}/usr/bin/lightning-matrix"
# Use the upstream desktop metadata, but point Exec at the AUR wrapper name
# rather than the generic internal binary name `matrix-client`.
install -Dm644 /dev/stdin \
"${pkgdir}/usr/share/applications/lightning.desktop" <<'DESKTOP'
[Desktop Entry]
Type=Application
Name=Lightning
GenericName=Matrix Client
Comment=Native Qt Matrix chat client
Exec=lightning --backend=rust
Icon=lightning
Terminal=false
Categories=Network;Chat;InstantMessaging;
Keywords=Matrix;Chat;Messaging;
StartupNotify=true
StartupWMClass=matrix-client
DESKTOP
# AppImages normally expose their application icon at the root. Fall back to
# an icon shipped under usr/share if the release layout changes.
local icon=''
for candidate in \
squashfs-root/lightning.svg \
squashfs-root/lightning.png \
squashfs-root/usr/share/icons/hicolor/scalable/apps/lightning.svg \
squashfs-root/usr/share/pixmaps/lightning.png; do
if [[ -f ${candidate} ]]; then
icon=${candidate}
break
fi
done
if [[ -z ${icon} ]]; then
icon="$(find squashfs-root -type f \
\( -iname 'lightning.svg' -o -iname 'lightning.png' \) \
-print -quit)"
fi
if [[ -n ${icon} ]]; then
case ${icon##*.} in
svg)
install -Dm644 "${icon}" \
"${pkgdir}/usr/share/icons/hicolor/scalable/apps/lightning.svg"
;;
png)
install -Dm644 "${icon}" \
"${pkgdir}/usr/share/pixmaps/lightning.png"
;;
esac
else
printf 'WARNING: upstream AppImage contains no Lightning icon\n' >&2
fi
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-24 17:24:12 | Medium | 2 |