Produkt · CI/CD

Ihre Pipelines sind Code.Wir lesen sie so.

Statische Analyse Ihrer Workflow-Dateien. Injection, ungepinnte Actions, überprivilegierte Tokens, OIDC-Drift.

Was der Scanner abfängt06

Sechs Fehler, direkt in der Datei.

Wir parsen Ihre Workflows in AST und Dataflow-Graph und wenden unsere Rule-Packs an.

Workflow Injection (CWE-77 / 78)

Jedes Mal, wenn Sie ${{ github.event.* }}, Branch-Namen, PR-Titel oder Issue-Bodies in einen `run:`-Block interpolieren, schleusen Sie Shell-Code in Ihre eigene Pipeline ein. Der Scanner markiert jeden nicht vertrauenswürdigen Input und folgt ihm durch jeden Step bis in die Shell, auch über Composite Actions hinweg.

Ungepinnte und untrusted Actions

@v3, @main, @latest, jede lose Ref ist ein künftiger Supply-Chain-Incident. Der Scanner markiert jede Action, die nicht auf einen vollen SHA gepinnt ist, jede Action von einem unverifizierten Publisher, und gleicht sie mit dem Malicious-Action-Feed ab.

Überprivilegierte Tokens

Standardmäßig hat das GITHUB_TOKEN `write`-Rechte auf fast alles. Wir erkennen nicht gesetzte `permissions:`, zu breite Scopes, die Sie gar nicht nutzen, und empfehlen das minimale Set pro Job.

OIDC-Trust-Misconfigurations

AWS-, Azure- und GCP-Federated-Identity aus GitHub, GitLab und CircleCI. Wir fangen zu breite `sub`-Patterns, fehlende Audience-Checks und Trust Policies, die jeder Fork annehmen kann.

Secret-Leakage-Muster

`echo $SECRET`, Secrets als Positional Args, in Artefakte geloggte Secrets, in Container-Layer eingebackene Secrets. Statisch erkannt, bevor der Runner auch nur eine Zeile ausgibt.

Cache- und Artefakt-Poisoning

Nicht vertrauenswürdige PRs, die in Caches schreiben, aus denen Protected Branches lesen. Wiederverwendung von Self-hosted Runnern ohne Isolation. Artefakt-Uploads aus nicht vertrauenswürdigen Kontexten. Die gesamte Klasse der Cache-Poisoning-CVEs der Jahre ab 2024.

Warum ein statischer Scanner

Misconfig abfangen, bevor der Runner läuft.

Die meisten Pipeline-Vorfälle stehen schon im YAML. Wir lesen es so, wie ein Angreifer es liest.

Pipelines als First-Class-Asset

Workflow-Dateien bekommen dieselbe Sorgfalt wie Ihr Application-Code: AST-Parsing, Taint-Propagation, Source-to-Sink-Analyse. Das Bedrohungsmodell ist pipeline-spezifisch: nicht vertrauenswürdige Trigger, Action-Quellen, Token-Scopes, OIDC-Trust, Runner-Isolation.

GitHub Actions, GitLab CI, Jenkinsfile

First-Class-Parser für die CI-Dialekte, die heute die meisten Pipelines antreiben, inklusive Reusable Workflows, GitLab-`include:`-Ketten und Jenkinsfile (deklarativ und scripted Groovy). Neue Dialekte kommen auf Anfrage dazu.

Findings fließen in den PR

Jedes Finding landet als Inline-Kommentar auf der betroffenen YAML-Zeile, dieselbe Oberfläche wie SAST. Kein neues Dashboard zu lernen, keine separate Triage-Queue, kein privilegierter Runner-Step zu installieren.

Wie der Scanner läuft

Repo verbinden, der Rest läuft automatisch.

Verbinden Sie GitHub oder GitLab. Unsere Scanner ziehen die Pipeline-Dateien und laufen bei jedem Push (oder auf Anfrage). Nichts in Ihrem CI zu installieren, kein privilegierter Runner-Step. Findings fließen ins vereinheitlichte Dashboard und in Ihr PR-Review.

Alle Integrationen ansehen
FAQ

Häufige Fragen zum CI/CD-Scanner.

Ihr scannt meine Pipeline-Dateien, nicht als Step innerhalb meiner Pipeline?

Richtig. Verbinden Sie das Repo ein einziges Mal. Unsere Scanner lesen .github/workflows, .gitlab-ci.yml, Jenkinsfile und den Rest direkt aus und melden Findings als Inline-Kommentare auf der betroffenen Zeile sowie im vereinheitlichten Dashboard. Kein Step, den Sie in Ihre Pipeline einbauen müssten, kein privilegierter Runner zu installieren.

Welche Pipeline-Datei-Formate parst ihr?

GitHub-Actions-Workflows (inklusive Composite und Reusable Workflows), GitLab-CI-YAML (inklusive `include:`-Ketten) und Jenkinsfile (deklarativ und scripted Groovy). Action-Definitions (action.yml plus Dockerfile-Action-Wrapper) werden ebenfalls gelesen, sodass cross-action Taint-Flows getrackt werden. Weitere Dialekte kommen auf Kundenwunsch dazu.

Wie findet ihr Workflow Injection, wenn sie nur bei bestimmten Event-Payloads triggert?

Wir brauchen das Payload gar nicht. Wir markieren jeden Wert, der aus `github.event.*`, `inputs.*`, `head_ref`, `pull_request.title/body` sowie Branch- und Tag-Refs aus einem Fork stammt, und folgen ihm über `env:`, `with:`, Output-Werte und Composite-Action-Grenzen hinweg. Erreicht der markierte Wert einen `run:`-Block, ein `eval` in JavaScript-Actions oder ein per Shell substituiertes Kommando, ist das ein Finding, ganz gleich, ob Sie bereits ausgenutzt wurden oder nicht.

Fangt ihr malicious oder typo-squatted GitHub Actions?

Ja. Jeder `uses:`-Eintrag wird gegen den OpenSSF-Malicious-Action-Feed, die Verified-Publisher-Liste und unsere eigenen Typo-Squat-Heuristiken auf Action-Namen abgeglichen. Ungepinnte Tags werden separat markiert, denn selbst eine legitime Action wird zum Supply-Chain-Risiko, wenn Sie nicht auf einen SHA pinnen.

Was ist mit Secrets in Workflow-Dateien?

Alles, was den Entropy- und Provider-Patterns aus unserem Secret-Detection-Rule-Pack entspricht, wird auch in CI/CD-Dateien markiert. Wir erkennen außerdem Secrets, die als Positional-CLI-Args übergeben werden (in `ps` sichtbar), per `echo` geloggte Secrets und Secrets, die in Reusable-Workflow-Inputs eingebacken sind. Findings werden mit dem Secrets-Scanner dedupliziert, damit Sie sie nicht doppelt bekommen.

Könnt ihr Self-hosted-Runner-Konfigurationen scannen?

Ja. Wir parsen `runs-on:`-Direktiven, erkennen Runner mit geteiltem Filesystem-State über nicht vertrauenswürdige PRs hinweg, markieren fehlende Guards vom Typ `actions/cleanup` und warnen bei Jobs, die zu Root eskalieren oder den Docker-Socket einbinden.

Live · gerade veröffentlicht

VibeDefend installieren in 5 Sekunden.

Ein Befehl verdrahtet jeden Coding-Agenten auf Ihrem Rechner mit CybeDefend: Ihre Business Rules, Ihre Compliance-Frameworks und Guards, die destruktive Aufrufe blockieren, bevor sie ausgelöst werden.

Installation in 5 SekundenNode 18.17+
npx -y @cybedefend/vibedefend@latest install
Erkennt automatisch
  • Claude CodeClaude Code
  • CursorCursor
  • OpenAI CodexOpenAI Codex
  • WindsurfWindsurf
  • GitHub CopilotVS Code Copilot
README auf npm lesen