SAST

Static Application Security Testing

Static Application Security Testing — analyses source code or compiled binaries without executing them.

Why it matters

It catches taint-flow bugs before the code ever serves a request — the cheapest possible place to fix them. PCI DSS v4.0 (6.2.4), OWASP ASVS V14.2 and ISO 27001 A.8.28 all effectively mandate it.

How it's tested & exploited

Runs as a pre-commit hook, in CI on every pull request, or on a scheduled scan of the default branch (Semgrep, CodeQL, SonarQube, Checkmarx). The discipline is ruleset tuning and project-specific rules — an untuned SAST programme drowns developers in false positives and gets ignored.

In depth

Static Application Security Testing (SAST) tools analyse an application's source code, byte code or binary without running it, looking for taint-flow paths from untrusted inputs to sensitive sinks, insecure cryptographic primitives, hardcoded secrets, dangerous API usage and known vulnerable patterns. Modern SAST tooling — Semgrep, CodeQL, SonarQube, Checkmarx, Fortify, Veracode — runs as a pre-commit hook, in CI on every pull request, or on a scheduled scan of the default branch, and feeds findings into the developer's pull-request review or into the central application-security backlog.

The big advantage of SAST is that it runs before the code ships. A taint path from an unsanitised HTTP parameter into a string-concatenated SQL query can be caught before the function ever serves a request. The big disadvantage is false-positive rate: language-aware tools still struggle with reflection, dynamic dispatch, framework-specific sinks, and the kind of safe-by-construction patterns that look dangerous in isolation. Tuning the ruleset and writing project-specific rules (Semgrep is unusually good at this) is what separates an effective SAST programme from a noisy one.

SAST sits alongside DAST (dynamic testing of the running application), IAST (instrumented runtime testing inside the application), and SCA (Software Composition Analysis — finding known-CVE dependencies). No single tool covers the full attack surface; mature programmes layer SAST + DAST + SCA + manual review and require a security PR review only when a finding is above a certain severity threshold. Industry data consistently puts the cost of fixing a SAST-caught defect at less than a tenth of the cost of fixing the same defect after release.

Frameworks that mandate SAST coverage include PCI DSS v4.0 Requirement 6.2.4, OWASP ASVS V14.2 (Dependencies), and ISO 27001:2022 Annex A.8.28 (Secure coding). See VAPT services for SAST findings layered into a full assessment.

Related terms

Apply SAST to your programme

AxVeil scopes engagements against the standard you need to satisfy. Send the asset list, the target framework and the audit deadline — we respond with a fixed-fee proposal and a sample report from a comparable engagement.