Skip to content
Graudit

Graudit

Category: SAST
License: Free (Open-Source, GPL-3.0)
Suphi Cankurt
Suphi Cankurt
+8 Years in AppSec
Updated February 4, 2026
4 min read
Key Takeaways
  • Graudit uses grep-based pattern matching with 26+ signature databases covering PHP, Python, Java, C, Ruby, JavaScript, and more.
  • Zero dependencies beyond POSIX tools (grep, sed) โ€” runs anywhere without installing runtimes, included in Kali Linux by default.
  • Open-source under GPL-3.0 with 1,700 GitHub stars, designed for quick manual code auditing rather than CI/CD pipelines.
  • Signature databases are plain text files that are easy to customize and extend for project-specific vulnerability patterns.

Graudit is a lightweight SAST tool built on grep and POSIX regular expressions. It scans codebases for security vulnerabilities using signature databases that match dangerous function calls and insecure patterns.

Graudit terminal scan output showing PHP codebase audit results with SQL injection in login.php, unsafe file upload in upload.php, and command execution in admin/exec.php highlighted as high-severity matches

A long-standing community-maintained scanner, Graudit has earned its place as a reconnaissance tool for security researchers. It is included by default in Kali Linux.

What is Graudit?

Graudit takes a simple approach to source code static analysis: rule-based pattern matching with grep. It runs on any POSIX system without compilation or setup, requires only standard utilities (grep, sed, awk, bash), and processes large codebases at near-disk speed.

The tool ships with 26+ signature databases for common web languages. Security researchers can create and modify rules using familiar regular expression syntax โ€” each database is a plain-text list of patterns that flag dangerous function calls (eval, system, exec), known weak crypto APIs, and credential-shaped strings. The trade-off is depth: Graudit treats source as text, so it cannot perform taint analysis on proprietary code, track variable bindings, or follow data flow across function boundaries the way semantic analyzers do. That makes it a fast triage layer, not a primary CI gate.

26+ Signature Databases
Curated patterns for PHP, Python, Java, C, Ruby, JavaScript, Perl, ASP, JSP, and more. Each database targets language-specific security issues like SQL injection, XSS, and command execution.
Zero Dependencies
Requires only standard POSIX utilities available on any Unix-like system. No package managers, no compilation, no runtime environments. Copy and scan.

What are Graudit’s key features?

FeatureDetails
Signature databases26 language/pattern databases
Detection methodPOSIX extended regular expressions via grep
DependenciesStandard POSIX utilities (grep, sed, awk, bash)
Installationgit clone, apt (Kali Linux), brew (macOS), make install
Output modesColor, colorblind (-b), vim-friendly (-L), no-banner (-B)
Latest versionv4.0 (December 2025)
LicenseGPL-3.0
Contributors13

Signature databases

All 26 databases included with Graudit:

CategoryDatabases
Web languagesphp, python, ruby, perl, js, typescript, asp, jsp
Compiled languagesc, java, dotnet, go, scala, eiffel, nim
Legacy/specializedcobol, actionscript, ios, android
Cross-language patternsxss, sql, spsqli, secrets, strings, exec, default, fruit
Reconnaissance tool
Graudit is a first-pass scanner that identifies obvious security issues for further investigation. It cannot track data flow, understand variable scope, or distinguish safe usages from vulnerable ones. Expect false positives that require manual review.

How do I get started with Graudit?

1
Install โ€” Clone the repo with git clone https://github.com/wireghoul/graudit.git, or install via apt install graudit on Kali Linux or brew install graudit on macOS.
2
Scan a project โ€” Run graudit -d php /path/to/project to scan with a specific language database. Use -l to list available databases.
3
Review findings โ€” Graudit shows matches with file paths and line numbers. Use -A 3 for context lines around matches or -B for machine-readable output.
4
Write custom rules โ€” Create a text file with one regex pattern per line. Use it with graudit -d /path/to/custom.db /path/to/project.
Graudit terminal output showing the list of 26 available signature databases grouped by category (web languages, compiled, cross-language, specialized) followed by a secrets database scan that detects hardcoded API keys and passwords

Graudit vs modern SAST tools

Graudit’s regex-database approach is fundamentally different from modern dataflow-based scanners, and the right framing matters when you compare them.

Semgrep runs on an abstract syntax tree (AST), so a Semgrep rule for eval() understands the code structure around the call โ€” variable bindings, function boundaries, and import context. Graudit treats the same line as text and matches on the regex eval\s*\(. Semgrep produces fewer false positives but takes longer to run; Graudit is near-instant but flags every textual occurrence including comments and strings.

Snyk Code and GitHub CodeQL go further โ€” they perform interprocedural taint analysis that traces tainted input from a source (HTTP parameter) to a sink (SQL query) across function boundaries and files. That class of finding is impossible to express in a Graudit signature, because the relevant code patterns aren’t on adjacent lines.

The honest framing for Graudit in 2026: a recon-grade source code static analysis scanner. Use it for fast first-pass auditing of unfamiliar codebases, signature-driven secret hunts, or environments where installing a runtime is impossible. For CI gates and false-positive-sensitive workflows, pair it with a semantic analyzer or replace it with one outright.

When to use Graudit

Graudit works best as a fast first-pass scanner for security researchers auditing unfamiliar codebases. It catches common vulnerabilities without any setup overhead.

For production security programs, pair Graudit with semantic analysis tools like Semgrep or CodeQL that understand code structure and can track data flow.

Best for
Security researchers who need a fast, zero-dependency reconnaissance scanner for quick code audits.

Graudit pricing and licensing

Graudit is free and open source under the GPL-3.0 license. There is no paid tier, no SaaS layer, and no commercial fork: you clone github.com/wireghoul/graudit , drop the graudit shell script onto your $PATH, and start scanning. The signature databases ship inside the repo as plain .db files, which keeps the scanner self-contained and easy to audit.

Because the tool is grep-driven and dependency-free, deployment is trivial in air-gapped or container-restricted environments. Most teams treat Graudit as a complementary recon tool alongside a primary SAST scanner, not as a paid replacement for one.

Frequently Asked Questions

What is Graudit?
Graudit is a lightweight grep-based source code auditing tool with 26+ signature databases for PHP, Python, Java, C, Ruby, JavaScript, and more. It uses POSIX extended regular expressions to match dangerous function calls and insecure patterns.
Is Graudit free?
Yes. Graudit is free and open-source under the GPL-3.0 license. It requires only standard POSIX utilities (grep, sed, awk, bash) and is included by default in Kali Linux.
How does Graudit compare to Semgrep?
Graudit uses simple grep-based pattern matching, while Semgrep uses semantic analysis that understands code structure. Graudit is faster to set up and runs on any POSIX system, but produces more false positives and cannot track data flow. Graudit is best as a quick reconnaissance scanner, not a replacement for semantic analysis tools.