DevSecOps-arsenalen: Från nybörjare till expert
Låt oss vara ärliga: att köra trivy image är inte DevSecOps. Det är bara brusgenerering.
Riktig säkerhetsingenjörskonst handlar om signal-brusförhållande. Det handlar om att bygga en pipeline som dina utvecklare respekterar, inte en de arbetar runt. Denna guide ger “produktionsklassade” konfigurationer för 17 industristandardverktyg för att stoppa sårbarheter utan att stoppa verksamheten.
Fas 1: Pre-Commit & Lokal (Shift Left eller Gå Hem)
Att fånga problem i CI är redan för sent. Du har just slösat bort beräkningskrediter och en utvecklares kontextväxlingstid. Fånga det på deras laptop.
1. Gitleaks (Hemlighetsbevararen)
Var inte företaget som läcker AWS-nycklar på GitHub.
De flesta kör Gitleaks blint. Proffsen använder Baselines.
--baseline-path: Den gyllene biljetten. Kör en ny skanning, spara utdata. Nu larmar Gitleaks ENDAST på nya hemligheter.--redact: Maskera upptäckta hemligheter i utdata loggar (procent 0-100). Läck aldrig dubbelt.--enable-rule: Fokusera på specifika hemlighetstyper (t.ex. bara AWS-nycklar) genom ID.--follow-symlinks: Låt inte hemligheter gömma sig bakom symlänkar.--ignore-gitleaks-allow: Tillåt inte användning av inbäddade “hoppa över”-kommentarer. Upprätthåll reglerna.--max-target-megabytes: Undvik att skanna massiva binära blobbar.
2. Trufflehog (Verifieraren)
Att hitta en sträng som ser ut som en nyckel är en sak. Att kontrollera om den fungerar är en annan.
Trufflehog utmärker sig genom att verifiera referenser mot leverantören.
--no-verification: Snabbare läge. Hoppar över “live-check” om du bara vill ha statisk analys.--results: Filtrera utdata efterverified(den verkliga faran) ellerunknown.--filter-entropy: Hitta högentropisträngar (troligen lösenord) även utan regex-matchning. Börja med 3.0.--detector-timeout: Begränsa exekveringstid per detektor för att förhindra CI-hängningar.--archive-max-depth: Fastna inte i inbäddade zip-bomber.
3. Opengrep (Snabb Statisk Analys)
Grep är död. Länge leve strukturell sökning.
Semgrep-kompatibel motor för att hitta buggar med hjälp av kodmönster, inte bara strängar.
--baseline-commit: Avgörande. Skanna endast kod som ändrats sedan ett specifikt commit (Delta Scanning).--config: Ladda anpassade regler från YAML-begränsningar eller registret.--dataflow-traces: Visa hela vägen hur data rör sig från källa till sänka.--exclude-minified-files: Hoppa över.min.jsoch andra täta, icke-mänskligt läsbara filer.--strict: Misslyckas med bygget om konfigurationen är ogiltig eller om WARN-nivåfel uppstår.
4. Bandit (Python Säkerhet)
Standard för Python AST-analys.
-t/--tests: Kör ENDAST specifika test-ID (tillåtlista).-s/--skips: Hoppa över specifika test-ID (nekalista).--severity-level: Visa endast resultat >=low,mediumellerhigh.--confidence-level: Filtrera bort “gissningar”—visa endast högförtroendefynd.--ignore-nosec: Se vad utvecklare försöker kringgå med# nosec.”
5. Dustilock (Beroende Förvirring)
Förhindra en angripare från att injicera ett skadligt privat paket.
-a: Endast granskning. Kontrollera om du är sårbar för paketnamnkapning utan att stoppa pipeline.
6. Hadolint (Docker Intelligens)
Din Dockerfile suger. Hadolint vet varför.
--trusted-registry: Försörjningskedjans säkerhet. Tillåt endast bilder fråninternal.ecr.aws.--strict-labels: Upprätthåll metadata-standarder (t.ex.maintainer,cost-center).--ignore: Tysta regler som inte gäller för din byggnad.--error/--warning: Mappa om regelallvarligheter för att matcha din policy.--require-label: Upprätthåll specifika labelformat (Regex).
7. TFLint (Terraform Logik)
terraform validate är en syntaxkontroll. TFLint är en logikkontroll.
--enable-plugin: Ladda leverantörsspecifika regler (t.ex. AWS, Azure) för att kontrollera mot API-specifikationer.--minimum-failure-severity: Kontrollera tröskeln för byggbrott (Fel, Varning, Notis).--call-module-type: Skannaall,localellernonemoduler.--var-file: Injicera variabler för att utvärdera villkorlig logik korrekt.
Fas 2: CI Gatekeepers (Lita, men Verifiera)
Detta är krigsrummet. Djupanalys under byggprocessen.
8. Trivy (Den Tunga Slagaren)
Schweiziska armékniven.
--ignore-unfixed: Obligatorisk. Om det inte finns någon patch, misslyckas inte bygget. Övervaka det.--ignore-status: Filtrera bort sårbarheter med specifika statusar.--pkg-types: Fokusera skanningar påos-paket ellerlibrary-beroenden.--offline-scan: Kör i luftgapade miljöer.--include-dev-deps: Ignorera intedevDependencies—de kan fortfarande kompromettera byggmiljön.--list-all-pkgs: Utdata allt. Viktigt för att generera en komplett SBOM.
9. Syft (SBOM-generatorn)
Du kan inte säkra det du inte vet att du har.
--enrich: Lägg till online-metadata för rikare användningskontext (Golang, Java, etc.).-s/--scope: Skanna alla lager (all-layers) eller bara den slutliga bilden (squashed).--select-catalogers: Rikta in dig på specifika pakethanterare (npm, pip, apk).--platform: Rikta in dig på specifika arkitekturer (t.ex.arm64).
10. Grype (SBOM-skannern)
Tar över stafettpinnen från Syft.
-f/--fail-on: Bryt bygget om allvarlighetsgraden är >=medium,high, etc.--only-fixed: Rapportera endast sårbarheter som är åtgärdbara.--by-cve: Organisera utdata efter CVE-ID för spårning.--ignore-states: Ignorera generiska “wontfix” eller “not-affected” statusar.
11. Checkov (IaC-styrning)
Förhindra molnkonfigurationer innan de kostar dig pengar.
-s/--soft-fail: Varnar men bryter inte. Bäst för “observationsläge.”--check/--skip-check: vitlista eller svartlista specifika kontroller (CKV_AWS_1).--skip-framework: Ignorera hela ramverk (t.ex. skanna Terraform men hoppa över CloudFormation).--enable-secret-scan-all-files: Utöka hemlighetsskanning utöver standardkonfigurationsfiler.--block-list-secret-scan: Exkludera specifika filer från hemlighetsskannern.
12. KICS (Keeping IaC Secure)
Alternativet för bred IaC-täckning.
--exclude-queries: Ta bort brus genom att filtrera bort specifika fråge-ID.--exclude-categories: Filtrera resultat efter säkerhetsdomän.--fail-on: Definiera vilka allvarlighetsnivåer som returnerar en icke-noll exit-kod.--minimal-ui: Förenklad CLI-utmatning för renare loggar.--disable-secrets: Stäng av intern hemlighetsskanning (använd Gitleaks istället).
13. Terrascan (Policy-as-Code)
Specialiserad för multi-moln policy-efterlevnad.
-i/--iac-type: Optimera genom att specificera plattformen (k8s, helm, terraform).-t/--policy-type: Filtrera policyer efter leverantör (aws, azure, gcp).--severity: Definiera den minsta allvarlighetsgraden att rapportera.--non-recursive: Skanna endast den aktuella katalogen.
14. OWASP Dependency-Check (Legacy & Compliance)
Den tunga lyftaren för Java och .NET SCA.
--failOnCVSS: Bryt bygget om något bibliotek överskrider ett CVSS-poäng (t.ex. 7.0).--suppression: Använd en XML-fil för att “tysta” kända säkra sårbarheter (VEX-lite).--enableExperimental: Använd nya analysatorer för mindre vanliga språk.
15. DevSkim (Polyglot Hygiene)
Utvecklarcentrerade IDE- och CI-kontroller.
--rule-ids: Begränsa analysen till specifika regler.--ignore-globs: Använd standard glob-mönster för att hoppa över bullriga filer.--skip-git-ignored-files: Synkronisera automatiskt med.gitignore.--skip-excerpts: Håll rapporterna små genom att ta bort kodexempel.
Fas 3: Körtid & Artefakter (Den Sista Linjen)
Skanning av den slutliga artefakten eller den levande miljön.
16. Clamscan (Malware Defense)
För ibland laddar folk upp virus till din S3-bucket.
--exclude/--exclude-dir: Hoppa över fil-/katalogmönster för att spara tid.--detect-pua: Leta efter “Potentiellt Oönskade Program” (adware, miners).--detect-structured: Skanna efter känsliga datamönster som kreditkort/SSN.--scan-pdf/--scan-html: Aktivera djup inspektion för dokumenttyper.--cross-fs: Tillåt skanning över olika filsystem (använd med försiktighet).
17. Nuclei (The Hacker’s Knife)
Mallbaserad skanning som känns olaglig.
-t/--templates: Kör specifika mallfiler eller kataloger.-tags: Rikta in skanningar baserat på teknik (t.ex.wordpress,cve).-s/--severity: Filtrera mallar efter påverkningsnivå.-fr/--follow-redirects: Följ HTTP 301/302 omdirigeringar för att hitta nyttolasten.-passive: Skanna genom att titta på befintliga headers/svar utan att skicka nya “attacker”.-etags fuzz: Exkludera fuzzing-mallar i produktion.
Sammanfattning: Den “Perfekta” Pipelines
- Lokal:
pre-commitkör Gitleaks (baslinje), Trufflehog (verifierad) och Hadolint. - Bygg: Trivy skannar beroenden (
--ignore-unfixed). Syft genererar SBOM. Dependency-Check för efterlevnad. - Test: Checkov och KICS skannar Terraform-planen. Opengrep kontrollerar kodmönster.
- Artefakt: Clamscan kontrollerar den slutliga binären/tillgångarna.
- Distribuera: Nuclei gör sanity checks på den live endpointen.
Justera dina verktyg, annars kommer de att justera dig.
Plexicus gjorde allt det enklare
Med en enhetlig instrumentpanel och tillgång till alla våra verktygsintegrationer, tar det bara några få klick Plexicus


