Seminar SAST mit CodeQL: Codeanalyse und eigene Abfragen

Seminarbeschreibung

CodeQL stellt Quellcode in einer abfragbaren Analysedatenbank bereit. Das Seminar vermittelt die dafür notwendigen Arbeitsschritte und führt schrittweise an die Abfragesprache QL heran. Die Arbeit mit vorhandenen Prüfungen und das Entwickeln kleiner eigener Abfragen werden miteinander verbunden, damit Ergebnisse sowohl genutzt als auch fachlich hinterfragt werden können.

Eine gemeinsame Beispielsprache sorgt für einen zusammenhängenden Lernweg. Aus einer einfachen Suche im Programmmodell entsteht eine begrenzte Datenflussprüfung mit dokumentierten Annahmen. Der Kurs behandelt außerdem Datenbankaufbau, Extraktionsfehler, Ergebnisdarstellung und Regressionstests. Vollständige Modelle komplexer Frameworks oder die gleichzeitige Beherrschung mehrerer CodeQL-Sprachbibliotheken werden nicht vorausgesetzt.

Lernziele

  • Eine CodeQL-Analyseumgebung vorbereiten und Datenbanken nachvollziehbar erzeugen.
  • Vorhandene Query Suites ausführen und Ergebnisse am Code prüfen.
  • Grundlegende QL-Abfragen und begrenzte Datenflussprüfungen entwickeln.
  • Eigene Queries testen und die Analyse für wiederholte Ausführung vorbereiten.

Seminarinhalte

  1. CodeQL-Workflow und Umgebung
  2. Analysedatenbank und vorhandene Prüfungen
  3. Grundlagen der Abfragesprache QL
  4. Datenfluss und Taint-Tracking
  5. Query-Qualität und Regressionstests
  6. Analysepaket und automatisierte Ausführung

CodeQL-Workflow und Umgebung

Werkzeuge, Bibliotheken und Beispieldaten werden zu einer reproduzierbaren Umgebung zusammengeführt. Der Unterschied zwischen Quellprojekt, Analysedatenbank und Ergebnisdatei wird praktisch nachvollzogen.

  • CLI, Editorintegration und Query Packs einordnen.
  • Unterstützte Sprache und geeignete Übungsprojekte auswählen.
  • Nutzungsberechtigung und erforderliche Ressourcen vorab klären.

Analysedatenbank und vorhandene Prüfungen

Die Datenbank wird für einen definierten Projektstand erzeugt und geprüft. Danach werden vorhandene Prüfungen ausgeführt und deren Ergebnisse mit der tatsächlichen Quellcodebasis abgeglichen.

  • Sprachabhängigen Extraktions- und Build-Prozess verstehen.
  • Build- oder Extraktionsfehler und fehlenden Analyseumfang erkennen.
  • Query Suites ausführen und SARIF-Ergebnisse zuordnen.

Grundlagen der Abfragesprache QL

Kleine Abfragen erschließen das Programmmodell schrittweise. Das Verständnis der Abfrageergebnisse steht vor möglichst komplexen Konstruktionen.

  • Typen, Klassen, Prädikate und Beziehungen verwenden.
  • Aufrufe, Argumente und relevante Programmelemente suchen.
  • Treffermenge durch verständliche Bedingungen eingrenzen.

Datenfluss und Taint-Tracking

Eine Sicherheitsfrage wird in Quellen, Senken und zulässige Flüsse übersetzt. Die jeweilige Sprachbibliothek wird so eingesetzt, dass Analyseannahmen und verbleibende Grenzen sichtbar bleiben.

  • Lokale und weiterreichende Datenflussbetrachtung unterscheiden.
  • Quellen, Senken und Barrieren mit konkreter Semantik festlegen.
  • Pfade nachvollziehen und unzutreffende Modellannahmen korrigieren.

Query-Qualität und Regressionstests

Eigene Prüfungen werden gegen kleine Beispielprogramme getestet. Damit lässt sich untersuchen, ob eine Verfeinerung einen Fehlalarm entfernt oder gleichzeitig echte Fehler verdeckt.

  • Positive und negative Testfälle aus Befunden ableiten.
  • Abfragen mit Query-Tests absichern.
  • Meldung, Fundstelle und Pfaddarstellung nachvollziehbar gestalten.

Analysepaket und automatisierte Ausführung

Die erarbeitete Analyse wird für einen wiederkehrenden Projektlauf vorbereitet. Der praktische Schwerpunkt liegt auf eindeutiger Versionierung und brauchbaren Ergebnissen für das Entwicklungsteam.

  • Query Packs und Abhängigkeiten nachvollziehbar festlegen.
  • Berichte einem Commit und einer Analysekonfiguration zuordnen.
  • Automatisierten Lauf und zulässige Ergebnisbereitstellung vorbereiten.

Praktische Übungen

  1. Eine Datenbank aus einem vorbereiteten Python-Projekt erzeugen.
  2. Eine vorhandene Prüfung ausführen und einen Befund am Code nachvollziehen.
  3. Eine eigene QL-Abfrage entwickeln und zu einer begrenzten Datenflussprüfung erweitern.
  4. Zulässige und fehlerhafte Implementierungen als Testfälle ergänzen.
  5. Die Prüfung reproduzierbar ausführen und einen SARIF-Bericht erstellen.

Zielgruppe

Erfahrene Entwickler, Application-Security-Engineers, Security Champions und Verantwortliche für vertiefte statische Codeanalyse.

Voraussetzungen

Sichere Programmierkenntnisse, Git- und Kommandozeilenpraxis sowie Verständnis von Funktionen, Typen und Datenflüssen. Grundlagen von SAST; eigene CodeQL-Kenntnisse sind nicht erforderlich.

Schulungsumgebung

Vorbereitete Linux-VM mit CodeQL CLI, Editorintegration, Query Packs und ausreichend Arbeitsspeicher. Standardmäßig wird Python verwendet. Die CodeQL-Nutzungsbedingungen und die Berechtigung für die vorgesehenen Repositories müssen zur Schulungsumgebung passen; private Unternehmensprojekte werden nur mit geeigneter Berechtigung verwendet.

Weiterführende Seminare

Seminardetails

Dauer: 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr
Preis: Öffentlich oder Live Stream: € 1.797 zzgl. MwSt.
Inhaus: € 5.100 zzgl. MwSt.
Teilnehmeranzahl: min. 2 - max. 8
Teilnehmer: Erfahrene Entwickler, Application-Security-Engineers, Security Champions und Verantwortliche für vertiefte statische Codeanalyse.
Voraussetzungen: Sichere Programmierkenntnisse, Git- und Kommandozeilenpraxis sowie Verständnis von Funktionen, Typen und Datenflüssen. Grundlagen von SAST; eigene CodeQL-Kenntnisse sind nicht erforderlich.
Standorte: Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg
Methoden: Vortrag, Demonstrationen, praktische Übungen am System
Seminararten: Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht
Durchführungsgarantie: ja, ab 2 Teilnehmern
Sprache: Deutsch - bei Firmenseminaren ist auch Englisch möglich
Seminarunterlage: Dokumentation auf Datenträger oder als Download
Teilnahmezertifikat: ja, selbstverständlich
Verpflegung: Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch)
Support: 3 Anrufe im Seminarpreis enthalten
Barrierefreier Zugang: an den meisten Standorten verfügbar
  Weitere Informationen unter + 49 (221) 74740055

Seminartermine

Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.

Seminar Startdatum Enddatum Ort Dauer
Bern 3 Tage
Luzern 3 Tage
Inhaus / Firmenseminar 3 Tage
Sankt Gallen 3 Tage
Basel 3 Tage
Winterthur 3 Tage
Zürich 3 Tage
Stream live 3 Tage
Stream gespeichert 3 Tage
Stream gespeichert 3 Tage
Luzern 3 Tage
Bern 3 Tage
Inhaus / Firmenseminar 3 Tage
Sankt Gallen 3 Tage
Basel 3 Tage
Winterthur 3 Tage
Zürich 3 Tage
Stream live 3 Tage
Stream live 3 Tage
Stream gespeichert 3 Tage
Luzern 3 Tage
Bern 3 Tage
Inhaus / Firmenseminar 3 Tage
Sankt Gallen 3 Tage
Basel 3 Tage
Winterthur 3 Tage
Zürich 3 Tage
Zürich 3 Tage
Stream live 3 Tage
Stream gespeichert 3 Tage
Luzern 3 Tage
Bern 3 Tage
Inhaus / Firmenseminar 3 Tage
Sankt Gallen 3 Tage
Basel 3 Tage
Winterthur 3 Tage
Winterthur 3 Tage
Zürich 3 Tage
Stream live 3 Tage
Stream gespeichert 3 Tage
Nach oben
Seminare als Stream SRI zertifiziert
© 2026 www.seminar-experts.ch All rights reserved.  | Kontakt | Impressum | Cookie-Einstellungen | Nach oben