nodejs-mkdirp
Triggered rules
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:21
npm install --user root -g --prefix "$pkgdir/usr" $_npmname@$pkgver
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 85%): This PKGBUILD installs the npm package 'mkdirp@0.5.1' directly from the npm registry at build/install time using 'npm install', with no source tarball, no checksum verification, and no offline/vendored source. The only declared source is '.AURINFO' with SKIP checksum. This means the actual installed code is fetched live from the npm registry without any integrity check, creating a genuine supply-chain risk: if the npm package were compromised or yanked/replaced, users would silently get malicious code. Additionally, 'npm config set strict-ssl false' temporarily disables SSL verification during the install, further weakening the security posture. This is a real medium-severity supply-chain concern — not a false positive — because executed JavaScript code is being fetched from an external source without verification.
PKGBUILD
1 offending line(s) highlighted# Maintainer: aboe76 AT gmail DOT com>
pkgname=nodejs-mkdirp
_npmname=mkdirp
pkgver=0.5.1
pkgrel=1
pkgdesc="Recursively mkdir, like mkdir -p, but in node.js"
arch=('any')
depends=('npm' 'nodejs')
url="https://github.com/substack/node-mkdirp"
license=('MIT')
provides=('nodejs-mkdirp')
source=(".AURINFO")
md5sums=('SKIP')
package() {
local _npmdir="$pkgdir/usr/lib/node_modules/"
mkdir -p $_npmdir
cd $_npmdir
npm config set strict-ssl false
npm install --user root -g --prefix "$pkgdir/usr" $_npmname@$pkgver
npm config set strict-ssl true
rmdir "${pkgdir}/usr/etc"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 |