Find bugs and reachable dependency vulnerabilities in code. Enforce your code standards on every commit.
Scan with Semgrep AppSec Platform
Deploy static application security testing (SAST), software composition analysis (SCA), and secrets scans from one platform.
Get started
Run your first Semgrep scan.
Deploy Semgrep
Deploy Semgrep to your organization quickly and at scale.
Triage and remediate
Triage and remediate findings; fine-tune guardrails for developers.
Write rules
Create custom rules to enforce your organization's coding standards.
Supported languages
Product | Languages |
---|---|
Semgrep Code | Generally available (GA) C and C++ • C# • Generic • Go • Java • JavaScript • JSON • Kotlin • Python • TypeScript • Ruby • Rust • JSX • PHP • Scala • Swift • Terraform Beta APEX • Elixir Experimental Bash • Cairo • Circom • Clojure • Dart • Dockerfile • Hack • HTML • Jsonnet • Julia • Lisp • Lua • Move on Aptos • Move on Sui • OCaml• R • Scheme • Solidity • YAML • XML |
Semgrep Supply Chain | Generally available reachability C# • Go • Java • JavaScript and TypeScript • Kotlin • PHP • Python • Ruby • Scala • Swift Languages without support for reachability analysis Dart • Elixir • Rust |
Semgrep Secrets | Language-agnostic; can detect 630+ types of credentials or keys. |
See the Supported languages documentation for more details.
August 2025 release notes summary
- Added support for interfile analysis for Scala projects.
- Jira integration:
- The labels
Malicious Dependency
andNon-malicious Vulnerability
have been changed toMalicious Dependency
andNot Malicious
, respectively. - Jira tickets created for malicious dependency findings now include more prominent visuals, such as bolded rule messages, to help them stand out from other reachable findings.
- The maximum number of findings associated with a specific Jira ticket has increased from 50 to 75.
- The labels
- Supply Chain's reachability analysis now covers all high and critical severity CVEs in Python packages from supported sources starting 2017 and onward.
- Supply Chain policies now support the exclusion of conditions. For example, you can define a condition such as
When Reachability is not Always reachable
. - Added support for the use of custom AWS Bedrock keys for use with Semgrep Assistant.
Not finding what you need in this doc? Ask questions in our Community Slack group, or see Support for other ways to get help.