SAST: statická analýza bezpečnosti
Automatická detekce bezpečnostních zranitelností přímo ve zdrojovém kódu: najdete a opravíte problémy dřív, než se dostanou do produkce.

Co je SAST?
SAST (Static Application Security Testing) je metoda testování bezpečnosti aplikací, která analyzuje zdrojový kód, bytecode nebo binární soubory, aniž by bylo nutné aplikaci spouštět. SAST nástroje hledají bezpečnostní zranitelnosti a chyby v kódu už ve fázi vývoje, což umožňuje opravit je dřív, než se dostanou do produkce.
Jak SAST funguje
SAST nástroje analyzují zdrojový kód kombinací statických analytických technik. Proces zahrnuje parsing kódu, vytvoření abstraktního syntaktického stromu (AST) a následnou analýzu data flow a pattern matching proti známým bezpečnostním vzorům.
Analýza zdrojového kódu
SAST nástroj parsuje zdrojový kód a vytváří abstraktní syntaktický strom (AST), který reprezentuje strukturu programu.
Data Flow Analysis
Nástroj sleduje tok dat v aplikaci a hledá cesty, kterými se mohou nedůvěryhodná data dostat do citlivých funkcí.
Pattern Matching
Porovnání kódu s databází známých bezpečnostních vzorů a anti-patterns (např. SQL injection, XSS, hardcoded secrets).
Generování reportu
Vytvoření detailního reportu s nalezenými zranitelnostmi, včetně závažnosti, klasifikace CWE, umístění v kódu a doporučení k opravě.
Příklad: detekce SQL injection
Populární SAST nástroje
SonarQube
Platforma pro kvalitu a bezpečnost kódu. Bezplatná Community Build podle dokumentace analyzuje 22 jazyků, další (např. C/C++, COBOL) jsou v placených edicích SonarQube Server a Cloud.
- Detailní dashboardy a metriky kvality kódu
- Quality Gates pro automatické blokování
- Integrace s GitHub, GitLab, Azure DevOps
- SonarQube Community Build zdarma
Checkmarx SAST
Enterprise SAST, součást platformy Checkmarx One. Pro on-premise provoz je k dispozici CxSAST.
- Pokročilá data flow analýza
- Cloud (Checkmarx One) i on-premise (CxSAST)
- Java, C#, Go, Python, COBOL, PL/SQL a další jazyky
- Certifikace SOC 2 Type II a ISO/IEC 27001
Semgrep
Rychlý a flexibilní SAST nástroj s podporou vlastních pravidel a IaC scanningu. Open source jádro se jmenuje Semgrep Community Edition (CE).
- Výstup přímo ve formátu GitLab SAST (
--gitlab-sast) - Snadné psaní vlastních pravidel
- Podpora pro IaC security scanning
- Semgrep CE zdarma pod licencí LGPL-2.1
GitHub CodeQL
Sémantická analýza pomocí QL dotazů s nativní integrací do GitHub Actions.
- Sémantická analýza pomocí QL dotazů
- Nativní integrace s GitHub Actions
- Zdarma pro veřejné repozitáře, pro privátní je nutná GitHub Code Security (plán Team nebo Enterprise)
- Copilot Autofix navrhuje opravy nálezů
Veracode SAST
SAST služba, která skenuje zdrojový kód i zkompilované binárky, takže zvládne i kód třetích stran bez zdrojových souborů.
- Source, binary i hybridní skenování
- Policy-based reporting
- Policy kontroly přímo v CI/CD buildu
- AI remediace Veracode Fix
Snyk Code
Skenování přímo v IDE s automatickými opravami Snyk Agent Fix (dříve DeepCode AI Fix).
- Pluginy pro VS Code, Visual Studio a JetBrains IDE
- Snyk Agent Fix navrhuje opravy nálezů
- Developer-friendly UX
- Integrace se Snyk Open Source (SCA)
Integrace SAST do CI/CD Pipeline
GitLab CI/CD Pipeline
GitHub Actions Workflow
Best Practice: Security Gates
Nastavte quality gates v CI/CD pipeline, které automaticky zablokují deployment, pokud SAST nástroj najde zranitelnosti nad určitou závažností (např. Critical nebo High).
Výhody a výzvy SAST
Výhody SAST
- Časná detekce: zranitelnosti se odhalí ve fázi vývoje, ne až v produkci
- Levnější oprava: chyba nalezená při vývoji nevyžaduje hotfix, nový release ani řešení incidentu
- Pokrytí celého kódu: SAST analyzuje celý kód, nejen běžně používané cesty
- Automatizace: scan proběhne automaticky při každém commitu nebo merge
- Vzdělávání vývojářů: vývojáři se z reportů učí bezpečnému programování
- Compliance: pomáhá doložit bezpečný vývoj podle NIST SSDF (praktika PW.7, revize a analýza kódu), PCI DSS 4.0.1 (požadavek 6.2) a NIS2
Výzvy a omezení
- False positives: SAST může hlásit zranitelnosti, které nejsou skutečnou hrozbou; OWASP uvádí vysoký počet false positives jako hlavní slabinu
- Konfigurace a tuning: správné nastavení pravidel vyžaduje čas. Chybnou konfiguraci prostředí SAST často nevidí, protože není v kódu
- Runtime zranitelnosti: SAST neodhalí problémy, které se projeví až za běhu (k tomu slouží DAST)
- Triage overhead: vývojáři musí nálezy vyhodnotit a prioritizovat
- Legacy kód: ve starých codebases může najít tisíce nálezů najednou
SAST vs DAST
SAST (white-box): analyzuje zdrojový kód včetně málo používaných cest, ale generuje více false positives.
DAST (black-box): testuje běžící aplikaci, najde runtime problémy, ale má omezené pokrytí.
Nejlepší přístup: kombinace SAST, DAST a SCA dává kompletní security testing.
Průvodce implementací
Fáze 1: Výběr nástroje
Vyberte SAST nástroj podle:
- podporovaných programovacích jazyků
- integrace s vašimi CI/CD nástroji
- licenčních nákladů (open source, nebo komerční)
- míry false positives (zkušební scan na vašem kódu)
Fáze 2: Pilotní projekt
Začněte s jedním projektem nebo týmem:
- Spusťte baseline scan
- Vyřešte nálezy se závažností Critical a High
- Nastavte quality gates
- Změřte metriky (počet nálezů, čas na opravu)
Fáze 3: Škálování
Rozšiřte na celou organizaci:
- Vytvořte centrální security tým pro triage
- Nastavte SLA pro nápravu (např. Critical: 7 dní, High: 30 dní)
- Integrujte s ticketovacím systémem (Jira)
- Pravidelný reporting pro management
Fáze 4: Optimalizace
Průběžné vylepšování:
- Tuning pravidel pro snížení false positives
- Vytvoření vlastních pravidel
- Školení vývojářů v secure coding
- Automatizace nápravy pomocí auto-fix funkcí
Zdroje
- MITRE: 2025 CWE Top 25 Most Dangerous Software Weaknesses (prosinec 2025)
- OWASP: Source Code Analysis Tools (říjen 2026)
- NIST: SP 800-218, Secure Software Development Framework (SSDF) 1.1 (únor 2022)
- Semgrep Docs: CLI reference (říjen 2026)
- GitLab Docs: Security scanner integration (říjen 2026)
- GitHub: github/codeql-action releases (v4.39.0) (říjen 2026)
- GitHub: actions/checkout releases (v7.0.1) (červenec 2026)
- GitHub Docs: Workflow configuration options for code scanning (říjen 2026)
- GitHub Docs: About GitHub Advanced Security (říjen 2026)
- Sonar Docs: SonarQube Community Build, Languages overview (říjen 2026)
- Snyk Docs: Fix code vulnerabilities automatically (říjen 2026)
- Checkmarx: Checkmarx SAST (říjen 2026)