AI assistants are writing C faster than anyone can review it, and they're not inventing new bug classes so much as amplifying the old ones: the integer overflows and buffer overflows C has always been prone to, generated faster than review can keep up. The check that's supposed to catch those before they ship is a SAST scanner, and historically C is the language SAST has always struggled with most.
Today, we’re extending Endor Labs AI SAST so C scans are fully supported. Because these scans are buildless, they run faster than traditional build-based SAST scans and fit inside developer workflows, with the same coverage AI SAST delivers for other languages. Pointed at four real-world embedded C projects in one customer codebase, it caught 96 of the 102 known vulnerabilities, 48x the next best buildless pattern-based SAST tool. Additionally, AI SAST has found a number of zero-day vulnerabilities in popular OSS C projects. We’re actively working on responsible disclosures and will share more in follow up posts.
Endor Labs AI SAST takes a different approach than traditional SAST tools, reasoning about code the way a security engineer would instead of matching patterns. We previously benchmarked it against four traditional SAST tools and two frontier models (Claude and Codex), across eight public projects in Java, Python, JavaScript, TypeScript, C#, and Go. It found 192 real vulnerabilities, more than double any other tool, including 63 that nothing else caught. Coverage is why: it flagged 64 of the 106 CWE types in the set, nearly double the next tool, and that breadth is what turns into 2.6x the true positives Claude caught, 3.5x Codex, and 2.4x Semgrep OSS. The benchmark post has the full methodology and the per-tool table.
The gap comes down to how the two usual approaches work, and each one fails the opposite way. A frontier model pointed at a repo reasons well about the code it reads, but it only reads a slice. A pattern scanner reads every file but reasons about none of them, so it flags what code resembles rather than what it does, and buries you in false positives. AI SAST pairs deterministic program analysis (the same call-graph and reachability engine we built for SCA) with LLM reasoning. The program analysis maps the whole codebase and traces how data moves through it; the models reason over that structured context instead of raw text. You get coverage a model alone can't reach, with less of the noise a pattern engine can't help (see the whitepaper for more details on how AI SAST works).
No build required
There's usually a tradeoff between the accuracy of build-based scanners and the ability to find and fix vulnerabilities early. Scanners that require a build (Coverity, Klocwork, CodeSonar, Veracode) typically run once per release as a security gate. Buildless scanners, on the other hand, integrate into developer workflows and catch bugs sooner, but they sacrifice coverage and bury developers in noise.
Endor Labs AI SAST reads C source directly and reasons about how it behaves, so there's no compiler to hook and no build to reproduce. It runs in the IDE for local scans and on the PR, so vulnerabilities get fixed before they reach production. And coverage doesn't suffer for it: in one customer codebase covering four embedded C projects, AI SAST found 48x as many real findings as the next best buildless pattern-based SAST scanner.
How it handles what patterns can't
We previously outlined the four structural reasons C breaks static analysis. Here's how AI SAST answers each.
- The analyzer never sees the code you wrote. Macros, #ifdefs, and per-config builds mean the code a traditional tool analyzes isn't the code on disk, which is why those tools hook the compiler to reconstruct it. AI SAST reads and reasons about the source directly, so it doesn't depend on reproducing one exact build to see what's there.
- Pointers defeat dataflow analysis. Instead of over-approximating into noise or under-approximating into missed bugs, AI SAST follows the data across functions and files and works out whether the length check three functions upstream actually bounds this copy. That's the question that matters in C, and the one a rule can't answer.
- C's bugs don't fit pattern rules. Buffer overflows, use-after-free, integer overflows that feed an allocation size: these are about lengths, lifetimes, and arithmetic spanning functions, not the source-to-sink shapes a rule engine expresses well. AI SAST catches both the classic memory-safety bugs and the cross-function flaws that let an attacker take over the system.
- There's no framework to model. Every C codebase has its own allocators, string handling, and ownership conventions. AI SAST reads how your code actually manages memory rather than leaning on generic rules that miss what's dangerous in your code and flag what isn't.
Every finding comes with the same evidence it does in every other language: a call path, a working exploit, and a suggested fix.
Where it fits
AI SAST runs where C gets written, not as a gate at the end. A developer scans locally to check AI-generated C as they write it, and the same analysis runs on the pull request, so new flaws get found and fixed before they reach production instead of piling into a backlog. That keeps security in step with AI-accelerated development instead of turning review into the bottleneck.
C SAST pairs with C SCA in the same platform, so your first-party C and the open source it depends on are covered together. Both run on AURI by Endor Labs, our security harness for the agentic SDLC: an independent layer outside the coding agent (the model writing the code isn't the only thing reviewing it), verifiable findings with function-level call paths and reproducible evidence, and policy you set once and enforce across any agent, model, or CI stage.
The next C file an agent edits was probably written before anyone on your team joined, and the agent will faithfully reproduce whatever habits it finds there. That's the code this was built to review, while the PR is still open.
If you’d like to learn more, contact our team to see it on your C code.
What's next?
When you're ready to take the next step in securing your software supply chain, here are 3 ways Endor Labs can help:










