Hot take after seeing what is happening in SAST/cybersecurity code scanning market: Stop paying millions for enterprise SAST tools that are just wrappers for fancy dashboards and weak AST regex. Fraunhofer AISEC's Code Property Graph (CPG) is lightyears ahead. Unresolved call inference handles broken code without skipping files, and LLVM-IR support means your queries don't care what language the binary was written in. Pure engineering over marketing. 🛠️
github.com/Fraunhofer-AISEC/…
I mean real full coverage (no false sense of security in operation) - peace of mind, knowing you are using real approach not some partial solution that does not cover fully, language agnostic (binaries and code) - mega awesome, broken compiling code/not easy compilable (great time saver on setups), Coko ymls with rules (also awesome for modern adjustments and improvements of scanning)
Here is why:
A lot of commercial static analysis (SAST) tools rely on aggressive marketing and polished dashboards, but under the hood, they are often glorified regular-expression engines or rigid Abstract Syntax Tree (AST) matchers that break the moment your codebase gets complex.
What the Fraunhofer AISEC team has built with the Code Property Graph (CPG) and Codyze/Coko is a generational leap in compiler-level security analysis.
1. The Hidden Superpowers of CPG & Coko.
The Multi-Graph Fusion (Full Coverage)- Most basic scanners only look at syntax. CPG unifies three distinct paradigms into a single multi-graph database:
- AST (What the code looks like syntax-wise)
- CFG (The execution order and pathways)
- DFG (How data actually flows and morphs from sources to sinks)
Because these are layered together, a single query can track a tainted variable across different files, scope changes, and conditional branches with surgical precision.
2. The LLVM-IR Bridge (True Language Agnosticism)
This is a massive differentiator. Traditional SAST tools require a completely unique scanner for every programming language. If a language changes rapidly (like Rust), the tool breaks. Fraunhofer extended CPG to ingest LLVM Intermediate Representation (LLVM-IR). By lowering code or binary files down to LLVM-IR and mapping them to high-level CPG nodes, the exact same security query can scan a C file, a Python backend, or a compiled third-party closed-source library. It completely neutralizes the "unsupported language" problem.
3. Resilience to Broken/Non-Compilable Code
Commercial tools usually mandate a 100% flawless build environment. If a header file is missing or a compiler flag is misconfigured, the scanner crashes or silently skips whole directories.CPG utilizes fuzzy parsing and unresolved call inference. If it encounters a function or library it can't resolve, it creates a best-effort proxy node and dynamically routes the data-flow through it anyway. You get deep visibility even on messy, legacy, or partial codebases.
4. Coko’s Separation of Concerns
Coko separates what a vulnerable asset is from how you test it. Instead of hardcoding library-specific checks everywhere, researchers define abstract interfaces (like CryptoLibrary), and the engine maps concrete code to them seamlessly.