chore(deps): scope Dependabot to real manifests, ignore vulnerable test fixtures#692
Merged
Conversation
…st fixtures Dependabot's auto-discovery walks every manifest in the repo. That includes ~75 go.mod files under rules/**/tests/ and sast-engine/test-fixtures/ whose dependency pins are deliberately old, vulnerable versions used to self-test pathfinder's rules (dgrijalva/jwt-go@v3.2.0 for GO-JWT-002, vulnerable gorm releases for GO-GORM-SQLI-*, etc.). Letting Dependabot file version-update PRs against those would break the rules they exist to test. This config explicitly enumerates the seven real manifest locations (sast-engine go.mod and build.gradle, sast-engine/tools/* go.mod and requirements.txt, python-sdk pyproject.toml, the two extension/secureflow npm manifests, plus github-actions for .github/workflows/). Anything not listed is left untouched, so test-fixture go.mods stay at their pinned vulnerable versions. Each ecosystem groups minor/patch updates into a single weekly PR (major updates remain individual for review) and uses chore(deps) as the commit prefix to match repo convention. Note: this only controls version-update PRs. Dependabot alerts (Security tab) are built off the dependency graph and have no repo-file mechanism to exclude paths. The header comment points at Settings -> Security -> Dependabot -> Auto-triage rules for that.
SafeDep Report SummaryNo dependency changes detected. Nothing to scan. This report is generated by SafeDep Github App |
Code Pathfinder Security ScanNo security issues detected.
Powered by Code Pathfinder |
Pathfinder Report✅ No security findings on the changed files. This pull request is clean. Powered by Code Pathfinder. |
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.



Summary
Dependabot's auto-discovery walks every manifest in the repo. Without an explicit allowlist it picks up:
go.modfiles underrules/**/tests/{positive,negative,}(per-rule self-test modules)go.modfiles undersast-engine/test-fixtures/golang/These pin deliberately vulnerable dependency versions used to self-test pathfinder's rules (
dgrijalva/jwt-go@v3.2.0forGO-JWT-002, vulnerablegormreleases forGO-GORM-SQLI-*, etc.). Letting Dependabot file version-update PRs against them would break the very rules they exist to test.This adds
.github/dependabot.ymlthat explicitly lists the seven real manifest locations. Everything not listed is left untouched.What gets tracked
/sast-engine/sast-engine/tools/validate_go_resolution/sast-engine/python-sdk/sast-engine/tools/typeshed-converter/extension/secureflow/extension/secureflow/packages/secureflow-cli/Minor/patch updates are grouped into one weekly PR per ecosystem to reduce noise; major updates remain individual for review.
chore(deps)prefix matches the repo's commit convention.Scope this does NOT cover
Dependabot alerts (Security tab) are not controlled by this file. Alerts come from the auto-built dependency graph, and there is no repo-file mechanism to path-exclude. To stop alert noise from the fixture manifests:
rules/**orsast-engine/test-fixtures/**, action = "Auto-dismiss alert", reason =tolerable_risk(ornot_used).The header comment in
dependabot.ymldocuments this.A second follow-up is the self-scan workflow (
code-pathfinder-scan.yml), which runs pathfinder on this repo: it doesn't pass--exclude rules --exclude sast-engine/test-fixturesyet. That needs anexcludeinput added toaction.ymlfirst, which is a separate PR.Test plan
directory:resolves to a real manifest file in this repo.rules/orsast-engine/test-fixtures/.