Krize důvěry v moderním vývoji
Tato kategorie se nezaměřuje na chyby, které jsi napsal ty, ale na chyby v tom, co do svého projektu importuješ. **Supply Chain Attack** je útok na dodavatelský řetězec softwaru. V dnešní době 80 % kódu průměrné aplikace tvoří externí knihovny (npm, PyPI, NuGet). Pokud je napaden jeden článek, padá celá pyramida.
Klíčové vektory útoku:
- Software Supply Chain: Útok na repozitáře, CI/CD nástroje a registry balíčků.
- Data Integrity: Přijímání serializovaných objektů, firmware updatů nebo dat bez ověření digitálního podpisu.
- CI/CD Pipelines: Manipulace s procesem automatického nasazení (např. úprava
Jenkinsfilenebo GitHub Actions).
Pokročilé techniky kompromitace
V BBP hunteři hledají tyto specifické trhliny v automatizaci a správě balíčků:
Útočník nahraje balíček se stejným názvem jako má interní knihovna firmy do veřejného registru s vyšším verzovacím číslem (např. v9.9.9). Build systém si pak automaticky stáhne škodlivý kód z internetu místo bezpečné interní verze.
Převedení dat (JSON, XML, binární objekty) na objekty v paměti. Pokud útočník podvrhne objekt, který při rozbalování spustí RCE (Remote Code Execution), získává plnou kontrolu nad serverem.
Proč je detekce téměř nemožná?
Váš vlastní kód může projít všemi testy a audity. Problém je v "černé skříňce" závislostí. Příkladem je útok na SolarWinds nebo Log4j, kde zranitelnost v jedné hluboko vnořené knihovně ohrozila miliony systémů po celém světě.
Prevence: Strategie Zero Trust
Ochrana vyžaduje přechod od slepé důvěry k neustálému ověřování integrity.
| Nástroj / Proces | Funkce |
|---|---|
| SBOM | Software Bill of Materials – kompletní "seznam ingrediencí" vašeho softwaru. |
| Integrity Hashes | Používání package-lock.json nebo yarn.lock pro fixaci konkrétních verzí přes hashe. |
| Signed Commits | Podepisování každého commitu pomocí GPG klíče pro ověření identity programátora. |
| Vulnerability Scanning | Nástroje jako Snyk, Dependabot nebo SonarQube skenující známé CVE v závislostech. |
Pohled OWASP 2025
Nová doporučení kladou důraz na zabezpečení Build serverů a Artifact repozitářů. Jakákoliv neautorizovaná změna v CI/CD pipeline (např. v Dockerfile) musí spustit alarm. Integrita musí být hlídána od prvního řádku kódu až po finální distribuci k uživateli.