machine
Build functions in standardized containers.
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 |
|---|---|---|---|---|
| publish-pattern | new-deps-added | AI (publish-pattern): @sailshq/lodash and include-all are legitimate Sails.js ecosystem packages replacing lodash; routine dependency swap for this package family. | ai | |
| source-diff | large-new-source-files | AI (source-diff): Major version bump (v12→v14) for a large, established package naturally introduces many new source files; no obfuscation or injection indicators present. | ai | |
| source-diff | source-size-tripled | AI (source-diff): Size increase reflects a major version rewrite of a well-established Sails.js ecosystem package; new files are named, purposeful modules consistent with the package's function. | ai | |
| provenance | publisher-changed | AI (provenance): mikermcneil and sgress454 are both core Sails.js team members; this is a legitimate maintainer transition within the same org. | ai | |
| source-diff | obfuscated-file:lib/private/X_INVALID_CHARACTERS_IN_ECMA51_VARNAME.js | AI (source-diff): Long lines are Unicode character class ranges in a regex for ECMAScript variable name validation — not obfuscation. Stable pattern for this package. | ai | |
| source-diff | obfuscated-file:lib/private/X_VALID_ECMA51_VARNAME.js | AI (source-diff): Long lines are Unicode character class ranges in a regex for ECMAScript variable name validation — not obfuscation. Stable pattern for this package. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): Dynamic require is core to machine's design — it loads machine definitions by path. This is intentional framework behavior, not a security risk. | ai |
Versions (showing 51 of 85)
| Version | Deps | Published |
|---|---|---|
| 15.2.3 | 5 / 5 | |
| 15.2.2 | 5 / 5 | |
| 15.2.1 | 5 / 5 | |
| 15.1.5 | 5 / 5 | |
| 15.1.4 | 5 / 5 | |
| 15.1.3 | 5 / 5 | |
| 15.1.2 | 5 / 5 | |
| 15.1.1 | 5 / 5 | |
| 15.1.0 | 5 / 5 | |
| 15.0.1 | 5 / 5 | |
| 15.0.0 | 5 / 5 | |
| 14.0.1 | 6 / 6 | |
| 12.4.0 | 6 / 5 | |
| 12.3.0 | 6 / 5 | |
| 12.2.6 | 6 / 5 | |
| 12.2.5 | 6 / 5 | |
| 12.2.4 | 6 / 4 | |
| 12.2.3 | 6 / 4 | |
| 12.2.1 | 6 / 4 | |
| 12.2.0 | 6 / 4 | |
| 12.1.1 | 6 / 4 | |
| 12.1.0 | 6 / 4 | |
| 12.0.1 | 6 / 4 | |
| 12.0.0 | 6 / 4 | |
| 11.0.3 | 6 / 4 | |
| 11.0.2 | 6 / 4 | |
| 11.0.1 | 6 / 4 | |
| 11.0.0 | 6 / 4 | |
| 10.4.0 | 6 / 4 | |
| 10.3.1 | 6 / 4 | |
| 10.3.0 | 6 / 4 | |
| 10.2.0 | 6 / 3 | |
| 10.1.0 | 6 / 3 | |
| 10.0.0 | 6 / 3 | |
| 9.1.2 | 6 / 3 | |
| 9.1.1 | 6 / 3 | |
| 9.1.0 | 6 / 3 | |
| 9.0.5 | 6 / 3 | |
| 9.0.4 | 6 / 3 | |
| 9.0.3 | 6 / 3 | |
| 9.0.2 | 6 / 3 | |
| 9.0.1 | 6 / 3 | |
| 9.0.0 | 6 / 3 | |
| 8.1.0 | 6 / 3 | |
| 8.0.0 | 6 / 3 | |
| 7.1.0 | 6 / 3 | |
| 7.0.0 | 6 / 3 | |
| 6.0.2 | 6 / 3 | |
| 6.0.1 | 6 / 3 | |
| 6.0.0 | 6 / 3 | |
| 5.0.1 | 6 / 3 |
v15.2.3
2 findingsThis version was published by a different npm account than previous versions on 2023-06-23. 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.
v15.2.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v15.2.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v15.1.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v15.1.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v15.1.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v15.1.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v15.1.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v15.1.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v15.0.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v15.0.0
5 findingsThis version was published by a different npm account than previous versions on 2018-04-04. This could indicate a legitimate maintainer transition or an account compromise.
Newly added file contains both network calls and dynamic code execution. This is a hallmark of dropper/loader malware.
Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v14.0.1
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
[Accepted risk] This version was published by a different npm account than previous versions on 2017-04-28. This could indicate a legitimate maintainer transition or an account compromise.