futures
An async flow-control library for JavaScript (Browser and NodeJS)
Supply chain provenance
Status for the latest visible version.
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
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| source-diff | net-exec-file:futures/vendor/json2.js | AI (source-diff): json2.js is the well-known public domain JSON polyfill by Douglas Crockford; URL references in comments and eval-based parsing trigger the rule but pose no real risk. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): Dynamic require uses __dirname-based path construction for browser/Node.js compatibility — a deterministic relative path, not arbitrary user-controlled module loading. Stable false positive for this package. | ai | |
| provenance | no-provenance | AI (provenance): Package is 15+ years old, predates Sigstore provenance. No provenance is expected and not a meaningful risk signal here. | ai | |
| phantom-deps | phantom-dep:events.node | AI (phantom-deps): events.node is declared as a dependency but not directly imported — a stable packaging quirk for this package, not a security issue. | ai | |
| dependencies | unvetted-dep:forEachAsync | AI (dependencies): forEachAsync is authored by the same publisher (coolaj86) and is part of this package's established dependency ecosystem. | ai |
Versions (showing 13 of 13)
| Version | Deps | Published |
|---|---|---|
| 2.3.3 | 8 / 0 | |
| 2.3.1 | 8 / 0 | |
| 2.3.0 | 7 / 0 | |
| 2.2.0 | 7 / 0 | |
| 2.1.0 | 1 / 0 | |
| 2.0.3 | 1 / 0 | |
| 2.0.2 | 1 / 0 | |
| 2.0.1 | 1 / 0 | |
| 2.0.0 | 1 / 0 | |
| 1.9.4 | 0 / 0 | |
| 1.9.2 | 0 / 0 | |
| 0.9.7 | 0 / 0 | |
| 0.9.1 | 0 / 0 |
v2.3.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.3.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.3.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.2.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.1.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.0.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.0.2
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.0.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.0.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.9.4
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.9.2
2 findingsNewly added file contains both network calls and dynamic code execution. This is a hallmark of dropper/loader malware.
[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.