lens-bin
The package downloads a prebuilt AppImage from the project's official API domain, which is a standard release mechanism; while the host is not on a whitelist, it is plausibly controlled by the project, and the binary is not executed during build but extracted and installed locally, posing minimal risk.
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 package downloads a prebuilt AppImage from the project's official API domain, which is a standard release mechanism; while the host is not on a whitelist, it is plausibly controlled by the project, and the binary is not executed during build but extracted and installed locally, posing minimal risk.
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:18
source=(${_pkgname}-${pkgver}.${arch}.AppImage::"https://api.k8slens.dev/binaries/Lens-${pkgver}-latest.${arch}.AppImage"
PKGBUILD
1 offending line(s) highlighted# Maintainer: "Amhairghin" Oscar Garcia Amor (https://ogarcia.me)
# Maintainer: istimaldar_sntlk <istimaldar@gmail.com>
# Contributor: zer0def <zer0def@github>
_pkgname=lens
pkgname=lens-bin
pkgver=2026.4.151333
pkgrel=1
pkgdesc='The Kubernetes IDE'
arch=('x86_64')
license=('LicenseRef-Custom')
url='https://k8slens.dev'
depends=('gtk3' 'libxss' 'nss')
provides=('lens')
conflicts=('lens')
options=('!debug' '!strip' '!emptydirs')
install="${_pkgname}.install"
source=(${_pkgname}-${pkgver}.${arch}.AppImage::"https://api.k8slens.dev/binaries/Lens-${pkgver}-latest.${arch}.AppImage"
"${_pkgname}.install"
"${_pkgname}.desktop")
b2sums=('524e6fb1ecf3946f85805251a46f8ea007e4df506c71c72dde2226215e183fd0ca50ddc555ef92a99546daeba1af823c2f370982b7851402c799cfea30ce9349'
'ee08f5ca738acd64bbd3076bdad73c2d1ef58d7bb89993e31c5aaa5d6b0308410b816b80be4860c8353be51f54dafbc1e39a7a03ef82881c5a10ad643b0fd596'
'7c5afc77c4e921f198139efeb168a16c6208fe0df1267a224ce62bde160d22ec68467f57a560742307ff2bf4e6b5d0bcbf07062b82f1fabcd95e7368d9d02477')
prepare() {
chmod +x "${_pkgname}-${pkgver}.${arch}.AppImage"
"./${_pkgname}-${pkgver}.${arch}.AppImage" --appimage-extract
}
package() {
# move the entire distribution to /usr/share
mkdir -p "${pkgdir}"/usr/share/${_pkgname}
mv "${srcdir}"/squashfs-root/* \
"${pkgdir}"/usr/share/${_pkgname}
# icon
install -Dm 644 "${pkgdir}"/usr/share/${_pkgname}/usr/share/icons/hicolor/512x512/apps/${_pkgname}-desktop.png \
"${pkgdir}"/usr/share/icons/hicolor/512x512/apps/${_pkgname}-desktop.png
# desktop file
install -Dm 644 "${srcdir}"/${_pkgname}.desktop \
"${pkgdir}"/usr/share/applications/${_pkgname}.desktop
# symlink binary
mkdir -p "${pkgdir}"/usr/bin
ln -sf /usr/share/${_pkgname}/lens-desktop \
"${pkgdir}"/usr/bin/lens-desktop
# symlink license
mkdir -p "${pkgdir}"/usr/share/licenses/${_pkgname}
ln -sf /usr/share/${_pkgname}/resources/static/license.md \
"${pkgdir}"/usr/share/licenses/${_pkgname}/LICENSE
# clean and fix permissions
find "${pkgdir}" -type d -exec chmod 755 {} \;
chmod -x "${pkgdir}"/usr/share/${_pkgname}/*.so
rm -rf "${pkgdir}"/usr/share/${_pkgname}/AppRun
rm -rf "${pkgdir}"/usr/share/${_pkgname}/lens-desktop.{desktop,png}
rm -rf "${pkgdir}"/usr/share/${_pkgname}/usr
rm -rf "${pkgdir}"/usr/share/${_pkgname}/resources/extensions/*/dist/*-arm64
}
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 |