library-converter-git

maintainer Starbuck7410 · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged Several real concerns here: (1) 'sudo npm install @yao-pkg/pkg' installs an external npm package (a Node.js binary packager) with root privileges during prepare(), bypassing makepkg's sandboxing and pulling in an undeclared dependency from the npm registry at build time. (2) 'sudo cp main /usr/bin/library-converter' installs files with sudo rather than using the proper install() function with $pkgdir, again bypassing makepkg's package isolation. (3) The build process uses @yao-pkg/pkg to compile main.js into a self-contained binary, which bundles the Node.js runtime and all dependencies into a single opaque executable — the resulting binary's contents are not auditable from the PKGBUILD alone. (4) The source is a git repo from the maintainer's own GitHub, and the compiled binary is what gets installed, not the source directly. The combination of sudo usage inside makepkg, an undeclared external tool fetched at build time, and installation of an opaque compiled binary constitutes a genuine medium-severity supply-chain concern, not a false positive.

Triggered rules

MEDIUM npm/yarn/pnpm install of an undeclared external package 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:29 sudo npm install @yao-pkg/pkg
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): Several real concerns here: (1) 'sudo npm install @yao-pkg/pkg' installs an external npm package (a Node.js binary packager) with root privileges during prepare(), bypassing makepkg's sandboxing and pulling in an undeclared dependency from the npm registry at build time. (2) 'sudo cp main /usr/bin/library-converter' installs files with sudo rather than using the proper install() function with $pkgdir, again bypassing makepkg's package isolation. (3) The build process uses @yao-pkg/pkg to compile main.js into a self-contained binary, which bundles the Node.js runtime and all dependencies into a single opaque executable — the resulting binary's contents are not auditable from the PKGBUILD alone. (4) The source is a git repo from the maintainer's own GitHub, and the compiled binary is what gets installed, not the source directly. The combination of sudo usage inside makepkg, an undeclared external tool fetched at build time, and installation of an opaque compiled binary constitutes a genuine medium-severity supply-chain concern, not a false positive.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Shraga Starbuck7410@gmail.com
2pkgname=library-converter-git
3pkgver=3.3.0
4pkgrel=1
5epoch=
6pkgdesc="A music library format converter, to make holding archival and compressed copies of music libraries easier."
7arch=(x86_64)
8url="https://github.com/Starbuck7410/library-converter.git"
9license=('GPL')
10groups=()
11depends=(ffmpeg)
12makedepends=(nodejs npm)
13checkdepends=()
14optdepends=()
15provides=(library-converter)
16conflicts=()
17replaces=()
18backup=()
19options=()
20install=
21changelog=
22source=("git+$url")
23noextract=()
24md5sums=('SKIP') #generate with 'makepkg -g'
25
26prepare() {
27 cd "$srcdir/library-converter"
28 npm install
29 sudo npm install @yao-pkg/pkg
30}
31
32build() {
33 cd "$srcdir/library-converter"
34 pkg main.js --target node22-linux-x64
35}
36
37package() {
38 cd "$srcdir/library-converter"
39 sudo cp main /usr/bin/library-converter
40}
41

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 MEDIUM 2
2026-08-02 00:16:08 MEDIUM 2
2026-08-01 00:11:18 MEDIUM 2
2026-07-31 00:14:10 MEDIUM 2
2026-07-30 00:17:23 MEDIUM 2
2026-07-29 00:25:53 MEDIUM 2
2026-07-28 00:07:28 MEDIUM 2
2026-07-27 00:24:32 MEDIUM 2
2026-07-26 00:07:32 MEDIUM 2
2026-07-25 00:13:44 MEDIUM 2
2026-07-24 00:02:28 MEDIUM 2
2026-07-23 00:14:47 MEDIUM 2
2026-07-22 00:29:32 MEDIUM 2
2026-07-21 00:24:15 MEDIUM 2
2026-07-20 00:19:49 MEDIUM 2
2026-07-19 00:17:08 MEDIUM 2
2026-07-18 00:14:48 MEDIUM 2
2026-07-17 00:06:16 MEDIUM 2
2026-07-16 00:05:41 MEDIUM 2
2026-07-15 00:09:25 MEDIUM 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion