Semgrep vs Gitleaks
Semgrep
Semgrep, Inc.
Semgrep wins · 16–7 (9 drawn)
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
Agent access
ai-native userPoint an agent at llms.txt or agent-oriented docs
weight 2 · round to SemgrepSemgrep hosts a working llms.txt at docs.semgrep.dev/llms.txt (HTTP 200, confirmed by probe) plus per-page .md agent-friendly docs (e.g. semgrep-docs-49, semgrep-docs-50), showing an agent can be pointed directly at machine-readable docs. missing for 10: independent/community confirmation that agents actually consume this llms.txt successfully, and no evidence of a broader agent-oriented docs index beyond the single llms.txt file.
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.semgrep.dev/llms.txt # Semgrep ## Home - [Semgrep Docs](https://docs.semgrep.dev/index.md): Get s…”
- [claimed-docs] “scan your first project, which can be any codebase, repository, or folder within a monorepo, for security issues, and view your findings”
- [claimed-docs] “You can run local Semgrep CLI scans with the Semgrep command-line tool.”
- [probe] “official CLI documented at https://docs.semgrep.dev/getting-started/cli”
Gitleaksnone0/10A direct probe found no llms.txt file (404) and no agent-oriented docs/openapi endpoints, so there is no evidence Gitleaks provides machine-readable docs for AI agents.
ai-native userRun the product headlessly / in CI for automation
weight 2 · round to SemgrepSemgrep has a well-documented CLI (`semgrep ci`, `semgrep scan`) designed for headless/CI use, with dedicated CI provider integrations, pre-commit hooks, SARIF export, no-login/dry-run modes, and an API for programmatic access to findings—clearly supporting automated, non-interactive pipelines. Independent evidence (Zulip, Microsoft SARIF+LLM triage pipeline) confirms real-world CI/automation usage at scale. Missing for 10: no first-party benchmark of CI runtime performance at scale beyond anecdotal community complaints about slowness.
- [claimed-docs] “navigate to the root of your project, and run your first scan: semgrep ci”
- [claimed-docs] “This guide walks you through creating a Semgrep job in the following CI providers, which are explicitly supported in Semgrep AppSec Platform”
- [claimed-docs] “your development cycle benefits from the automated scanning of repositories at various events, such as: Push events; Pull requests or merge …”
- [claimed-docs] “Semgrep is integrated into CI environments by creating a **job** that is run by the CI provider. After a scan, findings are sent to Semgrep …”
- [claimed-docs] “The pre-commit framework can run semgrep when you commit changes. This is helpful in preventing secrets and security issues from leaking int…”
- [claimed-docs] “The `--dry-run` flag ensures that your scans are not uploaded to the Semgrep web app.”
- [claimed-docs] “You do **not** need to be logged in to run a scan.”
- [claimed-docs] “To export the results to a SARIF file: semgrep ci --sarif --sarif-output=semgrep.sarif”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep”
- [community] “Built a tool using Semgrep's SARIF output plus prompted LLMs to help prioritize triage; used at Microsoft for the past year to help surface …”
- [community] “We've used Semgrep for Zulip's Python codebase for months and really appreciate the semantic checks, especially for security lint rules - it…”
Gitleaks is a CLI that scans repos, directories, or stdin, is installable via Homebrew/Docker/Go, and has an official GitHub Action (gitleaks-action) for automated CI scanning on PRs/commits with exit-code-based pass/fail reporting, making it well-suited for headless CI automation. Missing for 10: evidence of non-GitHub CI integrations (GitLab CI, Jenkins, CircleCI) and JSON/SARIF output examples for machine-readable pipeline consumption.
- [github] “The `git` command lets you scan local git repos.”
- [github] “The `dir` (aliases include `files`, `directory`) command lets you scan directories and files.”
- [github] “You can also stream data to gitleaks with the `stdin` command.”
- [github] “Gitleaks can be installed using Homebrew, Docker, or Go.”
- [claimed-docs] “Enable **Gitleaks-Action** in your GitHub workflows to be alerted when secrets are leaked as soon as they happen.”
- [claimed-docs] “You can use it to automatically run a gitleaks scan on all your team's pull requests and commits, or run on-demand scans.”
- [github] “➜ git commit -m "this commit contains a secret" Detect hardcoded secrets.................................................Failed”
ai-native userUse an official CLI
weight 2 · round drawnSemgrep ships a well-documented, installable official CLI (pipx/uv install, `semgrep scan`/`semgrep ci`, SARIF export, autofix, dry-run, no-login mode) that is fully scriptable and thus usable by AI agents, and this is corroborated by community usage reports and a dedicated probe confirming the CLI docs page. Missing for 10: explicit documentation of machine-readable (e.g., JSON) output tailored for programmatic/agent consumption and independent evidence of AI agents specifically driving the CLI.
- [claimed-docs] “pipx install semgrep # preferred: install through uv (https://docs.astral.sh/uv/) uv tool install semgrep”
- [claimed-docs] “semgrep scan - This is the recommended command for scanning local codebases or scanning a project when you don't have a Semgrep account”
- [claimed-docs] “navigate to the root of your project, and run your first scan: semgrep ci”
- [claimed-docs] “The `--dry-run` flag ensures that your scans are not uploaded to the Semgrep web app.”
- [claimed-docs] “You do **not** need to be logged in to run a scan.”
- [claimed-docs] “To export the results to a SARIF file: semgrep ci --sarif --sarif-output=semgrep.sarif”
- [probe] “official CLI documented at https://docs.semgrep.dev/getting-started/cli”
- [community] “We've used Semgrep for Zulip's Python codebase for months and really appreciate the semantic checks, especially for security lint rules - it…”
Gitleaks ships a first-party CLI (git, dir, stdin subcommands) that is well documented with usage examples and is the primary interface for the tool, making it fully scriptable/automatable for agentic workflows. Missing for 10: no explicit agent/LLM-oriented docs (e.g., llms.txt returns 404) or structured JSON-output guidance tailored to AI consumers.
- [github] “The `git` command lets you scan local git repos.”
- [github] “The `dir` (aliases include `files`, `directory`) command lets you scan directories and files.”
- [github] “You can also stream data to gitleaks with the `stdin` command.”
- [github] “Gitleaks is a tool for detecting secrets like passwords, API keys, and tokens in git repos, files, and whatever else you wanna throw at it v…”
- [probe] “official CLI documented at https://github.com/gitleaks/gitleaks”
ai-native userDrive the product through a documented public API
weight 3 · round to SemgrepSemgrep AppSec Platform documents a public API for listing deployments, findings, and projects, and the CLI itself is scriptable for automation, but there is no OpenAPI/swagger spec discoverable (probe returned 404s on all candidate paths) and no independent/community corroboration of programmatic API usage. missing for 10: discoverable OpenAPI/schema documentation, broader API surface details (write operations, rate limits), and independent evidence of third-party integrations built against the API.
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep AppSec Platform, and list p…”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.semgrep.dev/openapi.json, https://docs.semgrep.dev/swagger.json, https://docs.semgrep.d…”
Gitleaksnone0/10Gitleaks is a CLI/scanner tool with no documented public API for programmatic/agentic access; probes confirm no llms.txt and no OpenAPI/swagger endpoint exist, and the CLI/GitHub Action docs don't constitute a public API.
ai-native userSubscribe to events via webhooks
weight 2 · round drawnSemgrepnone0/10Evidence shows Semgrep provides a REST API for querying findings/deployments and CI-integration on push/PR events, but nothing describes a webhook subscription mechanism for events; no docs mention webhook endpoints or event-driven notifications to external systems.
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep AppSec Platform, and list p…”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep”
- [claimed-docs] “your development cycle benefits from the automated scanning of repositories at various events, such as: Push events; Pull requests or merge …”
Gitleaksnone0/10Gitleaks is a CLI secret-scanning tool with CI integrations (GitHub Action, PR comments, alerts) but no evidence of a webhook subscription mechanism for events; probes for API/openapi specs returned 404s, and no webhook docs exist.
- [probe] “PROBE llms.txt: HTTP 404 at https://gitleaks.io/llms.txt”
- [probe] “PROBE openapi: all candidate paths 404 (https://gitleaks.io/openapi.json, https://gitleaks.io/swagger.json, https://gitleaks.io/api/openapi.…”
- [claimed-docs] “Enable **Gitleaks-Action** in your GitHub workflows to be alerted when secrets are leaked as soon as they happen.”
- [claimed-docs] “A list of GitHub accounts that should be alerted when **gitleaks-action** detects a leak.”
Agentic features
ai-native userGet AI-generated insights and suggestions from my data inside the product
weight 2 · round to SemgrepSemgrep Code's 'AI-Powered Detection' and 'Semgrep Assistant (AI)' features are documented as generating insights (identifying complex business-logic flaws like IDORs, reducing false-positive noise by ~20%, combining AI reasoning with rule-based analysis for triage/remediation), which matches the story of in-product AI-generated insights. However, independent corroboration is thin — the one relevant community datapoint (semgrep-comm-14) describes a third party building their own external LLM triage layer on top of Semgrep's SARIF output rather than validating Semgrep Assistant itself, and another (semgrep-comm-13) notes an LLM hallucinating semgrep syntax when asked to help write rules, which is tangential. missing for 10: independent/hands-on validation of Semgrep Assistant's own AI suggestions, more detail on scope/accuracy of AI-Powered Detection, and confirmation these AI features are broadly available rather than gated/beta.
- [claimed-docs] “With AI-Powered Detection, you can automatically identify complex business logic flaws, such as IDORs and broken authorization.”
- [github] “Contextual post-processing of findings with Semgrep Assistant (AI) to further reduce noise by ~20%”
- [claimed-docs] “Combine AI reasoning with rule-based analysis for detection, triage, and remediation”
- [claimed-docs] “Semgrep Code is transparent; you can configure the rules it runs and inspect its syntax to understand how the finding was detected.”
- [community] “Built a tool using Semgrep's SARIF output plus prompted LLMs to help prioritize triage; used at Microsoft for the past year to help surface …”
Gitleaksnone0/10Gitleaks is a rule-based secret-detection scanner with no evidence of AI-generated insights, summaries, or suggestions; probes for llms.txt and API/OpenAPI endpoints returned 404, and all documented features are deterministic regex/rule-based scanning, alerting, and CI integration.
- [probe] “PROBE llms.txt: HTTP 404 at https://gitleaks.io/llms.txt”
- [probe] “PROBE openapi: all candidate paths 404 (https://gitleaks.io/openapi.json, https://gitleaks.io/swagger.json, https://gitleaks.io/api/openapi.…”
- [github] “Gitleaks offers a configuration format you can follow to write your own secret detection rules”
- [github] “Gitleaks is a tool for detecting secrets like passwords, API keys, and tokens in git repos, files, and whatever else you wanna throw at it v…”
ai-native userSet up automations that run autonomously in the background
weight 2 · round to GitleaksSemgrep supports automation via CI triggers on push/PR events, pre-commit hooks, and bulk 'Managed Scans' that run without manual invocation, and it has an AI Assistant/AI-Powered Detection layer for triage — providing real background automation. However, this is rule-based scan automation, not an autonomous agent that independently plans/executes multi-step actions; there's no evidence of scheduled/cron-like agentic orchestration beyond scan-on-event triggers. Missing for 10: evidence of autonomous multi-step agentic decision-making, scheduling/orchestration beyond CI-triggered scans, and independent confirmation that AI-driven remediation runs unattended.
- [claimed-docs] “your development cycle benefits from the automated scanning of repositories at various events, such as: Push events; Pull requests or merge …”
- [claimed-docs] “your development cycle benefits from the automated scanning of repositories at various events, such as: Push events, Pull requests or merge …”
- [claimed-docs] “consider Semgrep Managed Scans, which enables you to bulk onboard and scan your repositories without requiring changes to your CI”
- [claimed-docs] “The pre-commit framework can run semgrep when you commit changes. This is helpful in preventing secrets and security issues from leaking int…”
- [claimed-docs] “The pre-commit framework can run `semgrep` when you commit changes. This is helpful in preventing secrets and security issues from leaking i…”
- [claimed-docs] “With AI-Powered Detection, you can automatically identify complex business logic flaws, such as IDORs and broken authorization.”
- [github] “Contextual post-processing of findings with Semgrep Assistant (AI) to further reduce noise by ~20%”
- [claimed-docs] “Combine AI reasoning with rule-based analysis for detection, triage, and remediation”
Gitleaks-action lets teams wire secret scanning to run automatically in the background on every push/PR (and pre-commit hooks trigger locally) without manual intervention, satisfying the 'runs autonomously' spirit of the story. Missing for 10: no evidence of scheduled/cron-based or event-driven automation beyond git hooks/CI triggers, and no AI-agent-specific orchestration or self-triggering capability.
- [claimed-docs] “Enable **Gitleaks-Action** in your GitHub workflows to be alerted when secrets are leaked as soon as they happen.”
- [claimed-docs] “You can use it to automatically run a gitleaks scan on all your team's pull requests and commits, or run on-demand scans.”
- [github] “You can run Gitleaks as a pre-commit hook by copying the example `pre-commit.py` script into your `.git/hooks/` directory.”
- [claimed-docs] “There are no changes to inputs, outputs, or behavior. The upgrade is a one-line change in your workflow file”
Api quality
ai-native userExplore an interactive API reference with runnable examples
weight 2 · round drawnSemgrepnone0/10Semgrep documents an AppSec Platform API (list deployments, findings, projects) but there is no evidence of an interactive API reference with runnable/try-it examples; the openapi.json/swagger probes returned 404 on all candidate paths, indicating no interactive spec-based docs.
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep AppSec Platform, and list p…”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.semgrep.dev/openapi.json, https://docs.semgrep.dev/swagger.json, https://docs.semgrep.d…”
Gitleaksnone0/10Gitleaks is a CLI secret-scanning tool with no interactive API reference; probes explicitly show no llms.txt and no OpenAPI/swagger spec found on gitleaks.io, and evidence only documents CLI commands, not a runnable API playground.
ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)
weight 2 · round drawnSemgrepnone0/10Semgrep documents a REST API for the AppSec Platform (semgrep-docs-17/59) but a direct probe for machine-readable OpenAPI/Swagger specs at standard paths returned 404 everywhere (semgrep-probe-2), and no evidence of a published API spec exists elsewhere in the pack.
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.semgrep.dev/openapi.json, https://docs.semgrep.dev/swagger.json, https://docs.semgrep.d…”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep AppSec Platform, and list p…”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep”
Gitleaksnone0/10Gitleaks is a CLI secret-scanning tool with no API/web service, and direct probes confirm no OpenAPI or machine-readable spec exists at any expected location.
ai-native userRely on versioned APIs with a documented deprecation policy
weight 2 · round drawnSemgrepnone0/10Semgrep documents an AppSec Platform API (semgrep-docs-17/59) but no evidence pack item mentions API versioning scheme or a documented deprecation policy; an OpenAPI spec probe returned 404s (semgrep-probe-2), suggesting no formal API contract is published. missing for 10: versioning scheme documentation, deprecation policy/notice process, changelog or migration guides for API changes.
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep AppSec Platform, and list p…”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.semgrep.dev/openapi.json, https://docs.semgrep.dev/swagger.json, https://docs.semgrep.d…”
Gitleaksnone0/10Gitleaks is a CLI/CI secret-scanning tool with no evidence of a public/versioned API; probes for OpenAPI spec and llms.txt both returned 404s, and there's no mention of an API deprecation policy anywhere in the evidence.
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
ai-native userPerform bulk operations across many items at once
weight 2 · round drawnSemgrep supports bulk-style operations such as scanning an entire codebase/monorepo in one command, cross-file/interfile analysis across many files, and 'Managed Scans' explicitly designed to 'bulk onboard and scan your repositories without requiring changes to your CI.' The AppSec Platform API also lets you programmatically list deployments/projects/findings across an organization. However, there is no documented bulk-action tooling (e.g., bulk triage, bulk rule application, batch API calls) beyond onboarding/scanning, so the story is only partially covered. Missing for 10: explicit bulk API endpoints for mass finding triage/remediation, evidence of batch operations beyond scanning/onboarding, and independent confirmation of large-scale bulk workflows in practice.
- [claimed-docs] “consider Semgrep Managed Scans, which enables you to bulk onboard and scan your repositories without requiring changes to your CI”
- [claimed-docs] “Learn how to set up Semgrep, scan your first project, which can be any codebase, repository, or folder within a monorepo, for security issue…”
- [claimed-docs] “scan your first project, which can be any codebase, repository, or folder within a monorepo, for security issues, and view your findings”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep AppSec Platform, and list p…”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep”
- [claimed-docs] “To turn on cross-file analysis, which allows you to detect vulnerabilities across files and folders”
Gitleaks natively scans across many items at once — entire directories/file trees via the `dir` command and full git commit history via `git log -p` with the `git` command, and gitleaks-action can scan all PRs/commits automatically in CI. However, there's no evidence of a broader batch/programmatic API for bulk operations beyond directory/repo scanning (e.g., processing many repos, bulk config management, or structured bulk output for agentic pipelines). Missing for 10: multi-repo/bulk-target orchestration, programmatic batch API beyond CLI file/dir args, and evidence of AI-native bulk workflows.
- [github] “The `git` command lets you scan local git repos.”
- [github] “The `git` command lets you scan local git repos. Under the hood, gitleaks uses the `git log -p` command to scan patches.”
- [github] “The `dir` (aliases include `files`, `directory`) command lets you scan directories and files.”
- [github] “The `dir` (aliases include `files`, `directory`) command lets you scan directories and files. Example: `gitleaks dir -v path_to_directory_or…”
- [claimed-docs] “You can use it to automatically run a gitleaks scan on all your team's pull requests and commits, or run on-demand scans.”
- [claimed-docs] “Enable **Gitleaks-Action** in your GitHub workflows to be alerted when secrets are leaked as soon as they happen.”
ai-native userDefine rules that trigger actions automatically on events
weight 3 · round to SemgrepSemgrep rules can be configured to run automatically on events (push, PR/MR, pre-commit) and trigger downstream actions such as PR comments, alerts/notifications, ticket creation, and autofix application — all documented as first-class features (semgrep-docs-25/28/16/46/22/30/38/53/57). This directly matches the story of rules triggering automated actions on events. missing for 10: independent/hands-on evidence confirming these automated trigger-action pipelines (e.g., ticket creation, alerting) work reliably in production beyond vendor docs.
- [claimed-docs] “your development cycle benefits from the automated scanning of repositories at various events, such as: Push events; Pull requests or merge …”
- [claimed-docs] “your development cycle benefits from the automated scanning of repositories at various events, such as: Push events, Pull requests or merge …”
- [claimed-docs] “The pre-commit framework can run semgrep when you commit changes. This is helpful in preventing secrets and security issues from leaking int…”
- [claimed-docs] “The pre-commit framework can run `semgrep` when you commit changes. This is helpful in preventing secrets and security issues from leaking i…”
- [claimed-docs] “Triage findings * Send alerts and notifications or create tickets to track findings identified by Semgrep Code”
- [claimed-docs] “Triage findings Send alerts and notifications or create tickets to track findings identified by Semgrep Code”
- [claimed-docs] “You can apply the Rule-defined fix directly to the file using the `--autofix` flag.”
- [claimed-docs] “You can apply the Rule-defined fix directly to the file using the --autofix flag.”
- [claimed-docs] “You can use Semgrep and its GitHub integration to automate PR comments that you frequently make in code reviews.”
Gitleaks supports custom detection rules (regex-based) and can trigger automatic actions on events—pre-commit hook blocks commits containing secrets, and gitleaks-action runs on GitHub push/PR events to alert accounts and comment on PRs. However this is limited to secret-scanning triggers tied to git/CI events, not a general-purpose rule/action automation engine. Missing for 10: evidence of arbitrary event types or custom action definitions beyond GitHub-specific alerting/commenting, and no AI-native/agentic trigger framework.
- [github] “You can run Gitleaks as a pre-commit hook by copying the example `pre-commit.py` script into your `.git/hooks/` directory.”
- [github] “Gitleaks offers a configuration format you can follow to write your own secret detection rules”
- [claimed-docs] “Enable **Gitleaks-Action** in your GitHub workflows to be alerted when secrets are leaked as soon as they happen.”
- [claimed-docs] “A list of GitHub accounts that should be alerted when **gitleaks-action** detects a leak.”
- [claimed-docs] “**gitleaks-action** uses this token to call [a GitHub API] to comment on PRs.”
- [github] “➜ git commit -m "this commit contains a secret" Detect hardcoded secrets.................................................Failed”
ai-native userSchedule recurring jobs or workflows
weight 2 · round to SemgrepSemgrep supports automated scanning triggered by CI events (push, PR/MR) and offers Managed Scans for bulk repo scanning without CI changes, which implies some recurring automation, but there is no explicit documentation of a scheduling/cron mechanism or workflow orchestration for recurring jobs as an AI-native automation feature. missing for 10: explicit scheduling/cron support, documented recurring job configuration, and evidence of AI-native workflow orchestration beyond CI trigger events.
- [claimed-docs] “consider Semgrep Managed Scans, which enables you to bulk onboard and scan your repositories without requiring changes to your CI”
- [claimed-docs] “your development cycle benefits from the automated scanning of repositories at various events, such as: Push events; Pull requests or merge …”
- [claimed-docs] “your development cycle benefits from the automated scanning of repositories at various events, such as: Push events, Pull requests or merge …”
- [claimed-docs] “This guide walks you through creating a Semgrep job in the following CI providers, which are explicitly supported in Semgrep AppSec Platform”
Gitleaksnone0/10Evidence shows Gitleaks integrates with git hooks and GitHub Actions triggered by commits/PRs, but nothing describes scheduling recurring/cron-based scans or workflows as a distinct capability. The axis applies (CI security tools commonly support scheduled scans) but no evidence confirms this for Gitleaks.
Ci precommit — stories about ci precommit in this arenaCi precommit
Stories about ci precommit in this arena
Agent scanning
ai-native userHave an agent run a scan headlessly via the CLI, parse machine-readable results, and file issues for real findings
weight 3 · round to SemgrepSemgrep's CLI clearly supports headless, unauthenticated scanning (`semgrep ci`/`semgrep scan`, no login required, --dry-run) and machine-readable output via SARIF export, which an agent could parse. Community evidence (semgrep-comm-14) shows this pattern used in practice — SARIF output plus LLM triage to surface real findings for human review at Microsoft. Docs also mention 'send alerts/notifications or create tickets to track findings' for Semgrep Code, but this is vague and tied to the platform tier rather than a demonstrated CLI-to-issue-tracker pipeline. Missing for 10: explicit documented JSON/SARIF-to-ticket automation workflow, first-party GitHub/Jira issue-filing integration for CLI findings, and independent hands-on confirmation that filed issues correspond only to 'real' (non-false-positive) findings given community complaints about false positives (semgrep-comm-11).
- [claimed-docs] “navigate to the root of your project, and run your first scan: semgrep ci”
- [claimed-docs] “semgrep scan - This is the recommended command for scanning local codebases or scanning a project when you don't have a Semgrep account”
- [claimed-docs] “The `--dry-run` flag ensures that your scans are not uploaded to the Semgrep web app.”
- [claimed-docs] “You do **not** need to be logged in to run a scan.”
- [claimed-docs] “To export the results to a SARIF file:”
- [claimed-docs] “To export the results to a SARIF file: semgrep ci --sarif --sarif-output=semgrep.sarif”
- [claimed-docs] “Triage findings * Send alerts and notifications or create tickets to track findings identified by Semgrep Code”
- [claimed-docs] “Triage findings Send alerts and notifications or create tickets to track findings identified by Semgrep Code”
- [community] “Built a tool using Semgrep's SARIF output plus prompted LLMs to help prioritize triage; used at Microsoft for the past year to help surface …”
Gitleaks CLI supports headless scanning of repos/dirs/stdin and can output baseline reports like findings.json, giving a machine-readable artifact an agent could parse; gitleaks-action also automates PR-based alerting. However there's no explicit documentation of a structured JSON/SARIF report flag, and no evidence of automated issue-filing (only PR comments/alerts to accounts, not issue tracker integration). Missing for 10: explicit machine-readable output format docs (e.g. --report-format json/sarif), and evidence of automated issue creation for real findings.
- [github] “The `git` command lets you scan local git repos. Under the hood, gitleaks uses the `git log -p` command to scan patches.”
- [github] “The `dir` (aliases include `files`, `directory`) command lets you scan directories and files. Example: `gitleaks dir -v path_to_directory_or…”
- [github] “You can also stream data to gitleaks with the `stdin` command. Example: `cat some_file | gitleaks -v stdin`”
- [github] “After running the detect command with the --baseline-path parameter, report output (findings.json) will only contain new issues.”
- [claimed-docs] “Enable **Gitleaks-Action** in your GitHub workflows to be alerted when secrets are leaked as soon as they happen.”
- [claimed-docs] “**gitleaks-action** uses this token to call [a GitHub API] to comment on PRs.”
- [claimed-docs] “A list of GitHub accounts that should be alerted when **gitleaks-action** detects a leak.”
ai-native userWire the scanner into my coding agent so AI-generated code is scanned for issues before it lands
weight 2 · round to SemgrepSemgrep ships an official MCP server (docs.semgrep.dev/mcp) letting coding agents call the scanner directly, plus first-party messaging on scanning/fixing AI-generated code the moment it's written and combining AI reasoning with rule-based detection, and a pre-commit hook to catch issues before they land in Git history. Missing for 10: independent/hands-on validation that the MCP integration reliably works inside real agent workflows, and detail on latency or false-positive behavior when used inline with AI code generation.
- [probe] “official MCP server documented at https://docs.semgrep.dev/mcp”
- [claimed-docs] “Scan and fix AI-generated code the moment it's written”
- [claimed-docs] “Combine AI reasoning with rule-based analysis for detection, triage, and remediation”
- [claimed-docs] “The pre-commit framework can run semgrep when you commit changes. This is helpful in preventing secrets and security issues from leaking int…”
- [claimed-docs] “The pre-commit framework can run `semgrep` when you commit changes. This is helpful in preventing secrets and security issues from leaking i…”
Gitleaks offers generic mechanisms (pre-commit hook script, CLI `dir`/`git`/`stdin` scanning, CI action) that a user could wire into an AI coding agent's workflow to scan generated code before it lands, but there is no documented agent-specific integration (no MCP server, no Claude Code/Cursor plugin, no explicit guidance for AI-native pipelines). missing for 10: dedicated AI-agent integration docs, MCP/agent-hook examples, evidence of use specifically for AI-generated code review.
- [github] “You can run Gitleaks as a pre-commit hook by copying the example `pre-commit.py` script into your `.git/hooks/` directory.”
- [github] “You can also stream data to gitleaks with the `stdin` command. Example: `cat some_file | gitleaks -v stdin`”
- [github] “The `dir` (aliases include `files`, `directory`) command lets you scan directories and files. Example: `gitleaks dir -v path_to_directory_or…”
- [claimed-docs] “Enable **Gitleaks-Action** in your GitHub workflows to be alerted when secrets are leaked as soon as they happen.”
Ci gates
devops-leadRun scans in CI on every pull request and fail the build on new findings via exit codes
weight 3 · round to SemgrepDocs explicitly cover running `semgrep ci` in CI pipelines triggered on push/PR events, with dedicated CI provider guides, SARIF export, and exit-code based build behavior implied by 'ci' command design for gating; community evidence corroborates real-world CI usage. missing for 10: explicit documented mention of exit code semantics for failing builds on new findings (implied but not directly quoted).
- [claimed-docs] “navigate to the root of your project, and run your first scan: semgrep ci”
- [claimed-docs] “This guide walks you through creating a Semgrep job in the following CI providers, which are explicitly supported in Semgrep AppSec Platform”
- [claimed-docs] “your development cycle benefits from the automated scanning of repositories at various events, such as: Push events; Pull requests or merge …”
- [claimed-docs] “Semgrep is integrated into CI environments by creating a **job** that is run by the CI provider. After a scan, findings are sent to Semgrep …”
- [claimed-docs] “To export the results to a SARIF file: semgrep ci --sarif --sarif-output=semgrep.sarif”
- [community] “We've used Semgrep for Zulip's Python codebase for months and really appreciate the semantic checks, especially for security lint rules - it…”
Gitleaks-Action enables scanning on GitHub PR workflows with alerts/comments, and the CLI's detect command exits non-zero on findings (shown by failed commit hook example), which is the mechanism CI systems use to fail builds. missing for 10: explicit documentation of CI-specific exit code semantics (e.g., non-zero exit on new findings vs baseline) and non-GitHub CI examples (GitLab/Jenkins) beyond the GitHub Action.
- [claimed-docs] “Enable **Gitleaks-Action** in your GitHub workflows to be alerted when secrets are leaked as soon as they happen.”
- [claimed-docs] “You can use it to automatically run a gitleaks scan on all your team's pull requests and commits, or run on-demand scans.”
- [github] “➜ git commit -m "this commit contains a secret" Detect hardcoded secrets.................................................Failed”
- [github] “After running the detect command with the --baseline-path parameter, report output (findings.json) will only contain new issues.”
- [github] “gitleaks will ignore any old findings that are present in the baseline”
developerSee scan findings surfaced as pull-request comments or checks in GitHub or GitLab
weight 2 · round to GitleaksDocs confirm Semgrep integrates into CI at push/PR/MR events, posts PR/MR comments for Secrets findings, and offers a GitHub integration for automating PR review comments, with findings sent to the AppSec Platform after scans. missing for 10: explicit first-party documentation of GitHub/GitLab PR status checks (not just comments) for Semgrep Code/Supply Chain findings, and independent hands-on confirmation of the PR-comment UX beyond docs.
- [claimed-docs] “informs developers of valid secrets in their PRs and MRs by posting comments directly”
- [claimed-docs] “your development cycle benefits from the automated scanning of repositories at various events, such as: Push events; Pull requests or merge …”
- [claimed-docs] “your development cycle benefits from the automated scanning of repositories at various events, such as: Push events, Pull requests or merge …”
- [claimed-docs] “Semgrep is integrated into CI environments by creating a **job** that is run by the CI provider. After a scan, findings are sent to Semgrep …”
- [claimed-docs] “You can use Semgrep and its GitHub integration to automate PR comments that you frequently make in code reviews.”
- [claimed-docs] “This guide walks you through creating a Semgrep job in the following CI providers, which are explicitly supported in Semgrep AppSec Platform”
Gitleaks-Action explicitly integrates into GitHub workflows and uses the GitHub API to post PR comments/reviews when secrets are detected, and it can also fail CI checks on findings; it's a well-documented first-party GitHub Action. Missing for 10: GitLab-specific MR comment/check integration is not evidenced (only GitHub is covered), and no independent/hands-on confirmation of the PR-comment behavior beyond vendor docs.
- [claimed-docs] “Enable **Gitleaks-Action** in your GitHub workflows to be alerted when secrets are leaked as soon as they happen.”
- [claimed-docs] “**gitleaks-action** uses this token to call [a GitHub API] to comment on PRs.”
- [claimed-docs] “**gitleaks-action** uses this token to call [a GitHub API](https://octokit.github.io/rest.js/v18#pulls-create-review-comment) to comment on …”
- [claimed-docs] “gitleaks-action uses this token to call a GitHub API to comment on PRs.”
- [claimed-docs] “A list of GitHub accounts that should be alerted when **gitleaks-action** detects a leak.”
- [claimed-docs] “Enable this **gitleaks-action** and copy `<img alt="gitleaks badge" src="https://img.shields.io/badge/protected%20by-gitleaks-blue">` to you…”
Pre commit
developerRun the scanner as a pre-commit hook so secrets and issues never enter my git history
weight 3 · round to SemgrepSemgrep has explicit first-party documentation for integrating with the pre-commit framework, stating it runs semgrep on commit specifically to prevent secrets and security issues from leaking into git history, matching the story verbatim. Missing for 10: no independent/hands-on community confirmation specifically of the pre-commit hook workflow (community evidence covers CLI/CI use generally, not pre-commit hook experience).
- [claimed-docs] “The pre-commit framework can run semgrep when you commit changes. This is helpful in preventing secrets and security issues from leaking int…”
- [claimed-docs] “The pre-commit framework can run `semgrep` when you commit changes. This is helpful in preventing secrets and security issues from leaking i…”
- [claimed-docs] “The pre-commit framework can run semgr”
Gitleaks documents running as a pre-commit hook via the example pre-commit.py script copied into .git/hooks, and demonstrates it blocking a commit containing a secret ("git commit ... Detect hardcoded secrets.................................................Failed"), confirming secrets are caught before entering history. Missing for 10: no mention of official pre-commit-framework (.pre-commit-hooks.yaml) integration or independent hands-on confirmation beyond the vendor repo.
- [github] “You can run Gitleaks as a pre-commit hook by copying the example `pre-commit.py` script into your `.git/hooks/` directory.”
- [github] “➜ git commit -m "this commit contains a secret" Detect hardcoded secrets.................................................Failed”
- [github] “Detect hardcoded secrets.................................................Failed”
Coverage accuracy — stories about coverage accuracy in this arenaCoverage accuracy
Stories about coverage accuracy in this arena
Coverage
developerScan projects across all the major languages and package ecosystems my organization uses
weight 2 · round drawnDocs and community evidence show Semgrep scanning across many languages (Python, JS/TS, Ruby, YAML, HTML, CSS) and separately covering open-source package ecosystems via Semgrep Supply Chain (docs-11,12,13,23,29,44,55), plus a generic-pattern fallback for unsupported languages (docs-39). However there's no explicit doc listing 'all major languages/ecosystems' coverage, and a hands-on report shows Semgrep's parser failing on valid TypeScript syntax (comm-3), plus performance complaints scanning large multi-language codebases (comm-2, comm-7) that temper the breadth claim. missing for 10: an explicit enumerated language/ecosystem coverage matrix, resolution of the TypeScript parser bug, and independent benchmarking across the full claimed language set.
- [claimed-docs] “If there's a code pattern in the codebase that matches the vulnerability definition, the finding is flagged as reachable.”
- [claimed-docs] “Generate reports and software bills of materials (SBOM) that provide a complete inventory of your open source components”
- [claimed-docs] “Supply Chain's Dynamic Dependency Resolution provides a complete inventory of your project's dependencies using a combination of manifest pa…”
- [claimed-docs] “Detect malicious dependencies associated with Supply Chain attacks”
- [claimed-docs] “Semgrep Supply Chain is a software composition analysis (SCA) tool that detects security vulnerabilities in your codebase introduced by open…”
- [claimed-docs] “Semgrep can match generic patterns in languages that it does **not** yet support.”
- [community] “Semgrep's parser complains that valid TypeScript using a typed catch clause (`catch (error: unknown)`) is invalid and can't be parsed.”
- [community] “The underlying tree-sitter parser Semgrep uses is amazing - parsing millions of files across JS, TS, Ruby, YAML, HTML, CSS in about half a m…”
- [community] “Running the CI ruleset on a tiny Django hobby project spun all cores to 100% after 33% progress and made the OS almost unresponsive; had to …”
- [community] “We've used Semgrep for Zulip's Python codebase for months and really appreciate the semantic checks, especially for security lint rules - it…”
Gitleaks scans git repos, directories/files, and stdin using regex-based pattern matching, which is inherently language-agnostic and works on any text-based source file or config regardless of the language or package ecosystem in use. However, there is no explicit evidence of ecosystem-specific coverage claims, testing across specific language/package manager formats, or documentation asserting broad multi-language validation. missing for 10: explicit language/ecosystem coverage claims, evidence of testing across specific ecosystems (npm, pip, maven, etc.), independent corroboration of coverage breadth.
- [github] “The `git` command lets you scan local git repos.”
- [github] “The `dir` (aliases include `files`, `directory`) command lets you scan directories and files.”
- [github] “You can also stream data to gitleaks with the `stdin` command.”
- [github] “Gitleaks is a tool for detecting secrets like passwords, API keys, and tokens in git repos, files, and whatever else you wanna throw at it v…”
- [github] “The `dir` (aliases include `files`, `directory`) command lets you scan directories and files. Example: `gitleaks dir -v path_to_directory_or…”
- [github] “You can also stream data to gitleaks with the `stdin` command. Example: `cat some_file | gitleaks -v stdin`”
Output formats
developerEmit scan results in machine-readable formats like JSON or SARIF for downstream tooling
weight 2 · round to SemgrepDocs explicitly document exporting SARIF output via `semgrep ci --sarif --sarif-output=semgrep.sarif`, and community evidence shows real-world use of Semgrep's SARIF output for downstream tooling (e.g., piping into LLM triage at Microsoft). JSON output is also a standard supported format implied by the CLI's general reporting capabilities, though not separately documented in this pack. missing for 10: explicit docs snippet for --json flag usage.
- [claimed-docs] “To export the results to a SARIF file:”
- [claimed-docs] “To export the results to a SARIF file: semgrep ci --sarif --sarif-output=semgrep.sarif”
- [community] “Built a tool using Semgrep's SARIF output plus prompted LLMs to help prioritize triage; used at Microsoft for the past year to help surface …”
Evidence shows Gitleaks writes findings to a JSON report file (e.g., findings.json via --baseline-path) confirming JSON output support, but there is no mention in the evidence pack of SARIF or other machine-readable formats. missing for 10: explicit SARIF output support, documentation of --report-format flag or other structured formats, independent confirmation of downstream tooling integration.
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
ai-native userRead the product's source under an open license
weight 2 · round to GitleaksThe core Semgrep engine is hosted on a public GitHub repo (semgrep-gh-1/2/3), showing source code is publicly readable, but no evidence pack item states an explicit open-source license (e.g., LGPL) or points to a LICENSE file. Community evidence also notes that a commercial component, Semgrep Supply Chain, is explicitly 'not open source' (semgrep-comm-12), meaning the broader product is not uniformly open-licensed. missing for 10: explicit license text/citation, confirmation covering all product components, independent verification of license terms.
- [github] “Semgrep would match x = 1; y = x + 1 when searching for 2”
- [github] “Semgrep analyzes code locally on your computer or in your build environment: by default, code is never upload”
- [github] “Contextual post-processing of findings with Semgrep Assistant (AI) to further reduce noise by ~20%”
- [community] “Regarding Semgrep Supply Chain: "This is not open source, though? It does make a big difference for some whether you're able to run the chec…”
Gitleaks' source code is openly hosted and directly referenced across many citations (e.g. gitleaks-gh-1, gitleaks-probe-3), confirming it is a publicly readable GitHub repository that anyone, including AI-native users, can inspect. However, the evidence pack never explicitly cites a license file or license name (e.g. MIT), so full confirmation of an 'open license' designation is inferred rather than directly documented. Missing for 10: an explicit license statement/citation (e.g. LICENSE file content) and independent corroboration of the license terms.
ai-native userSelf-host the core product
weight 3 · round to GitleaksSemgrep's core CLI/engine is open source and runs entirely on local infrastructure by default, never uploading code, and works without an account or login, which is effectively self-hosting the core scanning product (semgrep-gh-2, semgrep-docs-33/34/50/51/27). Missing for 10: explicit documentation of self-hosting the full AppSec Platform/server components, and independent hands-on confirmation of a self-hosted enterprise deployment.
- [github] “Semgrep analyzes code locally on your computer or in your build environment: by default, code is never upload”
- [claimed-docs] “The `--dry-run` flag ensures that your scans are not uploaded to the Semgrep web app.”
- [claimed-docs] “You do **not** need to be logged in to run a scan.”
- [claimed-docs] “You can run local Semgrep CLI scans with the Semgrep command-line tool.”
- [claimed-docs] “The --dry-run flag ensures that your scans are not uploaded to the Semgrep web app.”
- [claimed-docs] “semgrep scan - This is the recommended command for scanning local codebases or scanning a project when you don't have a Semgrep account”
Gitleaks is a fully open-source CLI (installable via Homebrew, Docker, or Go) that runs entirely locally against git repos, directories, or stdin, requiring no cloud service — a clear self-hostable core product. Missing for 10: no explicit self-hosting deployment guide (e.g., server/container orchestration docs) beyond basic install instructions.
- [github] “Gitleaks can be installed using Homebrew, Docker, or Go.”
- [github] “The `git` command lets you scan local git repos.”
- [github] “The `dir` (aliases include `files`, `directory`) command lets you scan directories and files.”
- [github] “You can also stream data to gitleaks with the `stdin` command.”
- [github] “Gitleaks is a tool for detecting secrets like passwords, API keys, and tokens in git repos, files, and whatever else you wanna throw at it v…”
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
ai-native userOpt out of telemetry and usage tracking
weight 2 · round to SemgrepSemgrep's docs and GitHub README indicate privacy-conscious defaults: code is analyzed locally and never uploaded by default, no login is required to run a scan, and the --dry-run flag explicitly prevents scan results from being uploaded to the Semgrep web app. However, there's no explicit documentation of a dedicated 'telemetry/usage tracking' opt-out setting (e.g., an env var or flag specifically for metrics/telemetry) beyond the scan-upload behavior. missing for 10: explicit telemetry/usage-metrics opt-out flag or setting, independent confirmation of what usage data (if any) is collected outside of code content.
- [github] “Semgrep analyzes code locally on your computer or in your build environment: by default, code is never upload”
- [claimed-docs] “The `--dry-run` flag ensures that your scans are not uploaded to the Semgrep web app.”
- [claimed-docs] “You do **not** need to be logged in to run a scan.”
- [claimed-docs] “The --dry-run flag ensures that your scans are not uploaded to the Semgrep web app.”
Sast rules — stories about sast rules in this arenaSast rules
Stories about sast rules in this arena
Custom rules
security-engineerWrite custom static-analysis rules in a simple syntax and share them across repositories
weight 2 · round to SemgrepSemgrep's docs extensively cover writing custom rules with a simple YAML-based pattern syntax, testing them, using taint tracking, and sharing rules across repos via the Registry and private rules for teams; community evidence (HN) confirms security engineers actually write custom rules to catch codebase-specific antipatterns and find the syntax readable/flexible across languages. Missing for 10: independent evidence specifically validating cross-repo sharing workflows at scale, and community reports note real limitations (bypassable rules, parser errors, performance issues) that slightly temper confidence in robustness.
- [claimed-docs] “you can write custom rules to determine what Semgrep detects in your repositories”
- [claimed-docs] “you can write and test using the [Semgrep Editor]”
- [claimed-docs] “you can write rules that: Automate code review comments. Identify secure coding violations. Scan configuration files.”
- [claimed-docs] “Users with Semgrep Code's Team or Enterprise tier can publish rules to the Semgrep Registry as private rules that are not visible to those o…”
- [claimed-docs] “Semgrep provides a testing mechanism for your rules. You can write code and provide annotations to let Semgrep know where you are or aren't …”
- [claimed-docs] “Taint tracking (known also as taint analysis) enables you to write simple rules that catch complex injection bugs, such as those that can re…”
- [claimed-docs] “Semgrep supports taint analysis, also known as taint tracking, through taint rules.”
- [community] “As a security consultant, I write custom Semgrep rules to match antipatterns unique to a codebase (e.g., controllers missing an authorizatio…”
- [community] “A simple Semgrep 'no-prints' rule can be trivially bypassed with a workaround like `import builtins; builtins.print("whee")`, showing the to…”
Gitleaks documents a TOML-based config format for writing custom secret-detection rules, including composite rules and allowlists, and this config can be centralized as a `gitleaks.toml` or referenced via `GITLEAKS_CONFIG` so it can be reused across repos (e.g. gitleaks-action auto-detecting it). This is more of a config-file sharing mechanism than a purpose-built 'rule sharing' feature, and there's no independent corroboration of ease-of-use or a rule marketplace/registry. Missing for 10: independent hands-on evidence of rule syntax simplicity, evidence of a shared rule registry/marketplace, and confirmation of seamless cross-repo rule versioning.
- [github] “Gitleaks offers a configuration format you can follow to write your own secret detection rules”
- [github] “Gitleaks introduced composite rules, which are made up of a single "primary" rule and one or more auxiliary or `required` rules.”
- [github] “In v8.28.0 Gitleaks introduced composite rules, which are made up of a single "primary" rule and one or more auxiliary or `required` rules.”
- [github] “You can define multiple allowlists for a rule to reduce false positives. A finding will be ignored if _ANY_ [[rules.allowlists]] matches.”
- [claimed-docs] “You can use `GITLEAKS_CONFIG` to explicitly set a config path _or_ create a `gitleaks.toml` at the root of the repo which will be automatica…”
- [claimed-docs] “you can use GITLEAKS_CONFIG to explicitly set a config path or create a gitleaks.toml at the root of the repo which will be automatically de…”
Fix suggestions
developerApply suggested or automatic code fixes for findings instead of only reading reports
weight 2 · round to SemgrepSemgrep supports rule-defined autofix via the --autofix flag, letting developers apply suggested fixes directly to files (semgrep-docs-38, semgrep-docs-53), and AppSec Platform mentions 'remediation' and 'fix AI-generated code' (semgrep-docs-45, semgrep-docs-47). However, autofix depends on individual rules defining a fix and is not universal across all findings, and there's no independent/community evidence confirming real-world reliability of autofix. missing for 10: community/hands-on validation of autofix accuracy, evidence of coverage breadth (what % of rules ship with fixes), and any first-party numbers on fix acceptance rates.
- [claimed-docs] “You can apply the Rule-defined fix directly to the file using the `--autofix` flag.”
- [claimed-docs] “You can apply the Rule-defined fix directly to the file using the --autofix flag.”
- [claimed-docs] “Semgrep is integrated into CI environments by creating a **job** that is run by the CI provider. After a scan, findings are sent to Semgrep …”
- [claimed-docs] “Scan and fix AI-generated code the moment it's written”
- [claimed-docs] “Combine AI reasoning with rule-based analysis for detection, triage, and remediation”
Gitleaksnone0/10Gitleaks is purely a secret-detection tool that reports findings (via CLI, git hooks, or gitleaks-action PR comments); no evidence anywhere in the pack of suggested or automatic remediation/fixes for detected secrets—only detection, alerting, allowlisting, and baseline suppression are described.
- [github] “Gitleaks is a tool for detecting secrets like passwords, API keys, and tokens in git repos, files, and whatever else you wanna throw at it v…”
- [github] “You can define multiple allowlists for a rule to reduce false positives. A finding will be ignored if _ANY_ [[rules.allowlists]] matches.”
- [claimed-docs] “Enable **Gitleaks-Action** in your GitHub workflows to be alerted when secrets are leaked as soon as they happen.”
- [github] “After running the detect command with the --baseline-path parameter, report output (findings.json) will only contain new issues.”
Secret detection — stories about secret detection in this arenaSecret detection
Stories about secret detection in this arena
Custom detection
security-engineerDefine custom detection rules for my organization's internal token and secret formats
weight 2 · round to GitleaksSemgrep's generic rule-writing engine is well documented (custom rules, pattern matching, Editor for testing) and community evidence confirms security engineers write custom rules for org-specific patterns, which extends naturally to matching internal token/secret formats via pattern or regex-based rules. However, there is no explicit documentation showing how to author custom rules specifically within the Semgrep Secrets product (e.g., custom secret validators or format definitions) — the evidence only shows built-in secret detection (docs-8/9/10) and generic custom rule capability (docs-4/5/21), not a documented workflow for adding custom secret-format rules to Semgrep Secrets. Missing for 10: explicit docs/examples for authoring custom Semgrep Secrets rule types (validators, custom regex-based secret detectors), and independent confirmation of doing so for secrets specifically.
- [claimed-docs] “you can write custom rules to determine what Semgrep detects in your repositories”
- [claimed-docs] “you can write and test using the [Semgrep Editor]”
- [claimed-docs] “you can write rules that: Automate code review comments. Identify secure coding violations. Scan configuration files.”
- [claimed-docs] “Semgrep Secrets scans code to detect exposed API keys, passwords, and other credentials.”
- [claimed-docs] “valid secrets are those that have been tested against a web service and confirmed to successfully grant resources or authentication. They ar…”
- [community] “As a security consultant, I write custom Semgrep rules to match antipatterns unique to a codebase (e.g., controllers missing an authorizatio…”
Gitleaks documents a configuration format for writing custom secret-detection rules, plus advanced features like composite rules and allowlists to reduce false positives, directly enabling org-specific token/secret pattern definitions. Missing for 10: no independent hands-on example of a custom rule being validated in production, and no dedicated deep-dive docs beyond the config-format mention.
- [github] “Gitleaks offers a configuration format you can follow to write your own secret detection rules”
- [github] “Gitleaks introduced composite rules, which are made up of a single "primary" rule and one or more auxiliary or `required` rules.”
- [github] “In v8.28.0 Gitleaks introduced composite rules, which are made up of a single "primary" rule and one or more auxiliary or `required` rules.”
- [github] “You can define multiple allowlists for a rule to reduce false positives. A finding will be ignored if _ANY_ [[rules.allowlists]] matches.”
- [github] “Gitleaks introduced composite rules, which are made up of a single "primary" rule and one or more auxiliary or required rules.”
Secret scanning
developerScan a repository and its full git history for hardcoded secrets and credentials
weight 3 · round to GitleaksSemgrep Secrets is documented to scan code for exposed API keys, passwords, and credentials and validate them (semgrep-docs-8, semgrep-docs-9, semgrep-docs-43), and pre-commit hooks aim to prevent secrets from entering git history (semgrep-docs-16/46), but this only prevents future leaks — none of the evidence shows Semgrep actually scanning the full historical git commit log/diffs for previously committed secrets (a capability tools like gitleaks/trufflehog specialize in). missing for 10: explicit documentation or feature for scanning past git commits/history (not just current working tree), evidence of retroactive history-wide secret detection, independent confirmation this works in practice.
- [claimed-docs] “Semgrep Secrets scans code to detect exposed API keys, passwords, and other credentials.”
- [claimed-docs] “valid secrets are those that have been tested against a web service and confirmed to successfully grant resources or authentication. They ar…”
- [claimed-docs] “Semgrep saves security engineers time and effort by prioritizing valid leaked secrets and informs developer”
- [claimed-docs] “The pre-commit framework can run semgrep when you commit changes. This is helpful in preventing secrets and security issues from leaking int…”
- [claimed-docs] “The pre-commit framework can run `semgrep` when you commit changes. This is helpful in preventing secrets and security issues from leaking i…”
Gitleaks' `git` command explicitly scans full git history via `git log -p`, and `dir`/`stdin` commands cover directory/file/stdin scanning for secrets like passwords, API keys, and tokens, with hands-on example output showing detection working. missing for 10: no independent third-party benchmark of detection accuracy across large real-world repos.
- [github] “The `git` command lets you scan local git repos. Under the hood, gitleaks uses the `git log -p` command to scan patches.”
- [github] “The `git` command lets you scan local git repos.”
- [github] “Gitleaks is a tool for detecting secrets like passwords, API keys, and tokens in git repos, files, and whatever else you wanna throw at it v…”
- [github] “➜ git commit -m "this commit contains a secret" Detect hardcoded secrets.................................................Failed”
- [github] “The `dir` (aliases include `files`, `directory`) command lets you scan directories and files. Example: `gitleaks dir -v path_to_directory_or…”
security-engineerScan non-git sources like S3 buckets, Docker images, and CI logs for leaked secrets
weight 2 · round drawnSemgrepnone0/10Semgrep Secrets is documented to scan code/repositories for exposed credentials, but nothing in the evidence pack shows support for scanning non-git sources like S3 buckets, Docker images, or CI logs — all scanning references are to codebases, folders, monorepos, or CI pipelines running against git-based projects.
- [claimed-docs] “Semgrep Secrets scans code to detect exposed API keys, passwords, and other credentials.”
- [claimed-docs] “valid secrets are those that have been tested against a web service and confirmed to successfully grant resources or authentication. They ar…”
- [claimed-docs] “Semgrep saves security engineers time and effort by prioritizing valid leaked secrets and informs developer”
- [claimed-docs] “Semgrep Secrets scans code to detect exposed API ke”
Gitleaksnone0/10Gitleaks supports scanning git repos, directories/files, and stdin, but there is no evidence of native support for scanning S3 buckets, Docker images, or CI logs as distinct source types; stdin streaming could theoretically pipe in arbitrary data but no documentation or examples confirm scanning these non-git sources.
- [github] “The `git` command lets you scan local git repos.”
- [github] “The `dir` (aliases include `files`, `directory`) command lets you scan directories and files.”
- [github] “You can also stream data to gitleaks with the `stdin` command.”
- [github] “Gitleaks is a tool for detecting secrets like passwords, API keys, and tokens in git repos, files, and whatever else you wanna throw at it v…”
security-engineerHave detected secrets verified against the issuing service so I know which ones are live
weight 2 · round to SemgrepSemgrep Secrets explicitly performs validity checks by testing detected secrets against the issuing web service, distinguishing 'valid' (live, actively in use) secrets from invalid ones, and surfaces this in PR/MR comments to prioritize live secrets. Missing for 10: independent/hands-on corroboration of validation accuracy and broader coverage details across secret types/providers.
- [claimed-docs] “valid secrets are those that have been tested against a web service and confirmed to successfully grant resources or authentication. They ar…”
- [claimed-docs] “Semgrep Secrets scans code to detect exposed API keys, passwords, and other credentials.”
- [claimed-docs] “informs developers of valid secrets in their PRs and MRs by posting comments directly”
- [claimed-docs] “Semgrep saves security engineers time and effort by prioritizing valid leaked secrets and informs developer”
Triage noise — stories about triage noise in this arenaTriage noise
Stories about triage noise in this arena
Ai triage
ai-native userUse AI to triage findings — explaining them, deduplicating, and flagging likely false positives
weight 3 · round to SemgrepSemgrep ships a native AI feature (Semgrep Assistant) explicitly described as 'contextual post-processing of findings...to further reduce noise by ~20%', and marketing docs claim combining 'AI reasoning with rule-based analysis for detection, triage, and remediation,' plus AI-powered detection for complex logic flaws — directly supporting AI-assisted false-positive reduction and triage. However, deduplication specifically is never mentioned, and the strongest independent evidence of AI triage in practice comes from a third-party tool built on Semgrep's SARIF output plus external LLMs (used at Microsoft) rather than the native Assistant, suggesting the first-party AI-triage feature is thin on independent corroboration. Missing for 10: explicit deduplication capability, deeper documentation of Assistant's explanation/false-positive-flagging behavior, independent hands-on evidence validating the native AI triage feature itself.
- [github] “Contextual post-processing of findings with Semgrep Assistant (AI) to further reduce noise by ~20%”
- [claimed-docs] “With AI-Powered Detection, you can automatically identify complex business logic flaws, such as IDORs and broken authorization.”
- [claimed-docs] “Combine AI reasoning with rule-based analysis for detection, triage, and remediation”
- [community] “Built a tool using Semgrep's SARIF output plus prompted LLMs to help prioritize triage; used at Microsoft for the past year to help surface …”
Gitleaksnone0/10No evidence of any AI-based triage, explanation, deduplication, or false-positive flagging feature; Gitleaks only offers manual allowlists, baselines, and composite rules for reducing noise, none of which use AI.
- [github] “You can define multiple allowlists for a rule to reduce false positives. A finding will be ignored if _ANY_ [[rules.allowlists]] matches.”
- [github] “When using a baseline, gitleaks will ignore any old findings that are present in the baseline.”
- [github] “After running the detect command with the --baseline-path parameter, report output (findings.json) will only contain new issues.”
- [probe] “PROBE llms.txt: HTTP 404 at https://gitleaks.io/llms.txt”
- [probe] “PROBE openapi: all candidate paths 404 (https://gitleaks.io/openapi.json, https://gitleaks.io/swagger.json, https://gitleaks.io/api/openapi.…”
Fp management
security-engineerBaseline or ignore existing and false-positive findings so only new issues alert
weight 3 · round to GitleaksDocs mention a 'Triage findings' capability (alerts/tickets for tracking findings) and Semgrep Assistant's contextual post-processing to reduce noise by ~20%, implying some findings-management workflow, but there is no explicit evidence of baseline scanning (e.g., baseline-commit diffing), ignore-comments (nosemgrep), or a documented false-positive suppression/triage-state workflow. missing for 10: explicit baseline-commit/diff scanning documentation, .semgrepignore or inline nosemgrep suppression evidence, and a documented 'mark as false positive / ignored' triage state in the platform.
- [claimed-docs] “Triage findings * Send alerts and notifications or create tickets to track findings identified by Semgrep Code”
- [claimed-docs] “Triage findings Send alerts and notifications or create tickets to track findings identified by Semgrep Code”
- [github] “Contextual post-processing of findings with Semgrep Assistant (AI) to further reduce noise by ~20%”
Gitleaks explicitly supports baseline files via --baseline-path so only new findings appear in reports, and allowlists let users suppress known false positives per-rule. This directly matches the triage-noise story of ignoring existing/false-positive findings so only new issues alert. Missing for 10: no evidence of a centralized/dashboard-based suppression workflow or independent third-party validation of baseline accuracy at scale.
- [github] “When using a baseline, gitleaks will ignore any old findings that are present in the baseline.”
- [github] “After running the detect command with the --baseline-path parameter, report output (findings.json) will only contain new issues.”
- [github] “gitleaks will ignore any old findings that are present in the baseline”
- [github] “You can define multiple allowlists for a rule to reduce false positives. A finding will be ignored if _ANY_ [[rules.allowlists]] matches.”
developerFilter and gate on findings by severity or confidence so low-value noise does not block builds
weight 2 · round drawnSemgrepnone0/10The evidence pack describes general triage/noise features (AI post-processing to reduce noise, ticketing/alerts, reachability analysis) but never mentions severity levels, confidence scores, or a mechanism to filter/gate CI builds based on them. Missing for 10: explicit severity/confidence filtering flags (e.g., --severity), CI gating configuration based on severity/confidence thresholds, and documentation tying these to build pass/fail behavior.
Gitleaksnone0/10Gitleaks evidence shows allowlists to suppress false positives and baseline diffing to ignore old findings, but there is no mention of a severity or confidence scoring/classification system, nor any flag to gate builds based on such levels. This axis is a fair ask for a secret-scanning tool but the evidence pack shows no severity/confidence triage mechanism.
- [github] “You can define multiple allowlists for a rule to reduce false positives. A finding will be ignored if _ANY_ [[rules.allowlists]] matches.”
- [github] “When using a baseline, gitleaks will ignore any old findings that are present in the baseline.”
- [github] “After running the detect command with the --baseline-path parameter, report output (findings.json) will only contain new issues.”
Not comparable on these axes
ai-native userPlug MCP servers into this product so it can use their tools
weight 3 · not comparableSemgrepnone0/10Evidence shows Semgrep exposes itself as an MCP server (semgrep-probe-3) so other agents can call its scanning tools, but there is no evidence that Semgrep itself can consume/plug in external MCP servers to use their tools — no client-side MCP integration is documented anywhere in the docs, CLI reference, or platform API pages.
- [probe] “official MCP server documented at https://docs.semgrep.dev/mcp”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep AppSec Platform, and list p…”
ai-native userConnect an agent via an official MCP server
weight 3 · not comparableSemgrep is not itself an agent, so a first-party MCP server for connecting external agents is a fair axis, and evidence confirms one exists at docs.semgrep.dev/mcp. However, the evidence pack only shows the URL's existence via a probe with no detail on the tools/capabilities exposed or independent corroboration. Missing for 10: detailed documentation of what MCP tools/resources are exposed, setup instructions, and independent/hands-on confirmation of usage.
- [probe] “official MCP server documented at https://docs.semgrep.dev/mcp”
ai-native userIssue scoped/least-privilege API credentials for an agent
weight 2 · not comparableSemgrepnone0/10Evidence shows Semgrep AppSec Platform has an API for listing deployments/findings/projects, but there is no mention of scoped or least-privilege API tokens/credentials designed for agent use, nor any granular permission/role system for API keys.
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep AppSec Platform, and list p…”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep”
ai-native userBuild against official SDKs
weight 2 · not comparableSemgrepnone0/10The evidence shows Semgrep offers a CLI, a REST API for the AppSec Platform, and an MCP server, but nowhere is an official client SDK (e.g., Python/JS/Go library for programmatic integration) documented or referenced.
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep AppSec Platform, and list p…”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.semgrep.dev/openapi.json, https://docs.semgrep.dev/swagger.json, https://docs.semgrep.d…”
- [probe] “official CLI documented at https://docs.semgrep.dev/getting-started/cli”
ai-native userDelegate tasks to a built-in AI assistant inside the product
weight 3 · not comparableSemgrep ships 'Semgrep Assistant', a built-in AI feature that performs AI-powered detection of complex logic flaws, contextual post-processing to reduce noise, and combines AI reasoning with rule-based analysis for detection/triage/remediation, which functions as a task-delegable AI assistant within the product. However, this is scoped to security triage/detection only, not a general-purpose conversational assistant, and there's no independent hands-on account confirming quality of delegation. Missing for 10: evidence of a general chat/agent interface for arbitrary task delegation, independent/hands-on validation of Assistant's outputs, and detail on how users interact with/invoke it beyond marketing copy.
- [claimed-docs] “With AI-Powered Detection, you can automatically identify complex business logic flaws, such as IDORs and broken authorization.”
- [github] “Contextual post-processing of findings with Semgrep Assistant (AI) to further reduce noise by ~20%”
- [claimed-docs] “Scan and fix AI-generated code the moment it's written”
- [claimed-docs] “Combine AI reasoning with rule-based analysis for detection, triage, and remediation”
ai-native userOperate the product with natural-language commands
weight 2 · not comparableSemgrep is fundamentally a CLI/rule-based SAST tool; there's no documented natural-language command interface for the core product. The only relevant hook is a documented MCP server (semgrep-probe-3) which would let an AI agent invoke Semgrep via natural language, plus marketing mentions of 'AI reasoning' combined with rule-based detection (semgrep-docs-47/48), but no detail on what commands/actions are exposed or how they map from NL input. missing for 10: documented list of MCP tools/actions, evidence of actual natural-language command usage, hands-on confirmation that AI-native NL control works end-to-end.
- [probe] “official MCP server documented at https://docs.semgrep.dev/mcp”
- [claimed-docs] “Scan and fix AI-generated code the moment it's written”
- [claimed-docs] “Combine AI reasoning with rule-based analysis for detection, triage, and remediation”
- [github] “Contextual post-processing of findings with Semgrep Assistant (AI) to further reduce noise by ~20%”
Gitleaksn/aGitleaks is a CLI secret-scanning tool operated via fixed subcommands and flags, not through natural-language instructions; no evidence of NL interface, and the category (a static analysis scanner) does not conceivably support conversational/agentic command input as a core product axis.
ai-native userTest against a sandbox environment without touching production data
weight 1 · not comparableSemgrepn/aSemgrep is a static code analysis/SAST tool that scans source repositories and dependency manifests, not a runtime agent that interacts with live production systems or data; the sandbox-vs-production distinction is not a meaningful axis for this kind of product.
ai-native userVersion, review, and roll back my automations
weight 1 · not comparableSemgrepnone0/10Semgrep's evidence covers rule creation, testing, private-rule publishing, and CI integration, but nothing describes version history, review workflows, or rollback of rules/policies within Semgrep itself (rules are just YAML files presumably managed via external git, not a documented Semgrep versioning feature). Missing for 10: any documentation of rule/version history, approval/review workflow for rule changes, or a rollback mechanism in the Semgrep AppSec Platform.
- [claimed-docs] “Users with Semgrep Code's Team or Enterprise tier can publish rules to the Semgrep Registry as private rules that are not visible to those o…”
- [claimed-docs] “Semgrep provides a testing mechanism for your rules. You can write code and provide annotations to let Semgrep know where you are or aren't …”
- [claimed-docs] “you can write custom rules to determine what Semgrep detects in your repositories”
devops-leadScan container images for OS-package and application-layer vulnerabilities before deploying them
weight 3 · not comparableSemgrepnone0/10The evidence pack covers Semgrep Code (SAST), Secrets, and Supply Chain (dependency/OSS SCA) scanning of source repositories, CI pipelines, and manifests, but contains no mention of scanning container images or detecting OS-package vulnerabilities inside image layers — a capability offered by dedicated container scanners. Since Semgrep explicitly compares itself to AppSec competitors (Checkmarx, Snyk) that do offer this, the axis is a fair comparison point but no evidence shows Semgrep delivers it.
- [claimed-docs] “Semgrep Supply Chain is a software composition analysis (SCA) tool that detects security vulnerabilities in your codebase introduced by open…”
- [claimed-docs] “Generate reports and software bills of materials (SBOM) that provide a complete inventory of your open source components”
- [claimed-docs] “Supply Chain's Dynamic Dependency Resolution provides a complete inventory of your project's dependencies using a combination of manifest pa…”
- [claimed-docs] “Semgrep Secrets scans code to detect exposed API keys, passwords, and other credentials.”
devops-leadScan Terraform, Kubernetes, and other IaC files for security misconfigurations
weight 2 · not comparableSemgrep's docs mention that rules can be written to 'scan configuration files' as one use case (docs-21/35), which implies some IaC coverage, but the evidence pack never explicitly names Terraform, Kubernetes, Dockerfile, or IaC misconfiguration scanning as a supported capability. missing for 10: explicit documentation of Terraform/Kubernetes/Dockerfile rule packs, dedicated IaC scanning mode or product tier, and any community/hands-on confirmation of IaC misconfiguration detection.
- [claimed-docs] “you can write rules that: Automate code review comments. Identify secure coding violations. Scan configuration files.”
- [claimed-docs] “Automate code review comments. * Identify secure coding violations. * Scan configuration files.”
- [claimed-docs] “Semgrep uses rules, which encapsulate pattern matching logic and data flow analysis, to scan your code for security issues, style violations…”
developerGet concrete upgrade paths or automated fix pull requests that remediate vulnerable dependencies
weight 2 · not comparableSemgrepnone0/10Semgrep Supply Chain (SCA) evidence covers dependency vulnerability detection, reachability analysis, SBOM generation, and malicious dependency detection, but nothing in the evidence pack describes generating concrete upgrade paths or automated fix pull requests for vulnerable dependencies. The --autofix flag ([semgrep-docs-38],[semgrep-docs-53]) applies to Semgrep Code's rule-defined fixes for SAST findings, not dependency remediation.
- [claimed-docs] “If there's a code pattern in the codebase that matches the vulnerability definition, the finding is flagged as reachable.”
- [claimed-docs] “Generate reports and software bills of materials (SBOM) that provide a complete inventory of your open source components”
- [claimed-docs] “Supply Chain's Dynamic Dependency Resolution provides a complete inventory of your project's dependencies using a combination of manifest pa…”
- [claimed-docs] “Detect malicious dependencies associated with Supply Chain attacks”
- [claimed-docs] “Semgrep Supply Chain is a software composition analysis (SCA) tool that detects security vulnerabilities in your codebase introduced by open…”
- [claimed-docs] “You can apply the Rule-defined fix directly to the file using the `--autofix` flag.”
Gitleaksn/aGitleaks is a secrets-detection tool that scans for hardcoded credentials; it does not analyze software dependencies for known vulnerabilities (SCA) and has no concept of dependency upgrade paths or fix PRs. This story belongs to the dependency-SCA product category, not a secrets scanner.
developerScan my dependency manifests and lockfiles for packages with known vulnerabilities
weight 3 · not comparableSemgrep Supply Chain is explicitly documented as an SCA tool that scans manifests/lockfiles, resolves dependency inventories, flags reachable vulnerabilities, detects malicious packages, and generates SBOMs (semgrep-docs-11,12,13,23,29,55). This directly matches the story of scanning dependency manifests/lockfiles for known vulnerabilities. Missing for 10: independent/hands-on community validation of SCA accuracy or usability (community evidence only covers SAST rule-writing, not the SCA/dependency-scanning feature), and one community comment (semgrep-comm-12) notes SCA isn't open-source and may require uploading data, a caveat not fully addressed in docs.
- [claimed-docs] “If there's a code pattern in the codebase that matches the vulnerability definition, the finding is flagged as reachable.”
- [claimed-docs] “Generate reports and software bills of materials (SBOM) that provide a complete inventory of your open source components”
- [claimed-docs] “Supply Chain's Dynamic Dependency Resolution provides a complete inventory of your project's dependencies using a combination of manifest pa…”
- [claimed-docs] “Detect malicious dependencies associated with Supply Chain attacks”
- [claimed-docs] “Semgrep Supply Chain is a software composition analysis (SCA) tool that detects security vulnerabilities in your codebase introduced by open…”
- [claimed-docs] “Support the enforcement of your business’ open source package licensing requirements”
- [claimed-docs] “Semgrep Supply Chain is a software composition analysis (SCA) tool that detects security vulnerabilities in”
- [community] “Regarding Semgrep Supply Chain: "This is not open source, though? It does make a big difference for some whether you're able to run the chec…”
security-engineerPrioritize dependency alerts by whether the vulnerable code is actually reachable from my code
weight 2 · not comparableSemgrep Supply Chain explicitly implements reachability analysis, flagging findings as reachable when a matching code pattern exists in the codebase, which directly supports prioritizing dependency alerts by reachability. However, evidence lacks detail on how reachability is surfaced in triage workflows (e.g., filtering/sorting UI, PR gating specifically by reachability) and no independent/hands-on verification of reachability accuracy is present. missing for 10: evidence of UI/workflow for filtering or sorting alerts by reachability status, independent validation of reachability detection accuracy, detail on false negative/positive rates for reachability analysis.
- [claimed-docs] “If there's a code pattern in the codebase that matches the vulnerability definition, the finding is flagged as reachable.”
- [claimed-docs] “If there’s a code pattern in the codebase that matches the vulnerability definition, the finding is flagged as reachable.”
- [claimed-docs] “Semgrep Supply Chain is a software composition analysis (SCA) tool that detects security vulnerabilities in your codebase introduced by open…”
- [claimed-docs] “Supply Chain's Dynamic Dependency Resolution provides a complete inventory of your project's dependencies using a combination of manifest pa…”
Gitleaksn/aGitleaks is a secrets-detection tool that scans git history, files, and streams for hardcoded credentials; it has no dependency/SCA vulnerability scanning or code-reachability analysis capability. Reachability-based prioritization of dependency alerts is a different product category (SCA tooling) and is a category error for this product.
ai-native userDo everything through the API that I can do in the UI
weight 2 · not comparableSemgrep AppSec Platform ships an API for listing deployments, projects and findings (semgrep-docs-17/59), and CLI/CI features (SARIF export, autofix, rule testing) give some parity with UI actions, but there is no evidence of a comprehensive OpenAPI spec (probe finds 404s at all openapi.json paths) or that triage actions, rule creation/management, policy configuration, or dashboard-only workflows are all exposed via API. missing for 10: documented OpenAPI/API reference covering full UI functionality, API endpoints for rule authoring/publishing and triage actions, independent confirmation that all UI capabilities are API-accessible.
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep AppSec Platform, and list p…”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.semgrep.dev/openapi.json, https://docs.semgrep.dev/swagger.json, https://docs.semgrep.d…”
- [claimed-docs] “Triage findings * Send alerts and notifications or create tickets to track findings identified by Semgrep Code”
- [claimed-docs] “Users with Semgrep Code's Team or Enterprise tier can publish rules to the Semgrep Registry as private rules that are not visible to those o…”
Gitleaksn/aGitleaks is a CLI/GitHub Action tool with no web UI or API surface to compare against; probes confirm no OpenAPI/llms.txt exposed, and all documented interaction is via CLI commands or CI action config, not a UI/API pair.
ai-native userExport all of my data in open formats and leave
weight 3 · not comparableSemgrep supports open-format export of scan results (SARIF) and a platform API to gather findings/projects, plus local CLI scanning that never uploads code by default (dry-run, no login required), which supports data portability and avoiding lock-in. However there's no documented comprehensive 'export all your data' feature covering full platform history, configs, and org data in one open bundle. Missing for 10: explicit bulk/account-level data export documentation, confirmation of open formats beyond SARIF (e.g., JSON schema docs), and independent verification of a full data portability workflow.
- [claimed-docs] “To export the results to a SARIF file:”
- [claimed-docs] “To export the results to a SARIF file: semgrep ci --sarif --sarif-output=semgrep.sarif”
- [claimed-docs] “The `--dry-run` flag ensures that your scans are not uploaded to the Semgrep web app.”
- [claimed-docs] “You do **not** need to be logged in to run a scan.”
- [claimed-docs] “Semgrep AppSec Platform provides an API that enables you to list deployments, gather findings created by Semgrep”
- [github] “Semgrep analyzes code locally on your computer or in your build environment: by default, code is never upload”
Gitleaksn/aGitleaks is a local/CLI secret-scanning tool with no proprietary data store or SaaS account holding user data — findings and configs are already local, open-format files (JSON/TOML), so there is no vendor lock-in or 'export and leave' scenario to evaluate; this axis is a category error for this kind of tool.
ai-native userChoose where my data is stored (region/residency)
weight 2 · not comparableSemgrepnone0/10The evidence discusses local scanning (data never uploaded by default) and CLI dry-run options, but there is no mention of data residency, regional hosting options, or ability to choose storage location for the Semgrep AppSec Platform's cloud data. missing for 10: explicit region/residency selection controls, documentation of where cloud-stored findings/data reside, any enterprise data-residency options.
- [github] “Semgrep analyzes code locally on your computer or in your build environment: by default, code is never upload”
- [claimed-docs] “The `--dry-run` flag ensures that your scans are not uploaded to the Semgrep web app.”
ai-native userPrevent my data from being used to train AI models
weight 3 · not comparableSemgrep's docs and GitHub note that scanning runs locally by default and code is never uploaded, and the --dry-run flag guarantees no upload to the Semgrep web app, which operationally limits data exposure that could feed model training. However, there is no explicit privacy policy or statement addressing whether data sent to Semgrep's cloud/AI features (e.g., AI-Powered Detection, Semgrep Assistant) is used for AI training, nor any opt-out mechanism specific to AI training. Missing for 10: explicit AI-training data-use policy, opt-out toggle for AI features, and independent confirmation of this guarantee.
- [github] “Semgrep analyzes code locally on your computer or in your build environment: by default, code is never upload”
- [claimed-docs] “The `--dry-run` flag ensures that your scans are not uploaded to the Semgrep web app.”
- [claimed-docs] “The --dry-run flag ensures that your scans are not uploaded to the Semgrep web app.”
- [claimed-docs] “You do **not** need to be logged in to run a scan.”
ai-native userControl data retention and deletion
weight 2 · not comparableDocs show privacy-preserving defaults (local-only scanning, --dry-run to avoid upload, no login required), giving users some control over whether data leaves their machine, but there is no evidence of explicit data retention periods, deletion mechanisms, or account/data-erasure controls for data that is uploaded to the Semgrep AppSec Platform. missing for 10: documented retention policy, explicit deletion/erasure controls for platform-stored findings, GDPR/CCPA data handling commitments.
- [github] “Semgrep analyzes code locally on your computer or in your build environment: by default, code is never upload”
- [claimed-docs] “The `--dry-run` flag ensures that your scans are not uploaded to the Semgrep web app.”
- [claimed-docs] “The --dry-run flag ensures that your scans are not uploaded to the Semgrep web app.”
- [claimed-docs] “You do **not** need to be logged in to run a scan.”
Gitleaksn/aGitleaks is a local/CI scanning CLI (and GitHub Action) that does not collect or retain user data on vendor servers; there is no data-retention/deletion surface to control, so this privacy-posture axis does not apply to this product category.
- [github] “The `git` command lets you scan local git repos.”
- [github] “The `dir` (aliases include `files`, `directory`) command lets you scan directories and files.”
- [github] “You can also stream data to gitleaks with the `stdin` command.”
- [claimed-docs] “Enable **Gitleaks-Action** in your GitHub workflows to be alerted when secrets are leaked as soon as they happen.”
ai-native userHave AI draft remediation pull requests for security findings that I review and merge
weight 2 · not comparableSemgrep offers rule-defined autofix (--autofix), AI-powered detection/triage/remediation messaging ('Combine AI reasoning with rule-based analysis for detection, triage, and remediation'), and GitHub PR comment automation, but there is no documented evidence of an end-to-end AI-drafted pull request workflow for remediation that a user reviews and merges. missing for 10: evidence of automatic PR/MR creation with AI-generated code fixes, a documented workflow showing AI drafting a remediation diff as a mergeable PR, and independent/hands-on confirmation of this remediation-PR feature working.
- [claimed-docs] “You can apply the Rule-defined fix directly to the file using the `--autofix` flag.”
- [claimed-docs] “Combine AI reasoning with rule-based analysis for detection, triage, and remediation”
- [claimed-docs] “You can use Semgrep and its GitHub integration to automate PR comments that you frequently make in code reviews.”
- [claimed-docs] “informs developers of valid secrets in their PRs and MRs by posting comments directly”
security-engineerDetect taint-style vulnerabilities that flow across files and function boundaries
weight 2 · not comparableSemgrep explicitly documents taint tracking/taint mode for catching injection-style vulnerabilities (semgrep-docs-41, semgrep-docs-58) and separately documents cross-file (interfile) analysis via Semgrep Code (semgrep-docs-2, semgrep-docs-32) plus interprocedural/interfile constant propagation (semgrep-docs-42), together supporting taint flows across files and function boundaries. Missing for 10: no independent/hands-on evidence specifically validating cross-file taint tracking accuracy (community evidence only covers simpler pattern-matching bypasses, not taint-mode cross-file cases).
- [claimed-docs] “Taint tracking (known also as taint analysis) enables you to write simple rules that catch complex injection bugs, such as those that can re…”
- [claimed-docs] “Semgrep supports taint analysis, also known as taint tracking, through taint rules.”
- [claimed-docs] “To turn on cross-file analysis, which allows you to detect vulnerabilities across files and folders”
- [claimed-docs] “Learn how to set up Semgrep, scan your project for security issues using Semgrep Code’s interfile analysis, and view your findings in the CL…”
- [claimed-docs] “Semgrep AppSec Platform supports interprocedural (cross-function), interfile (cross-file) constant propagation.”
developerRun static analysis that finds vulnerability classes like injection and XSS in my source code
weight 3 · not comparableSemgrep explicitly documents SAST scanning with taint tracking designed to catch injection and XSS bugs (semgrep-docs-41, semgrep-docs-58), backed by a CLI scan workflow (semgrep-docs-19, semgrep-docs-27) and corroborated by community use for security lint rules including injection detection (semgrep-comm-1, semgrep-comm-7). Missing for 10: independent benchmark data on vulnerability-class detection rates, and community reports show simple evasions (e.g., function aliasing) can bypass naive rules (semgrep-comm-6, semgrep-comm-10), indicating real-world efficacy caveats.
- [claimed-docs] “Taint tracking (known also as taint analysis) enables you to write simple rules that catch complex injection bugs, such as those that can re…”
- [claimed-docs] “Semgrep supports taint analysis, also known as taint tracking, through taint rules.”
- [claimed-docs] “navigate to the root of your project, and run your first scan: semgrep ci”
- [claimed-docs] “semgrep scan - This is the recommended command for scanning local codebases or scanning a project when you don't have a Semgrep account”
- [community] “As a security consultant, I write custom Semgrep rules to match antipatterns unique to a codebase (e.g., controllers missing an authorizatio…”
- [community] “We've used Semgrep for Zulip's Python codebase for months and really appreciate the semantic checks, especially for security lint rules - it…”
- [community] “A simple Semgrep 'no-prints' rule can be trivially bypassed with a workaround like `import builtins; builtins.print("whee")`, showing the to…”
- [community] “Tried the Semgrep editor demo searching for exec(...) in Python; it failed to catch a simple aliasing workaround: `not_exec = exec; not_exec…”
Gitleaksn/aGitleaks is exclusively a secrets-detection tool (passwords, API keys, tokens); it does not perform SAST for vulnerability classes like injection or XSS, which is an entirely different product category.
- [github] “Gitleaks is a tool for detecting secrets like passwords, API keys, and tokens in git repos, files, and whatever else you wanna throw at it v…”
devops-leadDetect the licenses of my dependencies and enforce a license policy in scans
weight 1 · not comparableSemgrepnone0/10Semgrep Supply Chain evidence focuses on SCA vulnerability detection, reachability analysis, malicious dependency detection, and SBOM generation, but nothing in the pack mentions license detection or license-policy enforcement for dependencies.
- [claimed-docs] “Generate reports and software bills of materials (SBOM) that provide a complete inventory of your open source components”
- [claimed-docs] “Supply Chain's Dynamic Dependency Resolution provides a complete inventory of your project's dependencies using a combination of manifest pa…”
- [claimed-docs] “Detect malicious dependencies associated with Supply Chain attacks”
- [claimed-docs] “Semgrep Supply Chain is a software composition analysis (SCA) tool that detects security vulnerabilities in your codebase introduced by open…”
security-engineerGenerate a software bill of materials (SPDX or CycloneDX) for my project or image
weight 2 · not comparableSemgrep Supply Chain docs explicitly state it can 'generate reports and software bills of materials (SBOM)' as part of dependency inventory, confirming the capability exists, but this is gated behind the paid Supply Chain/AppSec Platform tier and no evidence specifies SPDX/CycloneDX format support, CLI flags, or container image SBOM generation. missing for 10: confirmation of specific SPDX/CycloneDX output formats, CLI command/flag documentation for SBOM export, container/image scanning SBOM support, and independent/hands-on corroboration of SBOM generation working as described.
- [claimed-docs] “Generate reports and software bills of materials (SBOM) that provide a complete inventory of your open source components”
- [claimed-docs] “Supply Chain's Dynamic Dependency Resolution provides a complete inventory of your project's dependencies using a combination of manifest pa…”
- [claimed-docs] “Semgrep Supply Chain is a software composition analysis (SCA) tool that detects security vulnerabilities in your codebase introduced by open…”
- [claimed-docs] “Support the enforcement of your business’ open source package licensing requirements”