Source Scanner plugin scaffold with Semgrep integration #2818
+2,264
−0
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
This PR introduces the initial Source Scanner Plugin for MCP Gateway, providing pre-deployment static analysis of MCP server source code using Semgrep.
Included: plugin registration, Semgrep runner, normalized finding model, policy evaluation, configuration parsing, and initial tests/documentation.
Incomplete: Bandit runner, output normalizer, language detection, and full test coverage. These will be implemented in follow-up PRs.
🏷️ Type of Change
🧪 Verification
make lintmake testmake coverage✅ Checklist
make black isort pre-commit)📓 Notes (optional)
This is a scaffold / incremental PR; remaining functionality (Bandit, normalizer, language detection, full coverage) will be added in follow-up PRs.
Some linting and coverage issues exist on Windows; CI runs will be verified on GitHub.
Only relevant plugin files are included to avoid pushing unrelated GitLab files.