xcursor-lambda

maintainer SwooshyCueb · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package downloads cursor theme data from a non-whitelisted but plausibly official KDE-look API; the worst case of a swapped source is cosmetic tampering, not code execution, as it installs only theme files.

Triggered rules

LOW AI review downgraded a static finding 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 cursor theme data from a non-whitelisted but plausibly official KDE-look API; the worst case of a swapped source is cosmetic tampering, not code execution, as it installs only theme files.

1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM source=() URL on a non-standard host 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:17 source=("${pkgname}_dl.xml::https://api.kde-look.org/ocs/v1/content/download/${_ocsid}/${_fileidx}"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Markus Kitsinger (SwooshyCueb) <root@swooshalicio.us>
2
3pkgname=xcursor-lambda
4pkgver=1.3
5pkgrel=1
6_ocsid=999496
7_fileidx=1
8_ocsid_black=999424
9_fileidx_black=1
10pkgdesc="Recreation of the perspective cursor theme with some changes and a black variant"
11arch=('any')
12url="https://www.pling.com/p/${_ocsid}/"
13depends=('libxcursor')
14makedepends=('libxml2')
15options=('!debug')
16# the acutal download URL changes occasionally, so we have to use the API to fetch it
17source=("${pkgname}_dl.xml::https://api.kde-look.org/ocs/v1/content/download/${_ocsid}/${_fileidx}"
18 "${pkgname}-black_dl.xml::https://api.kde-look.org/ocs/v1/content/download/${_ocsid_black}/${_fileidx_black}"
19 "lambda.index.theme"
20 "lambda-black.index.theme")
21sha256sums=('SKIP'
22 'SKIP'
23 '06356d3e024295a514fbe3c51e4c9ab0ac45bca1ae2a78c875cb4a638b30890b'
24 '1fa2aee2f4184f514af37ff4d18cb681c3ca524c360895bf9a2b3128d21b33de')
25
26prepare() {
27 echo -n ' '; msg "$(gettext "Retrieving sources...")"
28 cd "${startdir}"
29 _downloadlink=$(xmllint --xpath '//ocs/data/content[@details="download"]/downloadlink/text()' "${srcdir}/${pkgname}_dl.xml")
30 _downloadlink_black=$(xmllint --xpath '//ocs/data/content[@details="download"]/downloadlink/text()' "${srcdir}/${pkgname}-black_dl.xml")
31 _netfile="${pkgname}.tar.gz::${_downloadlink}"
32 _netfile_black="${pkgname}-black.tar.gz::${_downloadlink_black}"
33 download_file "${_netfile}"
34 download_file "${_netfile_black}"
35
36 echo -n ' '; msg "$(gettext "Validating %s files with %s...")" "source" "sha256sums"
37 verify_integrity_one "${_netfile}" sha256 "01d4f40830d20173a69cb8bed0ea26435bce0570d4591a8281bccef870ee5737"
38 verify_integrity_one "${_netfile_black}" sha256 "a12187b20c94923d303e799021d44e9cad095adb6b55bcc211baf488d5de0b55"
39
40 echo -n ' '; msg "$(gettext "Extracting sources...")"
41 cd "${srcdir}"
42 extract_file "${_netfile}"
43 extract_file "${_netfile_black}"
44}
45
46package() {
47 install -d "${pkgdir}/usr/share/icons"
48 cp -r "${srcdir}/Lambda" "${pkgdir}/usr/share/icons"
49 cp -r "${srcdir}/Lambda-black" "${pkgdir}/usr/share/icons"
50 install -Dm644 "${srcdir}/lambda.index.theme" "${pkgdir}/usr/share/icons/Lambda/index.theme"
51 install -Dm644 "${srcdir}/lambda-black.index.theme" "${pkgdir}/usr/share/icons/Lambda-black/index.theme"
52}
53

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 LOW 2
2026-08-02 00:16:08 LOW 2
2026-08-01 00:11:18 LOW 2
2026-07-31 00:14:10 LOW 2
2026-07-30 00:17:23 LOW 2
2026-07-29 00:25:53 LOW 2
2026-07-28 00:07:28 LOW 2
2026-07-27 00:24:32 LOW 2
2026-07-26 00:07:32 LOW 2
2026-07-25 00:13:44 LOW 2
2026-07-24 00:02:28 LOW 2
2026-07-23 00:14:47 LOW 2
2026-07-22 00:29:32 LOW 2
2026-07-21 00:24:15 LOW 2
2026-07-20 00:19:49 LOW 2
2026-07-19 00:17:08 LOW 2
2026-07-18 00:14:48 LOW 2
2026-07-17 00:06:16 LOW 2
2026-07-16 00:05:41 LOW 2
2026-07-15 00:09:25 LOW 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion