Zum Inhalt springen

Handbuch

CI/CD-Integration

Headless Security- und Code-Review-Jobs mit Reports, Severity-Schwellen und eindeutigen Exitcodes integrieren.

Geprüfter CLI-Quellstand: 2.4.0 · Redaktionell aktualisiert:

Voraussetzungen und Exitcodes

Sie benötigen Node.js ab 20.9.0, eine installierte CLI, Zugangsdaten aus einem Secretmanager, die erforderliche Abonnementberechtigung und einen vertrauenswürdigen Checkout. Analysen können Code an Dienste übertragen und Kosten verursachen. Schreiben Sie keine echten API-Schlüssel in YAML oder Logs.

ExitBedeutung
0Keine Findings am oder oberhalb des Schwellenwerts, sofern sie nicht als falsch positiv eingestuft sind.
1Blockierende Findings oder eine fehlende beziehungsweise fehlgeschlagene vorgelagerte Berechtigungsprüfung.
2Ausnahme während der Analyse, Reporterstellung, Dateiausgabe oder GitHub-Ausgabe.
3Guthaben erschöpft; Teilreport möglich, erst nach Report-/PR-/Uploadversuchen gesetzt.

Die Schweregrade sind critical, high, medium, low und info. --fail-on ist standardmäßig high; ungültige Schweregrade fallen auf high zurück, auch beim Kommentarminimum. Unbekannte Ausgabeformate fallen auf JSON zurück. Exitcode 0 ist kein Beweis für vollständige Sicherheit.

Alle Security-CI-Flags

Achtung: Reports können vorhandene Zieldateien überschreiben. Prüfen Sie den Ausgabepfad vor der Ausführung.

lurus security-ci --diff --fail-on high --format sarif --output lurus-security-results.sarif --no-upload
FlagDefault / Wirkung
-m, --model <model>Optionale öffentliche Auswahl.
-f, --format <format>sarif, json, html oder text; standardmäßig sarif.
-o, --output <path>lurus-security-results.sarif, Reportdatei/ggf Ordner.
--fail-on <severity>high.
--diffDiff statt gesamtes Projekt.
--diff-base <ref>Git-Vergleichsreferenz; die Hilfe nennt HEAD, nicht pauschal origin/main.
--no-uploadUnterbindet den standardmäßig aktivierten Befundupload.
--pr-commentsOptionale GitHub-PR-Kommentare.
--comment-min-severity <severity>medium.

Der Upload enthält bei vorhandenen Findings den Projektnamen, die Findings und die Zusammenfassung. --no-upload verhindert nicht Modellanfragen, Reports, GitHub-Zusammenfassungen oder ausdrücklich angeforderte PR-Aktionen. Die Option ermöglicht keinen vollständigen Offlinebetrieb.

Alle Code-Review-CI-Flags

lurus code-review-ci --staged --fail-on high --format json --output lurus-code-review-results.json
FlagDefault / Wirkung
-m, --model <model>Optionale öffentliche Auswahl.
-f, --format <format>json, html oder text; standardmäßig json.
-o, --output <path>lurus-code-review-results.json.
--fail-on <severity>high.
--fullVollprojekt statt default Gitdiff.
--stagedNur staged Änderungen.
--diff-base <ref>Gitbasis.
--pr-commentsOptionale Inline-Review-Kommentare.
--verdictOptionale PRreview APPROVE/REQUEST_CHANGES.
--comment-min-severity <severity>medium.

Als falsch positiv eingestufte Findings führen nicht zum Überschreiten der Fehlerschwelle. Unterscheiden Sie Guthaben- und Ausführungsfehler von Reviewbefunden.

GitHub Actions

Passen Sie dieses manuell gestartete Beispiel an Ihre CI-Umgebung an. Hinterlegen Sie Secrets über deren geschützte Verwaltung und fixieren Sie Actionrevisionen gemäß Ihren Lieferkettenregeln. Führen Sie nicht vertrauenswürdigen Forkcode niemals automatisch mit Secrets, Schreibrechten oder ausführbarer Projektkonfiguration aus.

name: Lurus review
on: [workflow_dispatch]
permissions:
  contents: read
jobs:
  review:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - uses: actions/setup-node@v4
        with:
          node-version: '22'
      - run: npm install -g @scramble-cloud/lurus-code-cli
      - run: lurus security-ci --format sarif --no-upload
        env:
          LURUS_API_KEY: ${{ secrets.LURUS_API_KEY }}

Bei GITHUB_ACTIONS=true werden Zusammenfassung und Ausgabewerte ergänzt. Securityjobs liefern total_findings, blocking_findings und passed. Ausdrücklich aktivierte PR-Kommentare benötigen GITHUB_TOKEN, GITHUB_EVENT_PATH und passende PR- und Repositorydaten. Fehlen Voraussetzungen, werden Kommentare übersprungen; Fehler werden protokolliert. Eine Reviewentscheidung benötigt zusätzlich --verdict, passenden GitHub-Kontext und ein entsprechendes Analyseergebnis.

PR-Kommentare und Reviewentscheidungen sind extern sichtbar. Aktivieren Sie sie bewusst und erteilen Sie nur erforderliche Schreibrechte. Verwenden Sie weder gefährliche Freigabemodi noch automatische Zustimmung als pauschalen Standard.

GitLab CI

Beispiel für einen manuell gestarteten Job:

lurus-review:
  image: node:22
  when: manual
  variables:
    GIT_DEPTH: '0'
  script:
    - npm install -g @scramble-cloud/lurus-code-cli
    - lurus code-review-ci --format json --output lurus-code-review-results.json
  artifacts:
    when: always
    paths:
      - lurus-code-review-results.json

Hinterlegen Sie LURUS_API_KEY geschützt und maskiert in der CI-Secretverwaltung, nicht im YAML. Verwenden Sie Reports und Exitcodes des automatisierten Laufs. GitHub-PR-Flags erzeugen keine allgemeinen GitLab-Kommentare.

Andere Runner

Jenkins, CircleCI und andere Runner können dieselben CLI-Befehle mit Node.js, geschützten Zugangsdaten aus der Umgebung und einem vorhandenen Checkout ausführen. Ein universelles Plugin wird nicht zugesichert. Sichern Sie Reports auch bei Exitcode 1 oder 3 als Artefakte und ignorieren Sie Fehlercodes nicht pauschal. Beachten Sie Ihre CI-Berechtigungen und Lieferkettenregeln.

Abnahme und Sicherheit

Prüfen Sie Analyseumfang, Vergleichsbasis, Schwellenwert, tatsächlich erzeugten Report und Exitcode. Achten Sie auf geheime Werte in Logs sowie bewusst aktivierte PR-Aktionen und Uploads. Vergleichen Sie Parameter mit der Referenz. Automation erklärt andere Ausgabeformate; Berechtigungen beschreibt nichtinteraktive Grenzen.

Eine bewusste Entscheidung

Vor dem ersten Prompt.

Interaktive Demo
Lurus Codeprivacy-demo · beispielhafter Workspace

Demo-Sitzung bereit. Modellwahl und Datenweg sind getrennte Entscheidungen.

Inszeniertes Beispiel. Keine echte Anmeldung, Sicherheitsprüfung oder Codeübertragung.

Bildvorschau