steamachievementnotifier
maintainer hawkeye116477
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The npx calls run locally-installed tsc and electron-builder from the project's own node_modules (installed via npm install from the official GitHub source), not fetching remote packages at runtime; the source is the project's own official GitHub repository, making this a normal AUR build with a SKIP'd checksum on a git source (which is common and low-risk).
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed the full PKGBUILD and judged it LOW (confidence 80%): The npx calls run locally-installed tsc and electron-builder from the project's own node_modules (installed via npm install from the official GitHub source), not fetching remote packages at runtime; the source is the project's own official GitHub repository, making this a normal AUR build with a SKIP'd checksum on a git source (which is common and low-risk).
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:32
npx tsc --build --clean && npx tsc && ./node_modules/.bin/electron-builder --linux --x64 --dir -c.electronDist=/usr/lib/$_electron/ -c.electronVersion=$(cat /usr/lib/$_electron/version) -
PKGBUILD:32
npx tsc --build --clean && npx tsc && ./node_modules/.bin/electron-builder --linux --x64 --dir -c.electronDist=/usr/lib/$_electron/ -c.electronVersion=$(cat /usr/lib/$_electron/version)
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: hawkeye116477 <hawkeye11647 at gmail dot com>
2
pkgname=steamachievementnotifier
3
_pkgname="Steam Achievement Notifier"
4
_mainver=1.9
5
_subver=44
6
pkgver="${_mainver}.${_subver}"
7
_electron=electron42
8
pkgrel=1
9
pkgdesc="Shows fully customisable notifications when you unlock any achievement on Steam"
10
arch=('x86_64')
11
url="https://github.com/SteamAchievementNotifier/SteamAchievementNotifier"
12
license=('LicenseRef-unknown')
13
provides=("${pkgname}=${pkgver}")
14
conflicts=("${pkgname}")
15
depends=(
16
"${_electron}"
17
)
18
makedepends=(
19
'asar'
20
'git'
21
'nodejs-lts'
22
'npm'
23
'python'
24
)
25
source=("git+https://github.com/SteamAchievementNotifier/SteamAchievementNotifier.git#tag=${pkgver}")
26
sha256sums=('SKIP')
27
28
29
build() {
30
cd SteamAchievementNotifier
31
HOME="${srcdir}/.electron-gyp" npm install
32
npx tsc --build --clean && npx tsc && ./node_modules/.bin/electron-builder --linux --x64 --dir -c.electronDist=/usr/lib/$_electron/ -c.electronVersion=$(cat /usr/lib/$_electron/version)
33
}
34
35
package() {
36
cd "SteamAchievementNotifier"
37
install -d "${pkgdir}/usr/lib/${pkgname}"
38
cp -rf _release/linux-unpacked/resources/* "${pkgdir}/usr/lib/${pkgname}/"
39
install -Dm755 /dev/stdin "${pkgdir}/usr/bin/${pkgname}" <<EOF
40
#!/usr/bin/bash
41
exec $_electron /usr/lib/${pkgname}/app.asar --no-sandbox "\$@"
42
EOF
43
44
for i in 32 512; do
45
install -d "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps"
46
done
47
48
ln -Ts /usr/lib/${pkgname}/img/sanlogo.png \
49
"$pkgdir/usr/share/icons/hicolor/512x512/apps/${pkgname}.png"
50
ln -Ts /usr/lib/${pkgname}/img/32x32.png \
51
"$pkgdir/usr/share/icons/hicolor/32x32/apps/${pkgname}.png"
52
53
install -Dm755 /dev/stdin "${pkgdir}/usr/share/applications/${pkgname}.desktop" <<EOF
54
[Desktop Entry]
55
Name=Steam Achievement Notifier
56
Exec=steamachievementnotifier %U
57
Terminal=false
58
Type=Application
59
Icon=steamachievementnotifier
60
StartupWMClass=Steam Achievement Notifier
61
Comment=Steam Achievement Notifier
62
Categories=Utility;
63
EOF
64
}
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 | 3 |
| 2026-07-23 00:14:47 | LOW | 3 |
| 2026-07-22 00:29:32 | LOW | 3 |
| 2026-07-21 00:24:15 | LOW | 3 |
| 2026-07-20 00:19:49 | LOW | 3 |
| 2026-07-19 00:17:08 | LOW | 3 |
| 2026-07-18 00:14:48 | LOW | 3 |
| 2026-07-17 00:06:16 | LOW | 3 |
| 2026-07-16 00:05:41 | LOW | 3 |
| 2026-07-15 00:09:25 | LOW | 3 |