Semgrep
Multi-language
Source codeYour code speaks many languages. Your security workflow shouldn't have to. Bring your scanners together with one free GitHub Action.
Source → scanners → unified reports
Illustrative workflow · results depend on your repository
From Python to pull requests, choose the engines your project needs. Or use all and let language-specific engines skip files that aren't there.
Multi-language
Source codeMulti-language
Source code · opt-inPython
Source codeJavaScript / TypeScript
Source codeJavaScript
Source code · opt-inJava / Kotlin
Bytecode analysisKotlin
Source codeGo
Source codeDependencies / IaC
CVEs & misconfigurationGit history / files
Secret detectionWorking tree
Secret detectionDockerfiles
Container best practicesGitHub Actions
Workflow securityFiles / credentials
Live verification · opt-in“all” includes 11 engines. OpenGrep, ESLint and TruffleHog are explicit opt-ins. PolyScan supports Linux x64 runners.
Different scanners, consistent results. Keep the useful detail and make your merge rules explicit.
Set thresholds for critical, high and medium findings. Fail the job when your limit is exceeded.
Unified SARIF, an optional CycloneDX SBOM and a job summary with severity and engine charts, hotspot files, top rules and findings linked to their source lines. Upload SARIF to Code Scanning with the documented CodeQL step.
A native TypeScript action on Node 24. Pinned scanner versions, verified binary downloads and bounded concurrency.
Turn on reviewdog to get comments on the lines a pull request adds or changes, plus a neutral check that marks every finding in the diff. Your gate still decides the merge.
Pick a starting point, adjust the reports and copy a ready-to-use workflow into .github/workflows/polyscan.yml.
Free MIT-licensed action. GitHub runner usage and Code Scanning availability follow GitHub's own policies.
Adjust the allowed high-severity findings to see how the gate responds.
Simulation · 0 critical, 3 high, 12 medium findingsFree to use. Free to inspect. Free to improve.
PolyScan is MIT licensed and built for the people building in the open.
Yes. PolyScan is released under the MIT license. There is no PolyScan subscription or account. GitHub Actions runner usage and the underlying scanners' licenses still apply.
The action can run in private repositories on supported Linux x64 runners. GitHub Code Scanning availability depends on your repository and GitHub plan; local reports and workflow artifacts don't require that integration.
Language-specific engines check for relevant files and skip when those files are absent. The “all” preset includes eleven engines; OpenGrep, ESLint and TruffleHog must be enabled explicitly.
SpotBugs may invoke your Maven or Gradle build. TruffleHog is opt-in because it verifies discovered credentials against provider APIs. OpenGrep's automatic configuration may need network access; local rules offer an offline-friendly alternative. Review the README for each engine's behavior.
Start with the repository README, report a reproducible issue or open a pull request. The source, tests and scanner version lock file are all available on GitHub.