formidable
A node.js module for parsing form data, especially file uploads.
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 | missing-githead | AI (provenance): Formidable is a mature, high-download package; missing gitHead reflects a publish-environment change, not a supply-chain attack. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): Plugin loader constrained to __dirname/plugins subdirectory; standard pattern for formidable's plugin architecture. | ai | |
| provenance | no-provenance | AI (provenance): Published in 2021 before npm provenance/Sigstore was available; expected for this era. | ai | |
| provenance | publisher-changed | AI (provenance): The svnlto → kornel transition in 2018 was a legitimate, publicly documented community maintainer handoff for formidable. No malicious indicators present. | ai | |
| maintainer-change | maintainer-added | AI (maintainer-change): New maintainers (chalker, kornel, olstenlarck, tim-smart) reflect the documented 2018 community takeover of formidable, not a compromise. Package metadata and code are clean. | ai | |
| semgrep | semgrep:base64-decode | AI (semgrep): Base64 decoding is essential for multipart form parsing with Content-Transfer-Encoding: base64. | ai |
Versions (showing 21 of 21)
| Version | Deps | Published |
|---|---|---|
| 3.5.4 | 3 / 18 | |
| 3.5.3 | 3 / 24 | |
| 2.1.5 | 4 / 15 | |
| 2.1.4 | 4 / 15 | |
| 2.1.3 | 4 / 17 | |
| 2.0.1 | 4 / 20 | |
| 2.0.0 | 4 / 20 | |
| 1.2.6 | 0 / 6 | |
| 1.2.5 | 0 / 6 | |
| 1.2.4 | 0 / 6 | |
| 1.2.3 | 0 / 6 | |
| 1.2.2 | 0 / 6 | |
| 1.2.1 | 0 / 6 | |
| 1.2.0 | 0 / 6 | |
| 1.1.1 | 0 / 6 | |
| 1.0.17 | 0 / 6 | |
| 1.0.16 | 0 / 6 | |
| 1.0.15 | 0 / 6 | |
| 1.0.14 | 0 / 6 | |
| 1.0.13 | 0 / 6 | |
| 1.0.12 | 0 / 6 |
v3.5.4
2 findingsThis version has no gitHead field linking it to a source commit, but previous versions did. This suggests the publish environment changed. Published by: tunnckocore.
[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.5.3
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.1.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.1.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.1.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.0.1
2 findingsThis version was published by a different npm account than previous versions on 2021-10-30. 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.
v2.0.0
2 findingsThis version was published by a different npm account than previous versions on 2021-10-30. 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.
v1.2.6
2 findingsThis version was published by a different npm account than previous versions on 2021-10-30. 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.
v1.2.5
2 findingsThis version was published by a different npm account than previous versions on 2021-10-30. 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.
v1.2.4
2 findingsThis version was published by a different npm account than previous versions on 2021-10-30. 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.
v1.2.3
2 findingsThis version was published by a different npm account than previous versions on 2021-10-30. 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.
v1.2.2
2 findingsThis version was published by a different npm account than previous versions on 2020-02-25. 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.
v1.2.1
2 findingsThis version was published by a different npm account than previous versions on 2018-03-20. 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.
v1.2.0
2 findingsThis version was published by a different npm account than previous versions on 2018-03-07. 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.
v1.1.1
2 findingsThis version was published by a different npm account than previous versions on 2017-01-15. 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.
v1.0.17
2 findingsThis version was published by a different npm account than previous versions on 2015-02-12. 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.
v1.0.16
2 findingsThis version was published by a different npm account than previous versions on 2014-12-18. 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.
v1.0.15
2 findingsThis version was published by a different npm account than previous versions on 2014-06-17. 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.
v1.0.14
2 findingsThis version was published by a different npm account than previous versions on 2013-05-02. 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.
v1.0.13
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.0.12
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.