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 • Python • Ruby • Scala • Swift Beta or languages without support for reachability analysis Dart • Elixir • PHP • Rust |
Semgrep Secrets | Language-agnostic; can detect 630+ types of credentials or keys. |
See the Supported languages documentation for more details.
December 2024 release notes summary
- The Semgrep CLI tool requires a minimum version of Python 3.9 as of Semgrep 1.100.0.
- Semgrep OSS is now Semgrep Community Edition (CE). Read the Semgrep CE section for more details.
- You can now export your findings in CSV format. Semgrep can export up to 10,000 most recent findings. For findings greater than 10,000, use the API. See Export findings for more information.
- Added new Pro rules:
- 4 new rules for Express.js that cover SQL injection, object injection, and misconfiguration vulnerabilities.
- 13 new rules for NestJS framework vulnerabilities that cover code injection, SQL injection, path traversal, log injection, XML external entity, and cross site scripting.
- Dependency Path, which displays how transitive dependencies are imported into your code, is now in public beta for Java Gradle and Maven package managers.
- Dependency Path for Kotlin is in private beta.
- To join this beta, contact support@semgrep.com.
- Semgrep can now scan your Java Gradle and Maven codebases without the need for a lockfile. This feature is in public beta for Java and private beta for Kotlin Gradle and Maven. See also Scan a project without lockfiles.
Not finding what you need in this doc? Ask questions in our Community Slack group, or see Support for other ways to get help.