Scan for secrets
Semgrep Secrets allows you to detect and triage leaked secrets and credentials and save time by prioritizing which secrets to rotate based on whether they're active and in use.
This document guides you through:
- Enabling Semgrep Secrets and scanning your repository
- Configuring your ignore files
- Upgrading your Semgrep Code rules to Semgrep Secrets rules
Contact sales for a trial license of Semgrep Secrets.
Language and environment support
Semgrep Secrets can scan repositories using any programming language and supports the posting of pull request (PR) and merge request (MR) comments to GitHub, GitLab, and Bitbucket.
Enable Semgrep Secrets
You have completed a Semgrep core deployment.
- Sign in to Semgrep AppSec Platform.
- Go to Settings > General > Secrets.
- Click the Secrets scans toggle to enable Semgrep Secrets.
Scan your repository
Once you've enabled Secrets for your organization, all Semgrep scans include secret scanning. You can:
- Manually trigger a full scan of your repository through your CI provider
- Start a scan from the CLI (Semgrep recommends that you run CLI scans only on feature branches, not main branches)
- Wait for your scheduled Semgrep full scan
- Open a pull request or merge request and wait for Semgrep to scan the branch automatically
Configure files to ignore
Semgrep Secrets scans all files, even those specified in a local .semgrepignore file, since secrets can often be found in files that aren't relevant for code scanning. To specify files that Semgrep Secrets should ignore:
- Sign in to Semgrep AppSec Platform.
- From the Navigation bar, select Projects.
- Find your project, then click Details.
- Go to Settings > Path ignores.
- Enter files and folders to ignore in the Path Ignores for Secrets box.
- Click Save changes.
Upgrade your rules
If you're using Semgrep Code rules to identify leaked credentials, you'll see prompts in Semgrep AppSec Platform indicating that there's an improved version that uses Semgrep Secrets' feature set, primarily its validators, which can validate whether the detected credential is active, and improvements in detecting and hiding false positives.
You can see individual findings for which there is a Semgrep Secrets rule upgrade in Semgrep AppSec Platform's Findings page. The findings are tagged with a label that says Secrets version available! Click to see rule(s).
To see the rules you're using for which there is a Secrets rule upgrade in Semgrep AppSec Platform:
- Sign in to Semgrep AppSec Platform.
- Go to Rules & Policies > Policies > Code.
- Under Available rule upgrades, select Secrets.
Next steps
- Scan your Git history for secrets and scan for generic secrets.
- Learn how to view your findings in Semgrep AppSec Platform.
- Learn more about the structure of rules for Semgrep Secrets, as well as how to manage your rules using Semgrep AppSec Platform.
- Learn how to write custom validators for your Semgrep Secrets rules.
Not finding what you need in this doc? Ask questions in our Community Slack group, or see Support for other ways to get help.