← Home

underscore-contrib

underscore-contrib ==================

7
Versions
MIT
License
No
Install Scripts
Missing
Provenance

Supply chain provenance

Status for the latest visible version.

No SLSA provenance npm registry signatures No source commit

Without SLSA provenance there is no cryptographic link between this tarball and the public source — the axios compromise (March 2026) relied on exactly this gap.

Maintainers

fogusjoshuacc

Accepted risks

Findings the reviewer chose to accept rather than block on.

SourceRuleReasonAccepted byWhen
source-diff net-exec-file:dist/underscore-contrib.js AI (source-diff): dist/underscore-contrib.js is a standard build artifact. 'Network call' is require('underscore'); 'exec' is new Function() for arity utilities. No actual dropper behavior. ai
source-diff net-exec-file:dist/underscore-contrib.min.js AI (source-diff): dist/underscore-contrib.min.js is the minified build artifact. Same false-positive pattern as the unminified file — require() + new Function() for arity helpers. ai
bogus-package bogus-package AI (bogus-package): Established package (4729 days, 19.7k weekly downloads); README/keywords signals are cosmetic false positives for this well-known library. ai
semgrep semgrep:dynamic-require AI (semgrep): Dynamic require iterates over a hardcoded array of known sub-module names with a fixed prefix — no user-controlled input, fully safe pattern for this library. ai
semgrep semgrep:new-function-constructor AI (semgrep): new Function() is used to create arity-specific wrappers around user-supplied functions — a standard functional programming pattern with internally generated, non-user-controlled code strings. No injection risk. ai
provenance publisher-changed AI (provenance): Publisher change fogus→joshuacc occurred in 2014; joshuacc is a known contributor with a clean track record. This is a stable historical transition, not a compromise signal. ai
maintainer-change maintainer-added AI (maintainer-change): joshuacc was added as maintainer in 2014 as part of a legitimate transition; stable historical fact for this package. ai

Versions (showing 7 of 7)

Version Deps Published
0.3.0 1 / 9
0.2.2 1 / 8
0.2.1 1 / 8
0.1.4 1 / 3
0.1.1 1 / 0
0.1.0 1 / 0
0.0.1 1 / 0

v0.3.0

2 findings
HIGH Publisher changed: fogus → joshuacc (on 2014-05-10) provenance

This version was published by a different npm account than previous versions on 2014-05-10. This could indicate a legitimate maintainer transition or an account compromise.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.2.2

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.2.1

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.1.4

3 findings
HIGH New file with network + code execution: dist/underscore-contrib.js source-diff

Newly added file contains both network calls and dynamic code execution. This is a hallmark of dropper/loader malware.

HIGH New file with network + code execution: dist/underscore-contrib.min.js source-diff

Newly added file contains both network calls and dynamic code execution. This is a hallmark of dropper/loader malware.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.1.1

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.1.0

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.0.1

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.