Training Module
SAST & Secret Detection: Verwundbarkeiten im Quellcode automatisiert finden
In diesem 130-Minuten-Modul lernt ihr zwei der acht Sicherheitswerkzeug-Klassen aus der
Tool-Taxonomie hands-on statt nur begrifflich kennen: SAST (Static
Application Security Testing) als Whitebox-Analyse des eigenen Quellcodes, ohne dass der
Code dafür ausgeführt wird, und Secret Detection als gezielte Suche nach
hartcodierten Zugangsdaten in Code und Git-Historie. Im ersten Hands-on-Block scannt ihr
ein absichtlich verwundbares Sample-Repository mit
semgrep: SQL-Injection, Command-Injection, unsichere
Deserialisierung und ein schwacher Hash-Algorithmus kommen als reale Findings zurück, die
ihr nach Severity sortiert, echt behebt und für einen nachweislich falsch positiven Fund
eine begründete Inline-Ausnahme setzt, statt den Scanner stillschweigend zu ignorieren. Im
zweiten Hands-on-Block jagt ihr mit gitleaks ein Secret, das
im aktuellen Stand längst durch eine Umgebungsvariable ersetzt wurde, aber in einem älteren
Commit nach wie vor in der Git-Historie liegt, konfiguriert danach eine Baseline für diesen
bekannten Fund und seht live, dass dieselbe Baseline einen neu eingebauten Fund trotzdem
nicht durchlässt. Zum Abschluss ordnet ihr beide Scanner als Quality Gate in eine
CI/CD-Pipeline ein. Komplett lokal mit Semgrep und Gitleaks: kein Cloud-Account, keine
Kostenwirkung.
Teil der Cybersecurity-Weiterbildung: Querschnitt aus DevSecOps, Docker, Kubernetes und Secrets-Management.
Format
130 Minuten, live (remote oder vor Ort), Input & zwei vollständige Hands-on-Blöcke auf einem selbst gebauten Sample-Repository bzw. einer eigenen Git-Historie
Teilnehmende
Entwickler:innen und DevSecOps-Engineers, die Sourcecode-Scanning in die CI/CD-Pipeline einbauen wollen
Voraussetzungen
Kein eigener Cloud-Account nötig: alles läuft lokal. Semgrep und Gitleaks lokal installiert, Git-Grundkenntnisse hilfreich.
Warum dieses Training für deine Organisation wirkt
Zwei Scanner-Klassen, zwei echte Läufe
Wo die Tool-Taxonomie SAST und Secret Detection nur als zwei von acht Klassen nennt,
installiert und bedient ihr hier beide Scanner selbst: ein echter
semgrep-Lauf gegen echten verwundbaren Code, ein echter
gitleaks-Lauf gegen eine echte Git-Historie.
Finding ist nicht gleich Finding
Ihr behebt echte Treffer (SQL-Injection, Command-Injection) tatsächlich im Code und lernt am selben Lauf, wie eine begründete, dokumentierte Ausnahme für einen nachweislich falsch positiven Fund aussieht, statt den Scanner pauschal leiser zu stellen.
Historie ist nicht derselbe Stand
Ein Scan des aktuellen Code-Stands findet 0 Secrets, derselbe Scan über die komplette Git-Historie findet das Secret trotzdem, live demonstriert. Danach seht ihr, dass eine Baseline einen bekannten Fund unterdrückt, einen neuen aber nicht.
Was Teilnehmende mitnehmen
- SAST als Whitebox-Analyse des eigenen Quellcodes gegenüber DAST/IAST (Blackbox bzw. kombinierte Laufzeitanalyse) einordnen, Rückverweis auf die Tool-Taxonomie aus DevSecOps Werkzeuge & Compliance, keine Doppelerklärung.
- Ein absichtlich verwundbares Sample-Repository mit
semgrep scan –config autoscannen und die Ausgabe lesen (Rule-ID, Severity, Datei, Zeile, betroffener Codeausschnitt). - Findings triagieren: echte Treffer (SQL-Injection, Command-Injection, unsichere Deserialisierung, schwacher Hash-Algorithmus) im Code tatsächlich beheben, einen nachweislich falsch positiven Fund per Inline-Kommentar (
nosemgrep) mit dokumentierter Begründung unterdrücken, Abgleich mit der Musterlösung. - Secret Detection von SAST abgrenzen: Pattern- und Entropie-basierte Suche statt Code-Analyse, Pre-Commit-Scan (schnell, lokal, vor dem Commit) gegenüber Pipeline-Scan (vollständig, zentral, nach dem Push).
- Mit
gitleaks detectdie komplette Git-Historie statt nur den aktuellen Dateistand scannen und live sehen, dass ein längst “entferntes” Secret in einem älteren Commit trotzdem gefunden wird. - Eine Baseline (
–baseline-path) für bereits bekannte, bewertete Funde konfigurieren und am eigenen Beispiel nachweisen, dass dieselbe Baseline ein neu eingebautes Secret trotzdem nicht durchlässt. - Beide Scanner als Quality Gate in eine CI/CD-Pipeline einordnen, inklusive Exit-Code-Verhalten als Build-Abbruch-Kriterium bei einem offenen Fund.
Für wen dieses Modul ideal ist
- • Entwickler:innen, die SAST und Secret Detection aus der Tool-Taxonomie jetzt hands-on statt nur begrifflich umsetzen wollen
- • DevSecOps-Engineers, die ein Quality Gate für Sourcecode-Scanning in eine CI/CD-Pipeline einbauen wollen
- • Teams, die nach einem Secret-Vorfall ein wiederholbares Vorgehen (Historie scannen, Baseline, Rotation) statt einer einmaligen Ad-hoc-Reaktion aufbauen wollen
Rahmendaten
- • Dauer: 130 Minuten live (remote oder vor Ort)
- • Format: Input, Live-Demo, zwei vollständige Hands-on-Blöcke auf einem selbst gebauten Sample-Repository bzw. einer eigenen Git-Historie
- • Voraussetzungen: Kein eigener Cloud-Account nötig, Semgrep und Gitleaks lokal installiert, Git-Grundkenntnisse hilfreich
Modulaufbau & Agenda
Kick-off & Abgrenzung (10 min): Format, Ablauf und Abgrenzung zu DevSecOps Werkzeuge & Compliance (dort Tool-Taxonomie rein begrifflich, ausdrücklich “kein Scanner-Setup, keine Tool-Installation”) und zu Container Image Scanning & Vulnerability Management mit Trivy (dort Binary/Artifact-Ebene eines gebauten Images, hier Quellcode-Ebene vor dem Build). Hier stattdessen echtes Scanner-Hands-on auf Sourcecode-Ebene.
SAST-Grundlagen (25 min): Whitebox-Analyse ohne Codeausführung, Regelsätze/Rule-IDs als Grundlage jedes Findings, Severity-Einordnung, Umgang mit False Positives (Triage statt pauschales Stummschalten), Abgrenzung zu Dependency Scanning (fremder Code in Abhängigkeiten statt eigener Quellcode).
Hands-on 1: Semgrep-Scan & Triage (30 min): ein absichtlich verwundbares Sample-Repository mit
semgrep scan –config autoscannen, die gefundenen Rule-IDs und Severities lesen, echte Treffer (SQL-Injection, Command-Injection, unsichere Deserialisierung, schwacher Hash) im Code beheben, für einen nachweislich falsch positiven Fund eine begründetenosemgrep-Inline-Ausnahme setzen, Abgleich mit der Musterlösung.Secret Detection (20 min): Funktionsweise (Pattern-/Entropie-basierte Suche statt Code-Analyse), Pre-Commit- gegenüber Pipeline-Scan, der Unterschied zwischen einem Scan des aktuellen Stands und einem Scan der kompletten Git-Historie.
Hands-on 2: Gitleaks über Repo-Historie & Baseline (30 min): eine Git-Historie mit einem absichtlich eingebauten, später durch eine Umgebungsvariable ersetzten Secret mit
gitleaks detectüber die komplette Historie scannen, denselben Scan nur gegen den aktuellen Stand wiederholen, eine Baseline für den bekannten Fund konfigurieren und live sehen, dass ein neu eingebautes Secret trotz Baseline das Gate wieder blockiert, Abgleich mit der Musterlösung.Quality-Gate-Integration in CI/CD & Fazit (15 min): beide Scanner als Pipeline-Stage mit Exit-Code-Abbruch einordnen, Zusammenfassung, offene Fragen, Kontaktmöglichkeit.
Abgrenzung: Dieses Modul behandelt bewusst keine erneute Tool-Taxonomie oder Compliance-Governance (dafür DevSecOps Werkzeuge & Compliance), kein Container Image Scanning auf Binary/Artifact-Ebene (dafür Container Image Scanning & Vulnerability Management mit Trivy), keine DAST-/IAST-Vertiefung oder Dependency Scanning (in der Tool-Taxonomie des Nachbarmoduls nur erwähnt, hier nicht wiederholt) und keine SBOM-/Audit-Trail-Vertiefung (dafür DevSecOps Artefakte).
Hands-on Inhalte (Auszug)
SAST-Grundlagen & Semgrep
- Whitebox-Analyse ohne Codeausführung, Regelsätze/Rule-IDs
- Severity-Einordnung, Umgang mit False Positives als Triage
- Kein Cloud-Account, keine Kostenwirkung
Semgrep-Scan & Triage
- Absichtlich verwundbares Sample-Repo mit
semgrep scan –config autoscannen - Echte Treffer (SQLi, Command-Injection, Deserialisierung, schwacher Hash) beheben
- Falsch positiven Fund per
nosemgrepbegründet unterdrücken
Secret Detection
- Pattern-/Entropie-basierte Suche statt Code-Analyse
- Pre-Commit-Scan gegenüber Pipeline-Scan
- Aktueller Stand gegenüber kompletter Git-Historie
Gitleaks, Historie & Baseline
gitleaks detectüber die komplette Git-Historie eines Sample-Repos- Baseline für einen bekannten Fund konfigurieren
- Neuer Fund blockiert das Gate trotz Baseline weiterhin
Dieses Modul ist Teil unserer Pilotphase. Gemeinsam mit euch definieren wir passende Metriken (z. B. Zeit bis zur korrekt begründeten Triage-Entscheidung, Ergebnis des Gitleaks-Laufs nach dem neu eingebauten Secret) und werten sie im Anschluss transparent aus. Ergebnisse veröffentlichen wir, sobald sie belastbar sind.
Bereit, das Modul zu buchen?
Wir passen das Sample-Repository und die Git-Historie auf eure tatsächliche Toolchain an.
Academy Briefing anfragen