@friggframework/devtools
Supply chain provenance
Status for the latest visible version.
Without SLSA provenance there is no cryptographic link between this tarball and the public source, so a manually published version cannot be tied back to a reviewed commit.
Maintainers
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| semgrep | semgrep:child-process-import | AI (semgrep): CLI tool that runs git/shell commands; child_process use is expected and documented. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): Loads user-specified integration modules by path; expected plugin-loader pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:eslint | AI (phantom-deps): ESLint plugins/configs referenced via config files, not direct imports — standard shared lint tooling pattern. | ai | |
| phantom-deps | phantom-dep:eslint-plugin-json | AI (phantom-deps): ESLint plugin loaded via config file convention, not direct import. | ai | |
| phantom-deps | phantom-dep:eslint-plugin-yaml | AI (phantom-deps): ESLint plugin loaded via config file convention, not direct import. | ai | |
| phantom-deps | phantom-dep:@babel/eslint-parser | AI (phantom-deps): Loaded by ESLint config convention, not direct import. | ai | |
| phantom-deps | phantom-dep:@friggframework/test | AI (phantom-deps): Same-org scoped package used as a test helper; loaded by convention. | ai | |
| phantom-deps | phantom-dep:eslint-config-prettier | AI (phantom-deps): ESLint config referenced via config file, not direct import. | ai | |
| phantom-deps | phantom-dep:eslint-plugin-markdown | AI (phantom-deps): ESLint plugin loaded via config file convention, not direct import. | ai | |
| phantom-deps | phantom-dep:eslint-plugin-no-only-tests | AI (phantom-deps): ESLint plugin loaded via config file convention, not direct import. | ai |
Versions (showing 10 of 10)
| Version | Deps | Published |
|---|---|---|
| 1.2.2 | 16 / 2 | |
| 1.2.1 | 16 / 2 | |
| 1.2.0 | 16 / 2 | |
| 1.1.8 | 9 / 2 | |
| 1.1.7 | 9 / 2 | |
| 1.1.6 | 9 / 2 | |
| 1.1.5 | 9 / 2 | |
| 1.1.4 | 9 / 2 | |
| 1.1.3 | 9 / 2 | |
| 1.1.2 | 9 / 2 |
v1.2.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.2.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.1.8
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.1.7
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.1.6
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.1.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.1.4
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
This version was published by a different npm account (seanspeaks) than the most recent previously approved version (michael.webber.lefthook) on 2024-04-05, but seanspeaks is listed as a maintainer on prior approved versions (matched on name). This looks like a manual publish by a known maintainer rather than a publisher change. Recorded as INFO for audit trail.
v1.1.3
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
This version was published by a different npm account (seanspeaks) than the most recent previously approved version (michael.webber.lefthook) on 2024-04-02, but seanspeaks is listed as a maintainer on prior approved versions (matched on name). This looks like a manual publish by a known maintainer rather than a publisher change. Recorded as INFO for audit trail.
v1.1.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.