@enhavo/app
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
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| semgrep | semgrep:eval-usage | AI (semgrep): eval() used in AbstractColumn expression evaluator — legitimate CMS template/expression pattern, not exfiltration. | ai | |
| phantom-deps | phantom-dep:bootstrap | AI (phantom-deps): CSS framework referenced in config/scss, not via JS import; stable false positive for this package. | ai | |
| phantom-deps | phantom-dep:vue-select | AI (phantom-deps): UI component referenced in config files; stable false positive for this package. | ai | |
| phantom-deps | phantom-dep:ansi-to-html | AI (phantom-deps): Referenced in config files; stable false positive for this package. | ai | |
| phantom-deps | phantom-dep:vuedraggable | AI (phantom-deps): Referenced in config files; stable false positive for this package. | ai | |
| phantom-deps | phantom-dep:compass-mixins | AI (phantom-deps): SCSS mixin library; referenced in config/scss, not via JS import. | ai | |
| phantom-deps | phantom-dep:@vuepic/vue-datepicker | AI (phantom-deps): UI component referenced in config files; stable false positive for this package. | ai | |
| phantom-deps | phantom-dep:@ibm/plex | AI (phantom-deps): @ibm/plex is a legitimate IBM font package; likely used as a CSS/font asset dependency without direct JS import. | ai | |
| phantom-deps | phantom-dep:argparse | AI (phantom-deps): Referenced in config files; common pattern for CLI tooling deps not directly imported in source. | ai | |
| typosquat | typosquat.levenshtein:yup | AI (typosquat): Scoped package @enhavo/app; Levenshtein match to 'yup' is a false positive. | ai | |
| typosquat | typosquat.levenshtein:ajv | AI (typosquat): Scoped package @enhavo/app; Levenshtein match to 'ajv' is a false positive. | ai | |
| semgrep | semgrep:new-function-constructor | AI (semgrep): Used in AbstractColumn expression evaluator — standard pattern for UI framework template engines. | ai | |
| typosquat | typosquat.levenshtein:hapi | AI (typosquat): Scoped package @enhavo/app; Levenshtein match to 'hapi' is a false positive. | ai | |
| typosquat | typosquat.levenshtein:pg | AI (typosquat): Scoped package @enhavo/app; Levenshtein match to 'pg' is a false positive. | ai |
v0.15.8
2 findingsDeclared in package.json dependencies but never imported in source code. Phantom dependencies may exist solely to execute install scripts or inject transitive malicious code. This was the exact attack vector in the axios compromise (plain-crypto-js).
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.15.4
2 findingsDeclared in package.json dependencies but never imported in source code. Phantom dependencies may exist solely to execute install scripts or inject transitive malicious code. This was the exact attack vector in the axios compromise (plain-crypto-js).
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.