@lezer/cpp
lezer-based C++ grammar
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 |
|---|---|---|---|---|
| bogus-package | bogus-package | AI (bogus-package): Established @lezer ecosystem package by Marijn Haverbeke; README/keywords signals are cosmetic and the inflated semver flag is a false positive for a package with 12 versions over 4+ years. | ai | |
| dependencies | unvetted-dep:@lezer/lr | AI (dependencies): @lezer/lr is a first-party dependency in the same @lezer ecosystem, authored by the same publisher (Marijn Haverbeke). Not a risk. | ai | |
| source-diff | obfuscated-file:dist/index.js | AI (source-diff): dist/index.js is a lezer-generator output file with rollup bundling; long lines are serialized parse tables, not obfuscation. Stable pattern for all @lezer/* packages. | ai | |
| typosquat | typosquat.levenshtein:pg | AI (typosquat): @lezer/cpp is a scoped package in the lezer-parser ecosystem; Levenshtein match to 'pg' is a false positive with no impersonation intent. | ai | |
| typosquat | typosquat.levenshtein:yup | AI (typosquat): @lezer/cpp is a scoped package in the lezer-parser ecosystem; Levenshtein match to 'yup' is a false positive with no impersonation intent. | ai | |
| phantom-deps | phantom-dep:@lezer/common | AI (phantom-deps): @lezer/common is a legitimate peer/indirect dependency within the same @lezer org scope; not a security concern for this grammar package. | ai |
Versions (showing 13 of 13)
| Version | Deps | Published |
|---|---|---|
| 1.1.6 | 3 / 4 | |
| 1.1.5 | 3 / 4 | |
| 1.1.4 | 3 / 4 | |
| 1.1.3 | 3 / 4 | |
| 1.1.2 | 3 / 4 | |
| 1.1.1 | 2 / 4 | |
| 1.1.0 | 2 / 4 | |
| 1.0.0 | 2 / 4 | |
| 0.16.0 | 2 / 4 | |
| 0.15.3 | 1 / 4 | |
| 0.15.2 | 1 / 4 | |
| 0.15.1 | 1 / 4 | |
| 0.15.0 | 1 / 4 |
v1.1.6
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.1.4
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.1.3
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.1.2
2 findingsNewly 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.
v1.1.1
2 findingsNewly 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.
v1.1.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.0.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.16.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.15.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.15.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.15.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.15.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.