Shift left with fast static analysis

Modern security teams are “paving the road” for their developers — enforcing code standards on every commit. r2c’s fast, open-source static analysis tool, Semgrep, gives you the rules, building blocks, and infrastructure to shift left and scale your security program.

Teams using Semgrep

Semgrep is trusted and contributed to by great teams.

logo
Enforce security on every commit

Semgrep is a fast, open-source, static analysis tool for modern languages. With 1,000+ existing rules and simple-to-create custom ones, it finds the bugs that matter.

Semgrep can run anywhere: in CI, your editor, or the command-line. Plus, with dedicated infrastructure from r2c, it’s easy to deploy, manage, and monitor Semgrep at scale.

python, ruby, js, java, go, etc.

+ more

Easily write custom rules

When off-the-shelf rules aren’t enough, quickly and intuitively write custom rules to express your unique code standards.
Rules look like the code you’re searching. For example, rules for Go look like Go. Find function calls, class or method definitions, and more without having to understand abstract syntax trees or wrestle with regexes.

In 5 minutes my team was able to write a rule that finds all unauthenticated routes.

Social media profile

Jonathan Werrett

 | @werrett

Head of Information Security, Fitbit

This Semgrep pattern...
...matches this source code:
1def hello_world(abc):
2  logger.info('starting skynet')
3  skynet.init()
4
5  # oops, this should be removed 
6  # or use the logging framework
7  print(f'DEBUG: {skynet.iv}')
8
9  return skynet.rule_forever()
Have you ever accidentally left a print statement in your code and then committed it? It’s easy to write a Semgrep rule to find a functional call likeprint.

Semgrep can even provide an autofix for line 6, like replacing it with: logger.info(f'DEBUG: {skynet.iv}')


inline GH PR comments

Prevent bugs that matter, immediately

Semgrep’s registry has 1,000+ open-source rules covering security, correctness, and performance bugs. Don’t DIY unless you want to.
Semgrep runs fast, presenting results that matter immediately in your workflow. Rules are tested over thousands of projects and improved by an amazing OSS community, OWASP members, and r2c.

As the CTO of a rapidly growing software security company, making our own development secure is critical to our business. Semgrep picks the right rules for us and runs them quickly in the right place. And I can still write custom rules to catch specific issues unique to our code.

Social media profile

Jean-Baptiste Aviat

 | @JbAviat

Co-founder & CTO, Sqreen

Scale your security

Semgrep App provide SaaS infrastructure for operating a modern AppSec program — enforcing security on every commit and shifting left. With Semgrep App you can:
  • Centrally define code standards for your projects
  • See results where you already work: GitHub, GitLab, Slack, Jira, VS Code, and more
  • Monitor the impact of your standards on security
  • Host private rules

Semgrep reduced our security review load by pinpointing code we actually care about in our monolithic repos. Now we can guide developers towards writing more secure code without direct involvement from the security team.

Social media profile

Jasvir Nagra

 | @jasvir

Security Engineer, Dropbox

Manage and enforce security policies using Semgrep

Semgrep bridges a gap between fast and accurate tooling that hadn’t been possible with the traditional approach to code scanning.

Social media profile

Chris Rioux

 | @christienrioux

Co-founder, Veracode

A product is only as good as its developers: the r2c team consistently provides incredibly responsive and rapid support. Semgrep is the code validation/enforcement tool you need — you just do not realize it yet!

Social media profile

Michael Sorens

 | @msorens

Sr. Software Engineer, Chef

I just want to re-iterate that there's almost zero time between thinking ‘I should find code that looks like this’ and having a check that finds code that looks like that.

Social media profile

Damian Gryski

 | @dgryski

Gopher