openmrs
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 |
|---|---|---|---|---|
| semgrep | semgrep:env-bulk-read | AI (semgrep): Test setup save/restore pattern for process.env; not production code. | ai | |
| phantom-deps | phantom-dep:html-webpack-tags-plugin | AI (phantom-deps): Config-file-only reference; stable pattern for this build-tool package. | ai | |
| phantom-deps | phantom-dep:browserslist-config-openmrs | AI (phantom-deps): Referenced in config files only; expected pattern for this package. | ai | |
| phantom-deps | phantom-dep:cssnano | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:postcss | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:@swc/core | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:css-loader | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:swc-loader | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:typescript | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:sass-loader | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:webpack-cli | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| semgrep | semgrep:env-spread | AI (semgrep): Used in webpack config helper to pass build-time env vars; not a secret-exfiltration risk for this CLI tool. | ai | |
| phantom-deps | phantom-dep:style-loader | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:sass-embedded | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:copy-webpack-plugin | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:html-webpack-plugin | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:clean-webpack-plugin | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:webpack-stats-plugin | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:mini-css-extract-plugin | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:webpack-bundle-analyzer | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| phantom-deps | phantom-dep:autoprefixer | AI (phantom-deps): Build/config tool dependency; stable pattern for this CLI. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): Resolves a fixed relative path to package.json; not arbitrary module loading. | ai | |
| phantom-deps | phantom-dep:ejs | AI (phantom-deps): Build/config tool dependency referenced in config files; stable pattern for this package. | ai |
Versions (showing 4 of 4)
| Version | Deps | Published |
|---|---|---|
| 10.0.0 | 38 / 13 | |
| 9.0.2 | 42 / 9 | |
| 9.0.1 | 42 / 9 | |
| 9.0.0 | 42 / 9 |
v10.0.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v9.0.2
2 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/openmrs/openmrs-esm-core/blob/f9a0605a359512026c72ff04532099d0e5bc4f3b/src/utils/debugger.ts#L13 11 | 12 | function getWebpackEnv() { > 13 | return { 14 | ...process.env, 15 | analyze: process.env.BUNDLE_ANALYZE === 'true',
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v9.0.1
2 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/openmrs/openmrs-esm-core/blob/8680d8b241b762966447480a0741594f3c0167ea/src/utils/debugger.ts#L13 11 | 12 | function getWebpackEnv() { > 13 | return { 14 | ...process.env, 15 | analyze: process.env.BUNDLE_ANALYZE === 'true',
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v9.0.0
2 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/openmrs/openmrs-esm-core/blob/e8c7168c1df36f66fd01c00289c3a08f97f1d4f0/src/utils/debugger.ts#L13 11 | 12 | function getWebpackEnv() { > 13 | return { 14 | ...process.env, 15 | analyze: process.env.BUNDLE_ANALYZE === 'true',
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.