Arzenál DevSecOps: Od začátečníka k expertovi
Buďme upřímní: spuštění trivy image není DevSecOps. Je to jen generování šumu.
Skutečné bezpečnostní inženýrství je o poměru signálu k šumu. Jde o vytvoření pipeline, kterou vaši vývojáři respektují, ne takové, kterou obcházejí. Tento průvodce poskytuje “produkčně připravené” konfigurace pro 17 průmyslově standardních nástrojů, které zastaví zranitelnosti, aniž by zastavily podnikání.
Fáze 1: Před-commit & Lokální (Posuňte vlevo nebo jděte domů)
Zachytit problémy v CI je už příliš pozdě. Právě jste promarnili výpočetní kredity a čas vývojáře na přepínání kontextu. Zachyťte to na jejich notebooku.
1. Gitleaks (Strážce tajemství)
Nebuďte společnost, která uniká AWS klíče na GitHub.
Většina lidí spouští Gitleaks naslepo. Profesionálové používají základní linie.
--baseline-path: Zlatý lístek. Spusťte čerstvé skenování, uložte výstup. Nyní Gitleaks upozorňuje POUZE na nová tajemství.--redact: Maskujte objevená tajemství ve výstupních protokolech (procento 0-100). Nikdy nedvojitě neunikněte.--enable-rule: Zaměřte se na konkrétní typy tajemství (např. pouze AWS klíče) podle ID.--follow-symlinks: Nedovolte, aby se tajemství schovávala za symlinky.--ignore-gitleaks-allow: Zakázat použití inline “přeskočit” komentářů. Prosazujte pravidla.--max-target-megabytes: Vyhněte se skenování masivních binárních blobů.
2. Trufflehog (Ověřovatel)
Nalezení řetězce, který vypadá jako klíč, je jedna věc. Ověření, zda funguje, je druhá.
Trufflehog se odlišuje tím, že ověřuje přihlašovací údaje u poskytovatele.
--no-verification: Rychlejší režim. Přeskakuje “živou kontrolu”, pokud chcete pouze statickou analýzu.--results: Filtrování výstupu podleverified(skutečné nebezpečí) nebounknown.--filter-entropy: Najděte řetězce s vysokou entropií (pravděpodobně hesla) i bez shody s regulárním výrazem. Začněte s hodnotou 3.0.--detector-timeout: Omezte dobu provádění na detektor, abyste předešli zablokování CI.--archive-max-depth: Nezasekněte se v zanořených zip-bombách.
3. Opengrep (Rychlá statická analýza)
Grep je mrtvý. Ať žije strukturální vyhledávání.
Semgrep-kompatibilní engine pro hledání chyb pomocí vzorů kódu, nejen řetězců.
--baseline-commit: Klíčové. Skenujte pouze kód změněný od konkrétního commitu (Delta Scanning).--config: Načtěte vlastní pravidla z YAML limitů nebo registru.--dataflow-traces: Zobrazte celou cestu, jak se data pohybují od zdroje k cíli.--exclude-minified-files: Přeskočte.min.jsa další husté, pro člověka nečitelné soubory.--strict: Zastavte sestavení, pokud je konfigurace neplatná nebo se objeví chyby úrovně WARN.
4. Bandit (Bezpečnost Pythonu)
Standard pro analýzu AST v Pythonu.
-t/--tests: Spusťte POUZE konkrétní ID testů (seznam povolených).-s/--skips: Přeskočte konkrétní ID testů (seznam zakázaných).--severity-level: Zobrazte pouze výsledky >=low,mediumnebohigh.--confidence-level: Filtrování “odhadů”—zobrazte pouze nálezy s vysokou důvěrou.--ignore-nosec: Podívejte se, co se vývojáři snaží obejít pomocí# nosec.
5. Dustilock (Závislostní zmatení)
Zabraňte útočníkovi v injektování škodlivého privátního balíčku.
-a: Pouze audit. Zkontrolujte, zda jste zranitelní vůči únosu názvu balíčku, aniž byste zastavili pipeline.
6. Hadolint (Docker Intelligence)
Váš Dockerfile je špatný. Hadolint ví proč.
--trusted-registry: Bezpečnost dodavatelského řetězce. Povolit pouze obrazy zinternal.ecr.aws.--strict-labels: Prosazování standardů metadat (např.maintainer,cost-center).--ignore: Ztlumit pravidla, která se na váš build nevztahují.--error/--warning: Přemapovat závažnosti pravidel tak, aby odpovídaly vaší politice.--require-label: Prosazovat specifické formáty štítků (Regex).
7. TFLint (Terraform Logic)
terraform validate je kontrola syntaxe. TFLint je kontrola logiky.
--enable-plugin: Načíst pravidla specifická pro poskytovatele (např. AWS, Azure) pro kontrolu proti specifikacím API.--minimum-failure-severity: Ovládat práh přerušení buildu (Error, Warning, Notice).--call-module-type: Skenovatall,localnebononemoduly.--var-file: Vložit proměnné pro přesné vyhodnocení podmíněné logiky.
Fáze 2: CI Gatekeepers (Důvěřuj, ale prověřuj)
Toto je válečná místnost. Hluboká analýza během procesu sestavení.
8. Trivy (Těžký hitter)
Švýcarský armádní nůž.
--ignore-unfixed: Povinné. Pokud neexistuje žádná oprava, nezastavujte sestavení. Sledujte to.--ignore-status: Filtrovat zranitelnosti s konkrétními stavy.--pkg-types: Zaměřte skenování na balíčkyosnebo závislostilibrary.--offline-scan: Spustit v izolovaných prostředích.--include-dev-deps: NeignorujtedevDependencies—mohou stále ohrozit prostředí sestavení.--list-all-pkgs: Vypište vše. Nezbytné pro generování kompletního SBOM.
9. Syft (Generátor SBOM)
Nemůžete zabezpečit to, co nevíte, že máte.
--enrich: Přidat online metadata pro bohatší kontext použití (Golang, Java, atd.).-s/--scope: Skenovat všechny vrstvy (all-layers) nebo jen konečný obraz (squashed).--select-catalogers: Zaměřit se na konkrétní správce balíčků (npm, pip, apk).--platform: Zaměřit se na konkrétní architektury (např.arm64).
10. Grype (Skenner SBOM)
Přebírá štafetu od Syft.
-f/--fail-on: Přerušit sestavení, pokud je závažnost >=medium,high, atd.--only-fixed: Hlásit pouze zranitelnosti, které jsou akční.--by-cve: Organizovat výstup podle ID CVE pro sledování.--ignore-states: Ignorovat obecné stavy “wontfix” nebo “not-affected”.
11. Checkov (Řízení IaC)
Předcházejte chybám v konfiguraci cloudu, než vás budou stát peníze.
-s/--soft-fail: Upozorní, ale nezpůsobí chybu. Nejlepší pro “pozorovací režim.”--check/--skip-check: bílá nebo černá listina specifických kontrol (CKV_AWS_1).--skip-framework: Ignoruje celé frameworky (např. skenuje Terraform, ale přeskočí CloudFormation).--enable-secret-scan-all-files: Rozšíří skenování tajemství mimo standardní konfigurační soubory.--block-list-secret-scan: Vyloučí specifické soubory ze skenování tajemství.
12. KICS (Keeping IaC Secure)
Alternativa pro široké pokrytí IaC.
--exclude-queries: Odstraní šum filtrováním specifických ID dotazů.--exclude-categories: Filtruje nálezy podle bezpečnostní domény.--fail-on: Definuje, které úrovně závažnosti vrátí nenulový výstupní kód.--minimal-ui: Zjednodušený výstup CLI pro čistší logy.--disable-secrets: Vypne interní skenování tajemství (použijte místo toho Gitleaks).
13. Terrascan (Policy-as-Code)
Specializováno na prosazování politik pro více cloudů.
-i/--iac-type: Optimalizuje specifikováním platformy (k8s, helm, terraform).-t/--policy-type: Filtruje politiky podle poskytovatele (aws, azure, gcp).--severity: Definuje minimální závažnost pro hlášení.--non-recursive: Skenuje pouze aktuální adresář.
14. OWASP Dependency-Check (Legacy & Compliance)
Těžký dříč pro Java a .NET SCA.
--failOnCVSS: Přeruší sestavení, pokud jakákoliv knihovna překročí CVSS skóre (např. 7.0).--suppression: Použijte XML soubor k “umlčení” známých bezpečných zranitelností (VEX-lite).--enableExperimental: Použijte nové analyzátory pro méně běžné jazyky.
15. DevSkim (Polyglot Hygiene)
Kontroly zaměřené na vývojáře v IDE a CI.
--rule-ids: Omezte analýzu na konkrétní pravidla.--ignore-globs: Použijte standardní glob vzory k přeskočení rušivých souborů.--skip-git-ignored-files: Automaticky synchronizujte s.gitignore.--skip-excerpts: Udržujte zprávy malé odstraněním ukázek kódu.
Fáze 3: Runtime & Artefakty (Poslední linie)
Skenování konečného artefaktu nebo živého prostředí.
16. Clamscan (Obrana proti malwaru)
Protože někdy lidé nahrávají viry do vašeho S3 bucketu.
--exclude/--exclude-dir: Přeskočte vzory souborů/adresářů, abyste ušetřili čas.--detect-pua: Hledejte “Potenciálně Nežádoucí Aplikace” (adware, těžaři).--detect-structured: Skenujte pro vzory citlivých dat jako Kreditní karty/SSN.--scan-pdf/--scan-html: Povolit hlubokou inspekci pro typy dokumentů.--cross-fs: Povolit skenování napříč různými souborovými systémy (používejte s opatrností).
17. Nuclei (Hackerův nůž)
Šablonové skenování, které působí nelegálně.
-t/--templates: Spusťte konkrétní šablonové soubory nebo adresáře.-tags: Cílové skenování na základě technologie (např.wordpress,cve).-s/--severity: Filtrovat šablony podle úrovně dopadu.-fr/--follow-redirects: Následujte HTTP 301/302 přesměrování k nalezení payloadu.-passive: Skenování prohlížením existujících hlaviček/odpovědí bez odesílání nových “útoků”.-etags fuzz: Vyloučit fuzzing šablony v produkci.
Shrnutí: “Dokonalý” pipeline
- Lokální:
pre-commitspouští Gitleaks (základní linie), Trufflehog (ověřeno) a Hadolint. - Build: Trivy skenuje závislosti (
--ignore-unfixed). Syft generuje SBOM. Dependency-Check pro shodu. - Test: Checkov a KICS skenují Terraform plán. Opengrep kontroluje vzory kódu.
- Artefakt: Clamscan kontroluje finální binární soubory/aktiva.
- Nasazení: Nuclei provádí sanity check živého endpointu.
Nastavte si své nástroje, nebo vás budou ignorovat.
Plexicus to všechno usnadnil
S jedním sjednoceným dashboardem a přístupem ke všem našim integracím nástrojů to zabere jen pár kliknutí Plexicus


