SAST overview

What is Invicti SAST?

Invicti SAST (Static Application Security Testing) analyzes application source code to identify security vulnerabilities without executing the application. By scanning code early in the development lifecycle, SAST helps teams find and fix issues before they reach production.

How it works

Invicti SAST scans source code, bytecode, or binaries to detect security flaws by analyzing code paths, data flows, and patterns that could lead to vulnerabilities. The scanning process includes:

  • Data flow analysis: traces how data moves through the application to identify injection points and unsafe data handling.
  • Pattern matching: detects known vulnerable coding patterns and anti-patterns.
  • Control flow analysis: examines execution paths to find logic errors and security flaws.
  • Runtime correlation: validates SAST findings against DAST and IAST results to confirm actual exploitability, reducing false positives.

What it can discover

Invicti SAST detects vulnerabilities across the following categories:

CategoryExamples
InjectionSQL Injection, Command Injection, LDAP Injection, XPath Injection
Cross-Site Scripting (XSS)Reflected XSS, Stored XSS, DOM-based XSS
Authentication flawsHardcoded credentials, weak password handling, insecure session management
Insecure data handlingInsecure deserialization, path traversal, buffer overflows
Cryptographic issuesWeak encryption algorithms, insecure random number generation
Code qualityNull pointer dereferences, resource leaks, race conditions

Supported languages

Invicti SAST supports 27+ programming languages, including Java, JavaScript, TypeScript, Python, C#, C/C++, Go, PHP, Ruby, Kotlin, Swift, and Rust.

Supported SAST Scanners

The table below lists the SAST integrations available in Invicti ASPM. The Slug column corresponds to the -t flag value used by the KDT CLI (kdt scan -p <project> -t <slug> -b <branch>).

ScannerSlugTypeAuthenticationLanguagesSupported Methods
Checkmarx CxSAST (legacy 8.x)checkmarxConnectionBasic auth (username/password)Language agnosticBind, KDT, Import
Checkmarx CxSAST (alternative)cxsastConnectionBasic authLanguage agnosticBind, KDT, Import
Checkmarx One SASTcheckmarxastConnectionAPI tokenLanguage agnosticBind, KDT, Import, Create
Coverity (Synopsys Cloud)coverityConnectionAPI tokenLanguage agnosticBind, KDT, Import
Coverity Server (Black Duck on-prem)coverityserverConnectionBasic authLanguage agnosticBind, KDT, Import
Fortify SSC (on-prem)fortifyConnection / ImportBasic authLanguage agnosticBind, Import
Fortify on Demand (FoD) SASTfortifyodConnectionBasic authLanguage agnosticBind, KDT, Import
ParasoftparasoftImportBasic authJavaImport
VeracodeveracodeConnectionBasic auth (API ID + key)Language agnosticBind, KDT, Import
SonarQube (self-hosted)sonarqubeConnectionBasic auth or tokenLanguage agnosticBind, KDT, Import
SonarCloud (SaaS)sonarcloudConnectionAPI token5+ languagesBind, KDT, Import
Semgrep CE (Community Edition)semgrepDocker (open source)Multi-languageKDT, Import
Semgrep Enterprise SASTsemgrepenterprisesastConnectionAPI tokenMulti-languageBind, KDT, Import
Qwiet AI SAST (formerly ShiftLeft)qwietaisastConnectionAPI tokenLanguage agnosticBind, KDT, Import
CodeQL (via GitHub Code Scanning)codeqlGitHub integrationGitHub PAT/AppLanguage agnosticBind, Import
MobSF SAST (Mobile Security Framework)mobsfsastConnectionAPI tokenMobile (iOS/Android)Bind, KDT, Import
Snyk Code (SAST)snyksastConnectionAPI tokenMulti-languageBind, KDT, Import
GitGuardian (secrets scanning)gitguardianConnectionAPI tokenSecrets/credentialsBind, KDT, Import
Code ThreatcodethreatConnectionAPI tokenMulti-languageBind, KDT, Import
Mend SAST (formerly WhiteSource)mendsastConnectionBasic authMulti-languageBind, KDT, Import
Polaris fAST Static (Black Duck)faststaticConnectionAPI tokenLanguage agnosticBind, KDT, Import
GosecgosecDocker (open source)GoKDT, Import
BrakemanbrakemanDocker (open source)Ruby on RailsKDT, Import
BanditbanditDocker (open source)PythonKDT, Import
Find Security BugsfindsecbugsDocker (open source)JavaKDT, Import
Security Code ScansecuritycodescanDocker (open source).NET / .NET CoreKDT, Import
ESLint (security plugins)eslintDocker (open source)JavaScript, TypeScriptKDT, Import
NodeJsScannodejsscanDocker (open source)Node.jsKDT, Import
PsalmpsalmDocker (open source)PHPKDT, Import
Gitleaks (secrets scanning)gitleaksDocker (open source)Language agnostic (secrets)KDT, Import
TruffleHog (secrets scanning)trufflehogsecurityDocker (open source)Basic auth (optional)Language agnostic (secrets)KDT, Import
OpengrepopengrepDocker (open source)Multi-languageKDT, Import

Choosing a SAST Scanner

If you need…Consider
Enterprise, language-agnostic coverageCheckmarx One, Coverity, Fortify, Veracode, Qwiet AI, Polaris fAST Static
SaaS-only, no infrastructureCheckmarx One SAST, SonarCloud, Snyk Code, Mend SAST, Fortify on Demand, Veracode
Open-source / no license costSemgrep CE, Opengrep, Bandit, Brakeman, ESLint, Gosec, Psalm, Find Security Bugs, Security Code Scan, NodeJsScan
Secrets / credential scanningGitGuardian, Gitleaks, TruffleHog
Mobile (iOS / Android)MobSF SAST
Native GitHub integrationCodeQL, GitHub Secret Scanner
Language-specific (Go, Ruby, Python, .NET, PHP, JS/TS, Java)Gosec, Brakeman, Bandit, Security Code Scan, Psalm, ESLint, Find Security Bugs