gnome-shell-extension-randomwallpaper
The npx tsc command compiles TypeScript source code from the project's own repository, which is a normal part of the build process and not an execution of a remote package with untrusted code.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The npx tsc command compiles TypeScript source code from the project's own repository, which is a normal part of the build process and not an execution of a remote package with untrusted code.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:36
npx tsc
PKGBUILD
1 offending line(s) highlighted# Maintainer: Mario Finelli <mario at finel dot li>
# Contributor: Igor Dyatlov <dyatlov.igor@protonmail.com>
pkgname=gnome-shell-extension-randomwallpaper
pkgver=3.2.0
pkgrel=3
pkgdesc="Random Wallpapers for Gnome 3"
arch=(any)
url=https://github.com/ifl0w/RandomWallpaperGnome3
license=(MIT)
depends=(gnome-shell)
makedepends=(blueprint-compiler git npm)
source=("RandomWallpaperGnome3::git+${url}.git#tag=v${pkgver}"
https://patch-diff.githubusercontent.com/raw/ifl0w/RandomWallpaperGnome3/pull/235.patch)
sha256sums=('ac621610da7d82f93439df72cfb0b89ce37f473520274cf5b6534f9fe6407088'
'1c365b1e696c804ffd3ea963d73a595e1ed2e757761384edbf31d6c2299ab257')
prepare() {
cd RandomWallpaperGnome3
patch -p1 -N -i "${srcdir}/235.patch"
npm ci
}
build() {
cd RandomWallpaperGnome3
local uuid="$(grep -Po '(?<="uuid": ")[^"]*' src/metadata.json)"
local schema=$(grep -Po '(?<="settings-schema": ")[^"]*' \
src/metadata.json).gschema.xml
mkdir "$uuid"
# UI
blueprint-compiler batch-compile "$uuid/ui" src/ui src/ui/*.blp
# JS
npx tsc
# schemas
mkdir "$uuid/schemas"
glib-compile-schemas --targetdir="$uuid/schemas" src/schemas
# static files
cp "src/schemas/$schema" "$uuid/schemas"
cp src/metadata.json "$uuid"
cp src/stylesheet.css "$uuid"
# pack into zip
local extra_source=()
for file in "$uuid"/*; do
extra_source+=("--extra-source=$file")
done
gnome-extensions pack "${extra_source[@]}" "$uuid"
}
package() {
cd RandomWallpaperGnome3
local uuid="$(grep -Po '(?<="uuid": ")[^"]*' src/metadata.json)"
local schema=$(grep -Po '(?<="settings-schema": ")[^"]*' \
src/metadata.json).gschema.xml
local destdir="${pkgdir}/usr/share/gnome-shell/extensions/${uuid}"
install -dm0755 "$destdir"
bsdtar xvf ${uuid}.shell-extension.zip -C "$destdir/" --no-same-owner
install -Dm0644 "$destdir/schemas/$schema" \
-t "$pkgdir/usr/share/glib-2.0/schemas/"
install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
# gnome-extensions pack doesn't seem to include the extra-source options
# no matter what I try, so we'll just manually add them to the package now...
cd "$uuid"
find ui -type f -name '*.ui' -exec install -Dm0644 {} -t "$destdir/ui/" \;
for s in adapter manager ui; do
find $s -type f -name '*.js' -exec install -Dm0644 {} -t "$destdir/$s/" \;
done
for js in *.js; do
[[ $js == extension.js ]] && continue
[[ $js == prefs.js ]] && continue
install -Dm0644 $js -t "$destdir/"
done
rm -rf "${destdir}/schemas"
}
# vim: set ts=2 sw=2 et:
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 00:06:47 | Low | 2 |
| 2026-10-13 00:23:45 | Low | 2 |