Ihre Pipelines sind Code. Also lesen wir sie.
Ihre Workflow-Dateien, gelesen wie Code: Injection, ungepinnte Actions, Tokens und Vertrauen, jeweils mit Fix.
- KritischWorkflow-Injectionrelease.yml:24
run: echo "${{ github.event.pull_request.title }}"env: TITLE: ${{ github.event.pull_request.title }}run: echo "$TITLE"Fix bereitDer Titel wandert in eine Umgebungsvariable, raus aus der Shell.
Pipeline-Schwachstellen, in der Datei gefunden.
Workflow-Injection
- ${{ github.event.pull_request.title }}
Ungepinnte Actions
- actions/checkout@v3
- actions/setup-node@main
Überprivilegierte Tokens
- permissions: write-all
OIDC-Vertrauen
- "sub": "repo:acme/*"
Die Injection, im Workflow behoben.
Wie geschrieben
run: echo "${{ github.event.pull_request.title }}"Der Pull-Request-Titel erreicht run: in der Shell.
Mit dem Fix
env: TITLE: ${{ github.event.pull_request.title }}run: echo "$TITLE"Der Titel wandert in eine Umgebungsvariable, raus aus der Shell.
Von Ihrem Agenten behoben, in der Sitzung.
Ihr Agent liest diese Funde beim Schreiben und behebt sie in derselben Sitzung.
- CI/CDScannt das Repository bei jedem Push.Gefunden
- VibeDefendGibt das Finding an Ihren Coding-Agenten.Bereitgestellt
- Ihr AgentBehebt es in der Sitzung.Behoben
- CommitGeht ohne die Lücke rein.Sauber
Claude Code
Cursor
WindsurfGitHub Copilot
OpenAI Codex
Beginnen Sie mit einem Repository.
Verbinden Sie GitHub, GitLab, Bitbucket oder Azure DevOps, wählen Sie ein Repository, und der erste Scan startet.
Im Detail
Sechs Pipeline-Lücken, in der Datei gefunden.
- CWE-77, CWE-78
Workflow-Injection
Ungepinnte Actions
Überprivilegierte Tokens
OIDC-Vertrauen
Secret-Lecks
Cache- und Artefakt-Vergiftung
Alles, was er prüft
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 vollwertiges Asset
GitHub Actions, GitLab CI, Jenkinsfile
Findings direkt im PR
Sechs Fehler, direkt in der Datei.
Wir überführen Ihre Workflows in einen AST und einen Datenflussgraphen und wenden dann unsere eigenen Regelpakete an.
Workflow Injection (CWE-77 / 78)
Ungepinnte und ungeprüfte Actions
Überprivilegierte Tokens
Fehlkonfigurierter OIDC-Trust
Muster für Secret-Lecks
Cache- und Artefakt-Poisoning
Vom YAML zur Korrektur
Das YAML ist unsicher.
Beurteilt vor dem Lauf.
Gepinnt und begrenzt.
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.
Sechs CI-Dialekte speisen einen Parser: GitHub Actions, GitLab CI, Bitbucket, Azure DevOps, Jenkins, CircleCI.
Commit a3f9c2e ändert release.yml. Der Build startet zwei Runs: #4821 und #4822.
Am Gate wird release.yml so gelesen, wie ein Angreifer es lesen würde: Trigger, Permissions, jedes uses: und run:.
#4821 ist blockiert: pull_request_target mit contents: write und eine ungepinnte Action erreichen den Deploy-Job nie.
#4822 geht nach prod-eu: gepinnter SHA, Read-only-Token, der PR-Titel bleibt außerhalb der Shell.