o Agentic SAST | Code Property Graph + LLM Analysis | Keygraph Skip to main content
Product

Agentic Static Application Security Testing

Code Property Graph data-flow analysis, with an LLM evaluating context at every node and an agent validating every candidate path. Near-zero false positives on taint-style vulnerabilities. Each validated path becomes a candidate the whitebox pentest exploits to prove it is real.

Not just "is there a sanitizer" but "does this encoding prevent this injection in this context." A Code Property Graph combines AST, control flow, and data flow. An LLM evaluates every node. An agent validates every path. Only confirmed findings reach the report.

What it finds.

Validated taint-style data-flow vulnerabilities and point issues that live at a single line of code. Every finding ships with a traced path or concrete exploit context, never a hypothetical warning. That discipline holds end to end: vulnerabilities are identified by static analysis, validated by exploitation against the running app, and recorded as one canonical finding.

SQLi
Unescaped query concatenation

User input reaches a query parameter via unescaped concatenation. Parameterization and escaping evaluated at each node.

XSS
Reflected, stored, DOM

Reflected or stored input renders in the DOM without contextual encoding. HTML, attribute, JS, and URL contexts evaluated separately.

SSRF
User-controlled outbound URL

User-controlled URL parameter reaches an outbound HTTP client. Allowlists, URL parsing, and metadata-endpoint risk checked per path.

Path Traversal
Unnormalized file I/O + command injection

User input reaches file I/O without path normalization. Command injection (input reaching shell execution without sanitization) is traced with the same pipeline.

Hardcoded Credentials
API keys, secrets, tokens

Hardcoded credentials and API keys embedded in source code. Verified against the broader codebase to confirm they aren't overridden elsewhere.

Weak Cryptography
MD5, ECB, weak RNG

MD5 for passwords, ECB mode, weak RNG in security-sensitive contexts. Flagged only when used in a security-relevant code path.

Insecure Cookies / CORS
Missing flags, permissive policies

Missing Secure, HttpOnly, or SameSite flags on session cookies. Permissive CORS policies that expose authenticated endpoints to untrusted origins.

Timing-Vulnerable Comparisons
Non-constant-time equality

Equality checks that leak timing because they are not constant-time. Detected in token, signature, and credential comparison paths.

Data flow analysis.

We compile your codebase into a Code Property Graph (AST, control flow, and data flow in one structure), then analyze it in three phases: extract sources and sinks, trace backward from every sink, validate each candidate path. Only validated, high-confidence paths advance: each one handed to the whitebox pentest to exploit before it is reported.

01
Extract
Sources and sinks.

Sources (user inputs, API parameters, file reads, environment variables) and sinks (SQL queries, shell commands, file writes, response outputs) are extracted using deterministic patterns, plus LLM-identified custom input handlers specific to your framework.

02
Trace
Backward from every sink.

We trace backward from every sink toward potential sources. At each node, an LLM evaluates whether the specific sanitization actually addresses the specific risk in the specific context.

03
Validate
Agent confirms each path.

An autonomous agent validates each candidate path for control flow correctness (can this branch actually execute?) and logic correctness (do the types and constraints line up?), producing confidence scores. Anything below that bar never reaches the report.

Path Visualization
Source, sink, and every intermediate hop.

The UI renders source (green), sink (red), and intermediate hops (blue) with line-by-line code context. Developers see the complete attack chain, not just endpoints.

Beyond data flow: point issues.

Some vulnerabilities don't need cross-function data flow. They live at a single line of code. A cost-optimized two-stage LLM pipeline runs on every file in the repository to catch them.

Stage 01 · Fast Classification
Lightweight triage, fast and cheap.

Quickly classifies each file to determine whether it's production code and whether it likely contains a vulnerability (crypto, auth, misconfiguration, access control). Low-confidence files are filtered out immediately.

Stage 02 · Deep Analysis
Reasoning model, category-specific.

Category-specific deep analysis of full files. A vulnerability is reported only when confidence is high and exploitability is concrete. Theoretical or speculative issues are discarded.

Ultra-Strict Stage 2
Concrete exploits only. Hypothetical warnings get dropped.

Stage 2 is intentionally conservative: a finding ships only if the agent can describe how an attacker would actually trigger it.

See it read your code.

Schedule a demo and watch Agentic SAST map a real codebase, then watch the whitebox pentest exploit what it finds.