lockee
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:30
npm install --cache ../cache --user root -g --prefix "${pkgdir}/usr"
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 75%): The PKGBUILD uses `npm install -g` without a lockfile (no package-lock.json is included in the sources), and the prepare() function modifies package.json to use floating version ranges ('3.x') for sqlite3 and node-sass dependencies. This means at build time, npm will resolve and download whatever versions satisfy '3.x' from the npm registry, without any integrity verification. The actual npm packages installed are not declared in the PKGBUILD sources and have no checksums. This is a genuine supply-chain concern: the installed node modules (including native addons like sqlite3 and node-sass which compile C/C++ code) come from an undeclared, unverified external source. This is a real medium-severity issue — not a false positive — because executed/compiled code is fetched without pinning or integrity checks.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Maxim Andersson <thesilentboatman@gmail.com>
pkgname=lockee
pkgver=1.0.0
pkgrel=2
pkgdesc="Temporary encrypted file lockers on the web"
arch=('any')
url="https://github.com/hbons/Lockee"
license=('AGPL3')
depends=('nodejs')
makedepends=('npm')
options=(!emptydirs)
source=("https://github.com/hbons/${pkgname^}/archive/${pkgver}.tar.gz")
sha256sums=('241c555d4422b53ba144c55e4ac749c7a1b86e813537473666e8397d6d30d739')
prepare() {
cd "${srcdir}/${pkgname^}-${pkgver}"
# Bumping the sqlite3 and node-sass dependencies
sed -i 's/2.1.1/3.x/g' package.json
sed -i 's/3.0.0-alpha.0/3.x/g' package.json
# Fix path in service file
sed -i 's|share/lockee|lib/node_modules/Lockee|g' "${pkgname}.service"
}
package() {
cd "${srcdir}/${pkgname^}-${pkgver}"
npm install --cache ../cache --user root -g --prefix "${pkgdir}/usr"
install -Dm644 "${pkgname}.service" -t "${pkgdir}/usr/lib/systemd/system"
}
# vim:set ts=2 sw=2 et:
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 |