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-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 |