astrosound-redux-git
The npm install runs on the project's own source from a legitimate git repository, which is standard for building Electron apps; the undeclared dev dependency is a normal part of the build process and not a supply-chain 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 from a legitimate git repository, which is standard for building Electron apps; the undeclared dev dependency is a normal part of the build process and not a supply-chain 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:32
npm install electron-packager --save-dev
PKGBUILD
1 offending line(s) highlighted# Maintainer: sansation <sansation.git@gmail.com>
_pkgname=astrosound-redux
pkgname=astrosound-redux-git
pkgver=r49.a6c1853
pkgrel=1
pkgdesc="A modern music player made with Electron - git version"
arch=('i686' 'x86_64')
url='https://github.com/XNBlank/astrosound-redux'
license=('GPL')
makedepends=('git' 'npm' 'gendesk')
source=('git+https://github.com/XNBlank/astrosound-redux')
md5sums=('SKIP')
pkgver() {
cd "${srcdir}/${_pkgname}"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
prepare() {
gendesk -n --pkgname "${_pkgname}" --pkgdesc "${pkgdesc}"
}
package() {
case $CARCH in
'i686') _arch='ia32';;
'x86_64') _arch='x64';;
esac
# Build package with electron
cd "${_pkgname}"
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 "${srcdir}/${_pkgname}/${_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 |