boston-icon-theme
maintainer milouse
· 6 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The download is from OpenDesktop.org's official infrastructure via a dynamically generated URL, which is used to fetch the project's own source tarball; the content is a theme (non-executable data), and the final URL is captured in source=() with a fixed checksum, limiting supply-chain risk.
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 download is from OpenDesktop.org's official infrastructure via a dynamically generated URL, which is used to fetch the project's own source tarball; the content is a theme (non-executable data), and the final URL is captured in source=() with a fixed checksum, limiting supply-chain risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
External download from an untrusted host, not in source=()
external_download_not_in_source
curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.
-
PKGBUILD:14
_od_url=$(curl -s "https://www.opendesktop.org/dl?file_id=${_od_id}&file_type=application/x-xz&file_name=${_upname}.tar.xz&file_size=${_od_size}&has_torrent=0&project_id=${_od_project_id}&link_type=download&is_external=false&external_link=null" -X POST -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' --data-raw 'download_source=Continue+Download' | sed -n 's|^ *<a href="\([^"]*\)">Please click here</a>.*$|\1|p')
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Étienne Deparis <etienne@depar.is>
2
3
pkgname=boston-icon-theme
4
_upname=Boston
5
pkgver=2.0
6
pkgrel=1
7
pkgdesc="A highly minimalist icon theme, with a sober color palette inspired on basic hues and forms."
8
arch=('any')
9
url="https://www.opendesktop.org/p/1012402"
10
license=('CCPL:by-sa')
11
_od_id=1652343702
12
_od_size=281660
13
_od_project_id=1012402
14
_od_url=$(curl -s "https://www.opendesktop.org/dl?file_id=${_od_id}&file_type=application/x-xz&file_name=${_upname}.tar.xz&file_size=${_od_size}&has_torrent=0&project_id=${_od_project_id}&link_type=download&is_external=false&external_link=null" -X POST -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' --data-raw 'download_source=Continue+Download' | sed -n 's|^ *<a href="\([^"]*\)">Please click here</a>.*$|\1|p')
15
source=($_od_url)
16
sha256sums=('e4c491d362eb0306e00a35490b28879d7eb988dd45c98814e374eca0ef326780')
17
options=(!emptydirs)
18
19
package() {
20
cd "$srcdir/${_upname}"
21
22
install -d -m755 "$pkgdir/usr/share/licenses/$pkgname"
23
install -D -m644 license "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
24
install -D -m644 third-party "$pkgdir/usr/share/licenses/$pkgname/third-party"
25
26
install -d -m755 "$pkgdir/usr/share/doc/$pkgname"
27
install -D -m644 patrons.md "$pkgdir/usr/share/doc/$pkgname/patrons.md"
28
install -D -m644 changelog "$pkgdir/usr/share/doc/$pkgname/CHANGELOG"
29
30
install -d -m755 "$pkgdir/usr/share/icons/$_upname"
31
for size in 16 48 128 legacy symbolic; do
32
mv $size "$pkgdir/usr/share/icons/${_upname}/$size"
33
done
34
install -D -m644 index.theme "$pkgdir/usr/share/icons/${_upname}/index.theme"
35
}
36
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 |