xcursor-lambda

LOW
maintainer SwooshyCueb 0 votes scanned 2026-09-17 00:27:14.276658
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-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

Report a package

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

0 / 4000
Your suggestion