SAST · Secrets · SCA
Real findings, not noise.
Built for AI agents.
A free, Semgrep-compatible security scanner. It combines tree-sitter AST analysis and cross-file taint tracking, 270+ secret detectors, and software composition analysis to find real vulns, leaked secrets, and vulnerable dependencies in a single pass. A verified autofix harness then closes them out, all from one binary that drops into CI or runs inside your coding agent over MCP.
$ npx @mondoohq/xgrep scan ./src287 files · 1,000+ rules · secrets onCRITICAL sql-injection src/db/query.py:42 request.args → cursor.executeHIGH aws-access-key src/config.py:11WARNING weak-crypto src/auth/hash.py:283 findings · run `xgrep fix` to remediate, or `xgrep deps why` to trace dependencies
Three scanners. One tool.
xgrep unifies static analysis, secret detection, and software composition analysis — no separate tools, no runtime, no warm-up.
Tree-sitter AST matching with cross-file taint analysis. Semgrep-compatible, accuracy-first.
270+ detectors across 150+ providers, with deep git-history scanning and live validation.
Dependency inventory, reachability, and CVE matching in the same pass, with CycloneDX/SPDX SBOM and CBOM included.
SAST that reports what's actually exploitable.
xgrep parses your code with tree-sitter and traces untrusted input from source to sink across files and functions. When it flags a vulnerability, it's real — not a style nit.
Vulnerability coverage
Every rule is mapped to CWE and the OWASP Top 10, and every finding ships with code context and remediation guidance. Infrastructure as code is covered too — Terraform/HCL, Dockerfiles, and GitHub Actions workflows.
rules:- id: sql-injectionpatterns:- pattern: cursor.execute($QUERY)- pattern-not: cursor.execute("...")message: Possible SQL injection via string formattingseverity: CRITICALlanguages: [python]
33 languages supported
Catch secrets before they ship — and the ones already leaked.
Secret scanning runs on every scan. 270+ provider-specific detectors match real key formats — prefixes, lengths, checksums — instead of guessing on entropy, so you get signal, not noise.
# Find secrets across full git history, with commit provenancexgrep scan --history --category secrets .# Decode base64/hex/gzip payloads to catch hidden keysxgrep scan --decode --category secrets .# Confirm which leaked keys are still livexgrep scan --validate --category secrets .
Well-known placeholder values (like AWS’s documentation keys) are filtered out, so examples never page you. Secrets are reported even in test paths, where real credentials most often slip through.
Software composition analysis, in the same pass.
xgrep inventories your dependencies straight from lockfiles, traces which of them your code actually reaches, and flags the vulnerable ones. A single xgrep scan covers your first-party code and your dependencies at once.
# A standards-compliant SBOM, straight from lockfilesxgrep sbom --format cyclonedx-json -o sbom.json .# Which of our own code actually reaches this package?xgrep deps why --package requests .# SAST plus dependency CVEs, in a single passxgrep scan .
Inventory the cryptography in your code for post-quantum migration. Run xgrep sbom --cbom . for a CycloneDX 1.6 CBOM.
Your CI pipeline shouldn't wait for your scanner.
No interpreter to boot, no packages to install, no warm-up, and no AI agent or hosted backend required. SAST, secrets, and SCA all run from one binary the moment CI calls it.
Findings your agent can actually fix, verified.
Discovery is only half the job. xgrep hands your agent a fix contract for each finding and verifies the result, so the loop closes with a real remediation instead of a suggestion. scan discovers and never mutates source; fix is the only command that writes.
A fix passes a parse-clean gate, an atomic write, and a re-scan gate that rejects it unless it actually cleared the finding without introducing an equal or higher severity issue. xgrep never writes an unverified fix.
Agents drive the same loop over MCP as fix_verify and fix_apply. The interactive TUI (bare xgrep fix) walks findings, delegates assisted fixes to your coding agent, pulls graph context with g, and opens a pull request for applied fixes with P.
# Preview diffs without touching diskxgrep scan --json ./src | xgrep fix verify# Write the accepted editsxgrep scan --json ./src | xgrep fix apply# Or review every finding in the interactive TUIxgrep fix
Built for the AI-native security workflow.
Traditional SAST dumps 500 findings. Your team ignores 400 of them. xgrep lets AI agents triage with full code context.
Traditional SAST
AI-Native SAST
# Install the bundled skills into Claude Codenpx @mondoohq/xgrep skill install
“xgrep does not embed an LLM. It gives your agent skills and tools.”
Works with your AI agent.
xgrep integrates as a backend skill for any coding agent — via MCP, CLI, or direct tool calls. Your agent scans, traces, and fixes without leaving the session.
First scan in 30 seconds.
Add xgrep as a backend skill for your coding agent, or run it directly.
Install as agent skill
# Claude Code — install the bundled skills# (triage, inspect, rule-creator, remediate, secure-coding)npx @mondoohq/xgrep skill install# Cursor / Windsurf / any MCP client{"mcpServers": {"xgrep": {"command": "npx","args": ["@mondoohq/xgrep", "mcp"]}}}
Run directly
# npx (zero install)npx @mondoohq/xgrep scan ./src# Or install globallynpm install -g @mondoohq/xgrep# Rules are built in — just point at your codexgrep scan ./src
Common commands
# Scan for vulnerabilities and secretsxgrep scan .# Diff-aware scan in CI (auto-detects the provider)xgrep ci# Remediate findings with the verified autofix harnessxgrep fix# Generate a CycloneDX SBOM, or a Cryptography BOMxgrep sbom --format cyclonedx-json -o sbom.json .xgrep sbom --cbom .# Trace which of your code reaches a dependencyxgrep deps why --package requests .# Scan git history for leaked secretsxgrep scan --history --category secrets .# Output SARIF for GitHub Code Scanningxgrep scan --sarif -o results.sarif .
In your editor
The Mondoo VS Code extension runs xgrep’s language server for real-time, in-editor diagnostics, taint visualization, and quick fixes. Available on both the Visual Studio Marketplace and Open VSX (for VSCodium, Cursor, and Windsurf).