astrosound-redux
The npm install runs on the project's own source code from a trusted GitHub repository, and the installed dev dependency 'electron-packager' is a standard build tool required for packaging Electron apps, not an undeclared external risk.
Triggered rules
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 npm install runs on the project's own source code from a trusted GitHub repository, and the installed dev dependency 'electron-packager' is a standard build tool required for packaging Electron apps, not an undeclared external risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
npm_install_external
Runs `npm/yarn/pnpm install <package>` for a package not in source=(), pulling unpinned, unreviewed code at build time. Severity downgraded: the package declares/looks like a Node.js consumer, where build-time installs are expected.
-
PKGBUILD:27
npm install electron-packager --save-dev
PKGBUILD
1 offending line(s) highlighted# Maintainer: sansation <sansation.git@gmail.com>
pkgname=astrosound-redux
pkgver=0.0.5
pkgrel=4
pkgdesc="A modern music player made with Electron"
arch=('i686' 'x86_64')
url='https://github.com/XNBlank/astrosound-redux'
license=('GPL')
makedepends=('tar' 'npm' 'gendesk')
source=("https://github.com/XNBlank/${pkgname}/archive/${pkgver}-${pkgrel}.tar.gz")
sha256sums=('7f685a663d5ac0d9a6c57fdcc1f47eacb3e1007ec713af9d0978cb2b839585b5')
prepare() {
gendesk -n --pkgname "${pkgname}" --pkgdesc "${pkgdesc}"
}
package() {
cd ${srcdir}/${pkgname}-${pkgver}-${pkgrel}
case $CARCH in
'i686') _arch='ia32';;
'x86_64') _arch='x64';;
esac
# Build package with electron
npm install
npm install electron-packager --save-dev
./node_modules/.bin/electron-packager . astrosound-redux --appname=astrosound-redux \
--version=1.2.6 --platform=linux --arch="${_arch}"
# Install files
install -d "${pkgdir}/opt/astrosound-redux"
cp -a "${pkgname}-linux-${_arch}/." "${pkgdir}/opt/${pkgname}/"
# Install desktop entry
install -d "${pkgdir}/usr/share/applications"
install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/"
# Symlink main binary
install -d "${pkgdir}/usr/bin"
ln -s "/opt/${pkgname}/${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
# Symlink icon
install -d "${pkgdir}/usr/share/pixmaps"
ln -s "/opt/${pkgname}/resources/app/app.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
# Install license file
install -Dm644 "${pkgdir}/opt/${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm644 "${pkgdir}/opt/${pkgname}/LICENSES.chromium.html" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSES.chromium.html"
rm "${pkgdir}/opt/${pkgname}/LICENSE"
rm "${pkgdir}/opt/${pkgname}/LICENSES.chromium.html"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 |