← Home

detective

find all require() calls by walking the AST

41
Versions
MIT
License
No
Install Scripts
Missing
Provenance

Supply chain provenance

Status for the latest visible version.

No SLSA provenance npm registry signatures gitHead linked

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

substackferossgkatsevzertoshmafintoshmaxogdenthlorenzterinjokesjmmmellowmelonashaffer88baluptoncwmmajprichardsonindutnyjryanssethvincentyoshuawuytsungoldmanahdinosaurelnounchparshapyerkopalmaforbeslindesayleichtgewichtgarannbretanandthakkermattdeslhughskfpereira1goto-bus-stopbpostlethwaiteemilbayesstevemaopkruminstehshrikedefunctzombielukechildsraynos

Keywords

analyzeastrequiresource

Accepted risks

Findings the reviewer chose to accept rather than block on.

SourceRuleReasonAccepted byWhen
publish-pattern new-deps-added AI (publish-pattern): The esprima→esprima-fb swap is a legitimate, purposeful change to support ES6/Harmony syntax parsing. No malicious intent; substack is a highly trusted publisher. ai
dependencies unvetted-dep:burrito AI (dependencies): burrito is a well-known AST traversal utility by substack (same author); a legitimate dependency for this package. ai
npm-metadata suspicious-initial-version AI (npm-metadata): Package is 14+ years old with 41 versions and 6 approved-dep edges; the 0.0.0 version is a legitimate early release by known author substack, not a throwaway malicious package. ai
provenance publisher-changed AI (provenance): Publisher changed to substack (James Halliday), the original author of detective per package.json and repo URL. This is a legitimate maintainer transition, not a compromise. ai
dependencies unvetted-dep:@browserify/acorn5-object-spread AI (dependencies): Scoped under @browserify org (same as detective); legitimate acorn plugin for object spread syntax, consistent with this package's AST-parsing purpose. ai
dependencies unvetted-dep:acorn-node AI (dependencies): acorn-node is the browserify-maintained acorn wrapper, a core dependency of detective; no security concern. ai
dependencies unvetted-dep:defined AI (dependencies): defined is a well-known, minimal utility package in the Node.js ecosystem; no security concern for this package. ai
provenance no-provenance AI (provenance): Package is 5421 days old with 41 versions; lack of Sigstore provenance is expected for this era and ecosystem position. ai

Versions (showing 41 of 41)

Version Deps Published
5.2.1 3 / 1
5.2.0 3 / 1
5.1.0 3 / 1
5.0.2 3 / 1
5.0.1 3 / 1
5.0.0 3 / 1
4.7.1 2 / 1
4.7.0 2 / 1
4.6.0 2 / 1
4.5.0 2 / 1
4.4.0 2 / 1
4.3.2 2 / 1
4.3.1 2 / 1
4.3.0 2 / 1
4.2.0 3 / 1
4.1.1 3 / 1
4.1.0 3 / 1
4.0.3 3 / 1
4.0.2 3 / 1
4.0.1 3 / 1
4.0.0 3 / 1
3.1.0 2 / 1
3.0.0 2 / 1
2.4.1 2 / 1
2.4.0 2 / 1
2.3.0 2 / 1
2.2.0 2 / 1
2.1.2 2 / 1
2.1.1 2 / 1
2.1.0 2 / 1
2.0.0 2 / 1
1.1.0 1 / 1
0.2.1 1 / 1
0.2.0 1 / 1
0.1.1 1 / 1
0.1.0 1 / 1
0.0.4 1 / 1
0.0.3 1 / 1
0.0.2 1 / 1
0.0.1 1 / 1
0.0.0 1 / 1

v5.2.1

2 findings
INFO No provenance attestation provenance

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

INFO Publisher changed: goto-bus-stop → bret (on 2022-05-27) provenance

[Accepted risk] This version was published by a different npm account than previous versions on 2022-05-27. This could indicate a legitimate maintainer transition or an account compromise.

v5.0.2

1 finding
INFO No provenance attestation provenance

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

v3.1.0

1 finding
INFO No provenance attestation provenance

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

v3.0.0

1 finding
INFO No provenance attestation provenance

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

v2.4.1

1 finding
INFO No provenance attestation provenance

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

v2.4.0

1 finding
INFO No provenance attestation provenance

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

v2.3.0

1 finding
INFO No provenance attestation provenance

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

v2.2.0

1 finding
INFO No provenance attestation provenance

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

v2.1.2

1 finding
INFO No provenance attestation provenance

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

v2.1.1

1 finding
INFO No provenance attestation provenance

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

v2.1.0

1 finding
INFO No provenance attestation provenance

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

v2.0.0

1 finding
INFO No provenance attestation provenance

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

v1.1.0

1 finding
INFO No provenance attestation provenance

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

v0.2.1

1 finding
INFO No provenance attestation provenance

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

v0.2.0

1 finding
INFO No provenance attestation provenance

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

v0.1.1

1 finding
INFO No provenance attestation provenance

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

v0.1.0

1 finding
INFO No provenance attestation provenance

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

v0.0.4

1 finding
INFO No provenance attestation provenance

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

v0.0.3

1 finding
INFO No provenance attestation provenance

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

v0.0.2

1 finding
INFO No provenance attestation provenance

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

v0.0.1

1 finding
INFO No provenance attestation provenance

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

v0.0.0

1 finding
INFO No provenance attestation provenance

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