gnome-shell-extension-randomwallpaper
maintainer supermario
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The npx tsc command compiles TypeScript source code from the project's own repository using a standard development tool; this is a normal part of building the extension and does not execute untrusted remote code.
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 npx tsc command compiles TypeScript source code from the project's own repository using a standard development tool; this is a normal part of building the extension and does not execute untrusted remote code.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
npx/bunx/deno executes a remote package
remote_code_tool
`npx`/`bunx`/`pnpm dlx`/`deno run <url>` downloads AND runs a remote package at build time — the moral equivalent of piping a download into a shell. Severity downgraded: Node.js consumer context.
-
PKGBUILD:33
npx tsc
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Mario Finelli <mario at finel dot li>
2
# Contributor: Igor Dyatlov <dyatlov.igor@protonmail.com>
3
4
pkgname=gnome-shell-extension-randomwallpaper
5
pkgver=3.2.0
6
pkgrel=1
7
pkgdesc="Random Wallpapers for Gnome 3"
8
arch=(any)
9
url=https://github.com/ifl0w/RandomWallpaperGnome3
10
license=(MIT)
11
depends=(gnome-shell)
12
makedepends=(blueprint-compiler git npm)
13
source=("RandomWallpaperGnome3::git+${url}.git#tag=v${pkgver}")
14
sha256sums=('ac621610da7d82f93439df72cfb0b89ce37f473520274cf5b6534f9fe6407088')
15
16
prepare() {
17
cd RandomWallpaperGnome3
18
npm ci
19
}
20
21
build() {
22
cd RandomWallpaperGnome3
23
24
local uuid="$(grep -Po '(?<="uuid": ")[^"]*' src/metadata.json)"
25
local schema=$(grep -Po '(?<="settings-schema": ")[^"]*' \
26
src/metadata.json).gschema.xml
27
mkdir "$uuid"
28
29
# UI
30
blueprint-compiler batch-compile "$uuid/ui" src/ui src/ui/*.blp
31
32
# JS
33
npx tsc
34
35
# schemas
36
mkdir "$uuid/schemas"
37
glib-compile-schemas --targetdir="$uuid/schemas" src/schemas
38
39
# static files
40
cp "src/schemas/$schema" "$uuid/schemas"
41
cp src/metadata.json "$uuid"
42
cp src/stylesheet.css "$uuid"
43
44
# pack into zip
45
local extra_source=()
46
for file in "$uuid"/*; do
47
extra_source+=("--extra-source=$file")
48
done
49
50
gnome-extensions pack "${extra_source[@]}" "$uuid"
51
}
52
53
package() {
54
cd RandomWallpaperGnome3
55
56
local uuid="$(grep -Po '(?<="uuid": ")[^"]*' src/metadata.json)"
57
local schema=$(grep -Po '(?<="settings-schema": ")[^"]*' \
58
src/metadata.json).gschema.xml
59
local destdir="${pkgdir}/usr/share/gnome-shell/extensions/${uuid}"
60
61
install -dm0755 "$destdir"
62
bsdtar xvf ${uuid}.shell-extension.zip -C "$destdir/" --no-same-owner
63
install -Dm0644 "$destdir/schemas/$schema" \
64
-t "$pkgdir/usr/share/glib-2.0/schemas/"
65
66
install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
67
68
# gnome-extensions pack doesn't seem to include the extra-source options
69
# no matter what I try, so we'll just manually add them to the package now...
70
cd "$uuid"
71
find ui -type f -name '*.ui' -exec install -Dm0644 {} -t "$destdir/ui/" \;
72
73
for s in adapter manager ui; do
74
find $s -type f -name '*.js' -exec install -Dm0644 {} -t "$destdir/$s/" \;
75
done
76
77
for js in *.js; do
78
[[ $js == extension.js ]] && continue
79
[[ $js == prefs.js ]] && continue
80
install -Dm0644 $js -t "$destdir/"
81
done
82
83
rm -rf "${destdir}/schemas"
84
}
85
86
# vim: set ts=2 sw=2 et:
87
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 |