Product

Agentic Static Application Security Testing

Code Property Graph data-flow analysis, with an LLM evaluating context at every node. Near-zero false positives on taint-style vulnerabilities.

Schedule a Technical Demo →
Keygraph SAST scan detail showing data-flow, point-issue and business-logic findings

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.

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

Susceptible to timing attacks; missing constant-time equality. 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. Only validated, high-confidence paths reach the final report.

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 AI-discovered custom input handlers unique 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. Only validated, high-confidence paths make the final 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, cost-optimized.

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 scanning of full files. Only HIGH-confidence, concretely exploitable vulnerabilities are reported. 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 run against a real codebase.