shx
Portable Shell Commands for Node
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 |
|---|---|---|---|---|
| provenance | publisher-changed | AI (provenance): nfischer is a documented shelljs org contributor listed in package.json; the 2016 transition is a legitimate maintainer handoff, not a compromise. | ai | |
| publish-pattern | new-deps-added | AI (publish-pattern): minimist is a well-known CLI argument parser; its addition is appropriate for a CLI tool like shx and poses no supply-chain risk. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): Dynamic require at shx.js:93 loads a config file from a known CONFIG_PATH constant — standard config-loading pattern, not arbitrary module loading from untrusted input. Stable false positive for this package. | ai | |
| publish-pattern | dormant-publish | AI (publish-pattern): Long dormancy followed by a legitimate maintenance release (dep updates, node engine bump). Publisher has clean track record and package matches established shelljs/shx repo. Not indicative of takeover. | ai |
Versions (showing 14 of 14)
| Version | Deps | Published |
|---|---|---|
| 0.4.0 | 2 / 15 | |
| 0.3.4 | 2 / 17 | |
| 0.3.3 | 2 / 17 | |
| 0.3.2 | 3 / 16 | |
| 0.3.1 | 3 / 16 | |
| 0.3.0 | 3 / 16 | |
| 0.2.2 | 3 / 16 | |
| 0.2.1 | 3 / 16 | |
| 0.2.0 | 3 / 16 | |
| 0.1.4 | 2 / 17 | |
| 0.1.3 | 2 / 17 | |
| 0.1.2 | 1 / 16 | |
| 0.1.1 | 2 / 16 | |
| 0.1.0 | 1 / 17 |
v0.4.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.3
2 findingsThis version was published by a different npm account than previous versions on 2016-08-10. This could indicate a legitimate maintainer transition or an account compromise.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.