We're excited to announce the public beta of Semgrep Code Search! Code Search lets users can run a single rule across hundreds of code repositories in seconds, making vulnerability detection and rule iteration lightning-fast. Since Semgrep rules are already easy to understand and write, the instant feedback provided by Code Search gives users superpowers when it comes to rule evaluation, rule writing, and vulnerability hunting.
To learn more about how to use Code Search (or how it works on the back-end), read the announcement blog post!
Important Notes:
Semgrep Code Search is only currently available for repos hosted on Github.com
Semgrep Code Search is only available for current Code customers or users with an active trial license.
Structure Mode is a brand new way to write Semgrep rules that guides users via UI as opposed to requiring them to write YAML. Structure mode makes rule-writing easier for inexperienced rule-writers, but it also adds cool new features for seasoned rule-writers that should speed up their workflows as well.
Structure Mode replaces the now deprecated "Simple Mode", as it offers more robust functionality paired with an intuitive interface that's just as easy (if not easier) to understand than Simple Mode.
To learn more about Structure Mode, read our blog post which outlines all of the shiny new capabilities in detail.
The playground/editor has some shiny new examples/templates that should make it much easier for users to get started with rule-writing. Here are the key changes:
Example/template rules are now categorized
Each example has an explanation of what patterns are being matched with links to relevant documentation
Example rules are more "real world" and better showcase the common use cases for rules
Customers with secrets enabled will now will see an additional property for HTTP validation (learn more about custom secrets rules)
Happy rule-writing!
Customers can now write their own rules for Semgrep Secrets! These rules can detect and validate secrets associated with internal services, services with custom subdomains, or services not yet supported by Semgrep.
To learn more, read the announcement post where we go through an example of how easy it is to write a custom secrets rule and add it to a Semgrep policy.
Note that Semgrep Secrets supports validation out-of-the-box and comes with validator rules for many common services - this update allows users to write their own custom validator rules for internal services, services with custom subdomains, etc.
We're happy to announce that all Semgrep Code scans will now use Pro Engine (cross-function analysis + Pro-only languages).
This improved analysis and coverage comes with no performance/speed cost, which is why we're making it the default scan type! You may notice new findings after your next scan due to the increased scope of analysis.
Since all scans now run with cross-function analysis, the "Pro Engine" toggle in settings is now a toggle for cross-file analysis (which is still optional due to the potential impact on scan speeds):
Users can now scan for valid secrets in their repo's git history! This functionality is off by default, so users will have to toggle it on in the settings menu or run semgrep ci
with --historical-secrets
.
A few things to note:
Historical scanning can be slow with large repos.
Findings from historical scans will not be automatically be marked as fixed. Currently these findings can only exist in two states: Open
or Ignored
.
Please don't hesitate to share any feedback with your account team!
We are excited to announce the General Availability of Swift support in Semgrep Code!
This means that Swift now meets the strict syntax and parse-rate requirements for GA status with our Pro Engine. This release includes 57 Pro rules covering a broad range of vulnerability classes - as usual, we'll continuously monitor and update them to ensure they meet our standards for accuracy and comprehensiveness.
Happy coding!
After a little over a year in open beta, Semgrep Assistant is now GA!
Semgrep Assistant is free for all customers, and uses AI to greatly speed up existing workflows across prioritization, triage, and remediation. New features include Assistant generated custom rules and Priority Inbox - to learn more about these capabilities read the blog post.
Semgrep Assistant is super easy to set up - just go into settings and turn it on (your developers will appreciate the additional context):
A new set of rules for Elixir and the Phoenix framework have just been released, covering a broad range of security and correctness issues.
These rules can be found in the registry, and a subset of them (medium/high confidence rules) are available via the p/elixir
ruleset for easy access.
To use them, users must be logged in and use the Pro engine via the --pro
option!
Many thanks to Holden Oullette (maintainer of Sobelow) for helping us ship this update!
We're excited to announce that Semgrep Supply Chain now has lockfile-only support for Swift and the official Swift Package Manager!
Our future roadmap for the ecosystem includes reachability and the addition of CocoaPods as a supported package manager.
Users will need a Package.resolved
in their repository for us to successfully parse all their dependencies. Official documentation on how users can generate one can be found here.