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 vulnerabilities, 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 · 2,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 interpreter, 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. It's built to report exploitable issues, not style nits.
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]
40 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 instead of guessing on entropy: prefixes, lengths, checksums. 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. xgrep can also produce an AI-BOM of the models, agents and AI frameworks your code uses.
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
Guard hooks for Claude Code and Codex review every file the agent writes and fix new issues in the same turn.
# 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.
In the Mondoo platform
The same engine, across every repository
xgrep, our Semgrep-compatible SAST built for AI agents, runs in the same platform: it powers Code Inspection in Mondoo. Connect your GitHub, GitLab or Azure DevOps organization, and every repository is scanned, new ones included, with no agent and no CI change. Keep xgrep in your pipeline too if you block pull requests on findings. Code is analyzed locally, and only the findings flow into Mondoo, next to your endpoint, server, cloud and SaaS risk.
One supply chain view.
Code, secrets, vulnerable dependencies, malicious packages and infrastructure as code for every repository, in one place.
Fixes at the source.
The same deterministic, assisted and advisory fixes, delivered as pull requests and verified by rescan.
Run it yourself or as a service.
Code Inspection is part of the Mondoo platform and the Agentic Managed Vulnerability Service.
Fix Now. Fix Forever.
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 and the IntelliJ plugin run xgrep’s language server for real-time, in-editor diagnostics, taint visualization and fixes. The VS Code extension is available on the Visual Studio Marketplace and Open VSX (for VSCodium, Cursor and Windsurf).