Repository navigation
feat: CodeInspectus 4.0 — osv-scanner engine, Synvoya gap layer, PHP and Node.js packs - #14
Merged
Merged
Conversation
- Opengrep 1.23.0 -> 1.33.1 and Trivy 0.71.2 -> 0.76.1, SHA-pinned for all five platforms in engines.lock.json and verified with cosign/checksums. - Opengrep's signing identity moved to its release branch; the lockfile pins the exact release-v1.33.1 workflow identity. - CI now runs only in this public repository. - Existing installs: run `codeinspectus repair-engines` to fetch the new engine binaries. Signed-off-by: Synvoya <support@synvoya.com>
- osv-scanner 2.7.0, SHA-pinned and verified (checksums + SLSA provenance), scans lockfiles offline against per-ecosystem OSV databases that are downloaded only after the user approves them, only for ecosystems the repository uses. - Catches malicious packages (MAL- records) and advisories the Trivy database lacks; findings deduplicate with Trivy through the alias graph. - A scanned repository cannot silence it (its osv-scanner.toml is ignored, call analysis is off), and a missing database never reads as clean. - Sealed bundle manifest 1.1.0 adds osv-scanner; the SDK verifies 1.0.0 and 1.1.0 bundles. Signed-off-by: Synvoya <support@synvoya.com>
- The stubbed osv-scanner JSON escapes Windows paths as the real scanner does. - The control-character folder uses only characters Windows allows. Signed-off-by: Synvoya <support@synvoya.com>
Signed-off-by: Synvoya <support@synvoya.com>
Synvoya is CodeInspectus's own engine family. Milestone 1 adds an offline, integrity-checked gap-advisory dataset (330 vendor-verified entries plus end-of-life dates for 335 release lines) and readers for what lockfile scanners never see: declared runtime versions (Node, PHP, Python, Ruby, Go, .NET, Java, CI setup steps), container image tags, and Adobe Commerce / Magento / WordPress core versions. Findings name a fixed version or a verify-the-hotfix step; upstream findings for the same package and file are enriched, never replaced; a rescan confirms a fix only when the producing reader fully re-read the file. Existing finding fingerprints are unchanged. This branch also carries the coverage-honesty patch (PR #12), merged into the osv-scanner branch (PR #13). Signed-off-by: Synvoya <support@synvoya.com>
Milestones 2-4 on top of the milestone 1 projection: - Synvoya PHP and Node.js Opengrep packs (syn-php-*, syn-node-*), only the rules that passed the holdout precision gate; failing rules stay unshipped. - Native JS/TS parsing with @babel/parser 7.25.0 (zero dependencies). - GitHub Actions advisory check over the OSV GitHub Actions database. - Vendored JavaScript library detection, one finding per library. - Product-level routing: the pack and taint passes skip vendored/minified bundles (declared third-party-bundles gap); inferred third-party scripts report low; generic secrets in test/example/docs paths report low unless the same value is used elsewhere. - Licence findings opt-in (include_licenses / --licenses). - Coverage honesty: non-source size skips are notes, a reached Synvoya deadline is partial coverage. - osv-scanner findings point at the package's own lockfile entry. - Version 4.0.0; CHANGELOG, migration notes, SDK and docs. Signed-off-by: Synvoya <support@synvoya.com>
Synvoya
marked this pull request as ready for review
November 5, 2026 01:30
This was referenced Nov 5, 2026
… test - Install the OSV PyPI, npm, Packagist, Go and GitHub Actions databases in the engine and portability jobs, so E87-E92 run instead of skipping (crates.io stays absent for E61). - Give the 4,000-file parse-cache unit test a 60 s timeout (it took 16 s on the macOS Intel runner against vitest's 5 s default). Signed-off-by: Synvoya <support@synvoya.com>
…r-rule match times Signed-off-by: Synvoya <support@synvoya.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CodeInspectus 4.0
One PR for the whole 4.0 release. It folds in #11 (Opengrep 1.33.1 / Trivy 0.76.1), #12 (coverage honesty), #13 (osv-scanner 2.7.0 as a fourth engine) and the Synvoya gap layer.
What 4.0 adds
engine_family: "synvoya"): a SHA-256-checked dataset of 330 recent advisories, end-of-life data and libraries the other engines miss: PHP/Node.js runtimes, container images, products, vendored JavaScript libraries, SBOM matching via osv-scanner, and third-party GitHub Actions (OSV GitHub Actions database).syn-php-*,syn-node-*). Only rules that passed the precision gate on a holdout set of 12 repositories they were never tuned on ship; seven failing rules stay unshipped.@babel/parser7.25.0 (zero runtime dependencies).include_licenses/--licenses); generic secrets in test/example/docs paths report low unless the same value is used elsewhere; inferred third-party scripts report low; vendored libraries report once per library; Composerconfig.platform.phpis an info note.third-party-bundles,vendored-js,actions-unchecked, Twig/Vue/Go SAST gaps); non-source files over Opengrep's size limit are notes, not partial; a reached Synvoya deadline is partial.See
CHANGELOG.md[4.0.0]for the full list and migration notes, anddocs/SYNVOYA.md.Verification
npm ci, build, 2958 passed / 1 skipped tests (same skip as earlier projections), 110/110 evals.