node-hp-scan-to
maintainer manuc66
· 3 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The npm install is from the official npm registry source tarball declared in the PKGBUILD and verified via sha512sum; installing a node package from its own npm source is standard practice and not inherently dangerous.
Triggered rules
LOW
AI review downgraded a static finding
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 is from the official npm registry source tarball declared in the PKGBUILD and verified via sha512sum; installing a node package from its own npm source is standard practice and not inherently dangerous.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:43
npm install -g --user root --cache "$srcdir/npm-cache" --prefix "$pkgdir/usr" "${source[@]##*/}"
PKGBUILD
1 offending line(s) highlighted
1
pkgname=node-hp-scan-to
2
pkgver=1.8.0
3
pkgrel=0
4
pkgdesc="Little command line program that allow to send scan from device to computer. For this purpose, the original HP Windows application's interaction with the device has been reverse engineered."
5
arch=(any)
6
url="https://github.com/manuc66/node-hp-scan-to"
7
license=('MIT')
8
depends=('nodejs')
9
makedepends=('npm' 'jq' 'moreutils')
10
backup=('etc/node-hp-scan-to/default.json')
11
source=("${pkgname}-${pkgver}.tgz::https://registry.npmjs.org/${pkgname}/-/${pkgname}-${pkgver}.tgz")
12
noextract=(${pkgname}-${pkgver}.tgz)
13
sha512sums=(b07b69769219fc8c3656a6f3d80c612e0aa7b1ff4a54c593f55138a2f8b139bb21755c7e9479a256511ff005d59070080c00472836c090b825f9adc47d5ed96f)
14
15
build() {
16
cat > "$srcdir/$pkgname.service" <<EOF
17
[Unit]
18
Description=Receive scan from HP All-in-One printers
19
After=syslog.target network-online.target
20
21
[Service]
22
Type=simple
23
User=root
24
Environment=NODE_CONFIG_DIR=/etc/node-hp-scan-to
25
WorkingDirectory=/usr/bin/
26
ExecStart=/usr/bin/node-hp-scan-to
27
Restart=on-failure
28
RestartSec=10
29
KillMode=process
30
31
[Install]
32
WantedBy=multi-user.target
33
EOF
34
cat > "$srcdir/default.json" <<EOF
35
{
36
"debug": false
37
}
38
EOF
39
40
}
41
42
package() {
43
npm install -g --user root --cache "$srcdir/npm-cache" --prefix "$pkgdir/usr" "${source[@]##*/}"
44
find "$pkgdir"/usr -type d -exec chmod 755 {} +
45
find "$pkgdir" -type f -name package.json \
46
-execdir sh -c "jq '. |= with_entries(select(.key | test(\"_.+\") | not))' {} | sponge {}" \;
47
chown -R root:root "$pkgdir"
48
49
install -Dm0644 "$srcdir/$pkgname.service" "$pkgdir/usr/lib/systemd/system/$pkgname.service"
50
echo "Please enable the systemd service via 'sudo systemctl enable --now $pkgname.service'"
51
52
install -d "$pkgdir"/etc/node-hp-scan-to
53
install -m644 "$srcdir"/default.json "$pkgdir"/etc/node-hp-scan-to/default.json
54
}
55
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |