Skip to content
DeepAudit

DeepAudit

Category: SAST
License: AGPL-3.0
Suphi Cankurt
Suphi Cankurt
+8 Years in AppSec
Updated July 20, 2026
4 min read
Key Takeaways
  • DeepAudit runs 4 cooperating agents (Orchestrator, Recon, Analysis, Verification), replacing the single-pass rule scan with a planned audit workflow
  • DeepAudit’s Verification agent writes and executes exploit scripts in a Docker sandbox, retrying on failure, so only reproducible findings survive into the report
  • DeepAudit supports 11 LLM providers including Ollama, so source code can stay inside the network for teams that cannot send it to a hosted model
  • AGPL-3.0 license โ€” a copyleft obligation that matters if you plan to embed DeepAudit in a commercial product or SaaS offering
  • DeepAudit’s maintainers report 49 CVE identifiers and 6 GitHub security advisories across 17 open-source projects, from a closed-source internal build rather than the released open-source version

DeepAudit is an open-source SAST platform that replaces the single-pass rule scan with a multi-agent audit workflow.

Four agents plan the audit, map the attack surface, hunt vulnerabilities, then try to prove each one by running a PoC inside a Docker sandbox.

DeepAudit dashboard showing project count, audit tasks, issue-type distribution and code quality trend

The project sits at roughly 6,700 GitHub stars with 819 forks and 15 contributors, under an AGPL-3.0 license. It was previously published as XCodeReviewer and rebuilt around the agent architecture in the v3.x line.

What is DeepAudit?

Rule-based scanners report every pattern match and leave the triage to you. DeepAudit inverts that: it treats the audit as a task to be planned, executed, and then verified before anything reaches the report.

The maintainers frame it against three failure modes of traditional SAST: false-positive volume, blindness to cross-file business logic, and no way to tell whether a finding is actually exploitable.

Verification is the part that distinguishes it. The Verification agent writes an exploit script, runs it in an isolated Docker container, and self-corrects on failure. Findings it cannot reproduce are dropped.

ComponentDetails
ArchitecturePython FastAPI backend, React 18 + TypeScript frontend, PostgreSQL, Redis
AgentsOrchestrator, Recon, Analysis, Verification
Analysis layerRAG over CWE/CVE knowledge base, Tree-sitter AST chunking, vector database
Wrapped scannersSemgrep, Bandit, Kunlun-M, Gitleaks, TruffleHog, npm audit, safety
VerificationPoC generation and execution in an isolated Docker sandbox
Vulnerability classes12 tracked types including SSRF, XXE, IDOR, insecure deserialization
Project sourcesGitHub, GitLab, Gitea import, or ZIP upload
ReportsPDF, Markdown, JSON export
LLM providers11 including OpenAI, Claude, Gemini, DeepSeek, Qwen, GLM-4, Ollama
LicenseAGPL-3.0, self-hosted

The audit workflow

The five stages run in sequence, each owned by a named agent.

StepStageAgentAction
1StrategyOrchestratorReads the task, identifies project type, builds an audit plan, dispatches subtasks
2ReconReconScans project structure, identifies frameworks, libraries and APIs, extracts entry points
3AnalysisAnalysisReviews code against the RAG knowledge base and AST analysis to surface candidate vulnerabilities
4VerificationVerificationWrites a PoC script and executes it in the Docker sandbox, self-correcting on failure
5ReportingOrchestratorAggregates findings, removes anything verification disproved, generates the report

The activity log exposes each agent’s reasoning as it runs, including which external scanner it decided to invoke and why.

DeepAudit agent activity log showing the Recon agent reasoning about project structure and dispatching semgrep_scan
Note
It orchestrates scanners rather than replacing them
DeepAudit does not attempt to reimplement static analysis. The Recon agent picks tools for the detected stack: semgrep_scan, bandit_scan for Python, gitleaks_scan for secrets, npm_audit for Node dependencies. The LLM layer then reasons across their combined output.

Architecture

The system is split into a multi-agent engine, a RAG pipeline, a security tool suite, and a Docker sandbox, with PostgreSQL underneath for persistence.

DeepAudit architecture diagram showing multi-agent system, RAG pipeline, security tool suite and Docker sandbox over PostgreSQL

The RAG pipeline chunks code with a Tree-sitter AST splitter, embeds it, and stores it in a vector database alongside CWE/CVE patterns and vulnerability signatures.

LLM provider support

DeepAudit treats provider choice as a deployment decision, not a compile-time one. Models are configured in the browser and switched without rebuilding the image.

GroupModels
InternationalOpenAI GPT-4o / GPT-4, Claude 3.5 Sonnet / Opus, Google Gemini Pro, DeepSeek V3
China-basedQwen, Zhipu GLM-4, Moonshot Kimi, ERNIE, MiniMax, Doubao
LocalOllama: Llama3, Qwen2.5, CodeLlama, DeepSeek-Coder, Codestral

The Ollama path is the one that matters for regulated teams. It keeps source code inside the network at the cost of whatever capability gap exists between your local model and a frontier one.

Reporting

Reports export to PDF, Markdown, or JSON. Each finding carries a severity, the affected line, an explanation, the vulnerable code, and a remediation suggestion.

DeepAudit PDF audit report showing critical findings for hardcoded credentials, weak hashing, SQL injection and command injection with code snippets

The interface and generated reports are Chinese by default, with output language configurable between zh-CN and en-US. An English README is maintained alongside the Chinese one.

Reported vulnerability discoveries

The maintainers report that a closed-source build of DeepAudit produced 49 CVE identifiers and 6 GitHub security advisories across 17 open-source projects.

The findings are credited to team members @lintsinghua and @ez-lbz , and the advisories themselves are public on NVD and GitHub. Named projects include Dataease, ZenTao PMS, PowerJob, JimuReport, and H2O-3.

Treat the number as a maintainer claim about an internal build rather than a benchmark of the released open-source version. The individual CVEs are verifiable; the attribution to a specific tool version is not.

Getting Started

Deployment is a single docker compose command against the published production compose file. It pulls prebuilt frontend, backend, and sandbox images, then serves the app on port 3000.

Full instructions are in the project README .

Two things to decide before the first run. Pick your LLM provider: Ollama if code cannot leave the network, a hosted API otherwise.

Then confirm Docker can pull and run the sandbox image, since PoC verification depends on it.

Source-based development needs Python 3.11+, Node.js 20+, PostgreSQL 15+, and Docker.

When to Use DeepAudit

It fits teams that want exploitability evidence rather than a longer findings list, and that can run an audit as a deliberate exercise instead of a per-commit gate.

The absence of CI/CD integration is the main constraint. Incremental PR auditing and agent-authored fix PRs are roadmap items, so today this runs as a self-hosted web application you point at an imported project.

The AGPL-3.0 license is the other thing to check early. It is fine for internal use, but the copyleft obligations bite if you plan to redistribute or offer it as a hosted service.

Tip
Best For
Security teams and consultants auditing a codebase deliberately, especially where source code cannot be sent to a hosted LLM and a local Ollama model is the requirement.

For rule-based scanning inside the pipeline, Semgrep covers the pattern-matching layer that DeepAudit invokes as one of its tools.

Note: Previously published as XCodeReviewer; the repository was renamed to DeepAudit and rebuilt around a multi-agent architecture in the v3.x line. The default branch is v3.0.0 โ€” the stale README on main still carries the old project name.

Frequently Asked Questions

Is DeepAudit free?
Yes. DeepAudit is released under AGPL-3.0 and self-hosted, so there is no license fee. You supply your own LLM access, which is where the running cost sits โ€” either a hosted API key or a local Ollama model. The AGPL copyleft terms apply if you distribute a modified version or offer it as a network service.
Is DeepAudit the same as XCodeReviewer?
Yes. DeepAudit is the current name of the project formerly published as XCodeReviewer, maintained on GitHub by lintsinghua. The repository was renamed and rebuilt around a four-agent architecture in the v3.x line. The stale README on the main branch still carries the old XCodeReviewer name, which is why both names still circulate.
How does DeepAudit differ from a traditional SAST scanner?
A rule-based scanner matches patterns and reports every hit. DeepAudit runs four agents that plan an audit, map the attack surface, analyze code with RAG context, then write and execute a PoC script inside a Docker sandbox. Findings the Verification agent cannot reproduce are stripped from the final report.
Can DeepAudit run without sending code to a cloud LLM?
Yes. Ollama is a supported provider, with Llama3, Qwen2.5, CodeLlama, DeepSeek-Coder, and Codestral named in the documentation. Configured that way, source code stays on your own infrastructure. Analysis quality then depends on the local model you choose.
Which vulnerability types does DeepAudit look for?
Twelve classes are tracked explicitly: SQL injection, XSS, command injection, path traversal, SSRF, XXE, insecure deserialization, hardcoded secrets, weak crypto, authentication bypass, authorization bypass, and IDOR. The built-in rule set is based on the OWASP Top 10 and supports custom rule sets.
Does DeepAudit integrate with CI/CD?
Not yet. Incremental PR auditing with CI/CD integration and agent-authored fix PRs are both listed as roadmap items, not shipped features. Today it runs as a self-hosted web application that you point at an imported project.