| Static analysis |
| SASTReasoning, not just patterns |
✓CPG plus LLM reasoning at every node |
✓rule/pattern-based; Pro Engine adds cross-file dataflow plus 20,000+ Pro rules; AI detection, triage, and remediation built into every tier through Semgrep Multimodal, metered by AI credits |
| SCA + reachabilityReachable CVEs first |
✓advisory to function to real call chain, then confirms reachability by exploiting it |
✓Supply Chain prioritizes reachable dependency vulns |
| Secret scanningValidated secret detection |
✓40+ types + LLM context pass; masking |
✓semantic + entropy analysis with validation |
| AI false-positive triageLess noise to review |
✓ |
✓ |
| Dynamic testing & exploitation |
| Dynamic pentest of the running appAttacks the live app |
✓autonomous agents exploit the live app in a real browser |
✕static only; DAST needs a third-party integration |
| Black-box testingExternal attacker view, zero knowledge |
✓zero-knowledge agents attack from outside, no code access |
✕static analysis only |
| Gray-box testingBlack-box plus provided context and steerability |
✓optional credentials, focus areas, business context, and OpenAPI specs steer the agents |
✕ |
| Exploit validation / PoCProof, not theory |
✓every pentest finding exploited, with a reproducible PoC; static findings reported separately |
✕findings are candidates to triage |
| Business-logic testingInvariant discovery + PoC |
✓invariant discovery + violation + PoC |
Partialcustom rules, plus AI IDOR/broken-auth detection via Semgrep Multimodal (launched 2026); no dynamic exploit of the running app |
| Correlation & remediation |
| Static-dynamic correlationThe source map directs the pentest |
✓static map directs the pentest; one correlated result set |
✕ |
| Findings system of recordOne canonical record |
✓one canonical, deduplicated finding per vuln across tools, with SLA tracking and bidirectional Jira sync |
Partialconsolidated within its own suite; no cross-vendor canonical record or remediation-SLA policy |
| Deployment & trust |
| Runs air-gappedEngine runs in your perimeter |
✓on-prem or self-hosted in your own perimeter; Keygraph never receives your source or scan results; inference goes straight to the model endpoint you configure, so a full air-gap needs a local model endpoint |
Partialself-hosts, but Semgrep Multimodal sends code to OpenAI and Bedrock by default for AI features |
| BYOK: model traffic stays yoursYour key, your gateway |
✓your own key, model, or AI gateway, with usage tracking: Anthropic, OpenAI, xAI, AWS Bedrock, an OpenAI- or Anthropic-compatible gateway such as a self-hosted LiteLLM, or a local model through Ollama, vLLM, or LM Studio |
PartialOpenAI and Bedrock by default; BYO key (OpenAI, Bedrock, Azure OpenAI, Gemini, xAI) on Enterprise only, and it drops Semgrep's fine-tuned models; no fully air-gapped inference |
| Open source & pricing |
| Open sourceRead it before you buy |
✓Shannon, AGPL-3.0, 48k+ stars |
PartialCE engine is LGPL-2.1, but rules moved proprietary (Dec 2024), prompting the OpenGrep fork |
| Pricing (public, sourced)What you actually pay |
Pro from $50 / developer / mo; Enterprise custom. Shannon (OSS) is free |
Free ≤10 contributors / 10 private repos; Teams: Code $30, Supply Chain $30, Secrets $15 per contributor / mo (as of 2026-09-18) |