Ihr Code wird nie gespeichert. Verarbeitung ausschließlich in EU-Rechenzentren. DSGVO-konform.
Zu unseren SicherheitsstandardsCI/CD-Integration Guides
Security & Code Review in der Pipeline automatisieren
Integriere Lurus Code in wenigen Minuten in deine bestehende CI/CD-Infrastruktur. Headless-Ausführung, definierte Exit-Codes, SARIF-Output und native PR-Integration.
Wie die CI/CD-Integration funktioniert
Lurus Code bietet zwei dedizierte CI/CD-Befehle: lurus security-ci für automatisiertes Security Scanning und lurus code-review-ci für KI-gestütztes Code Review. Beide Befehle laufen headless (kein Browser erforderlich), erzeugen maschinenlesbare Ausgaben und geben standardisierte Exit-Codes zurück.
Exit-Codes
Authentifizierung in CI/CD
Setze LURUS_API_KEY als Umgebungsvariable oder Secret in deinem CI/CD-System. Committe niemals API-Keys in dein Repository.
export LURUS_API_KEY=dein-api-key-hier GitHub Actions
GitHub Actions wird von Lurus Code nativ unterstützt. Die CLI erkennt automatisch die GITHUB_ACTIONS-Umgebungsvariable und schreibt Ergebnisse in GITHUB_STEP_SUMMARY und GITHUB_OUTPUT.
total_findings, blocking_findings, passed Inline-PR-Review-Kommentare via --pr-comments Automatisches PR-Verdict (APPROVE / REQUEST_CHANGES) via --verdict SARIF-Upload zu GitHub Code Scanning Security Scan bei Pull Requests
Führe bei jedem PR einen Security Scan durch und poste Findings als Inline-Review-Kommentare.
name: Lurus Security Scan
on:
pull_request:
branches: [main, develop]
jobs:
security-scan:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write # Erforderlich für PR-Kommentare
security-events: write # Erforderlich für SARIF-Upload
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Vollständige History für git diff
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Lurus Code CLI installieren
run: npm install -g @scramble-cloud/lurus-code-cli
- name: Lurus Security Scan ausführen
run: lurus security-ci --diff --pr-comments --fail-on high
env:
LURUS_API_KEY: ${{ secrets.LURUS_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: SARIF zu GitHub Code Scanning hochladen
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: lurus-security-results.sarif Code Review mit automatischem Verdict
Führe bei jedem PR ein KI-Code-Review durch und genehmige oder lehne automatisch ab.
name: Lurus Code Review
on:
pull_request:
branches: [main, develop]
jobs:
code-review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Lurus Code CLI installieren
run: npm install -g @scramble-cloud/lurus-code-cli
- name: Lurus Code Review ausführen
run: lurus code-review-ci --pr-comments --verdict --fail-on high
env:
LURUS_API_KEY: ${{ secrets.LURUS_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} Kombinierte Pipeline (Security + Review)
Führe Security Scan und Code Review parallel aus für maximale Abdeckung.
name: Lurus Full CI Check
on:
pull_request:
branches: [main, develop]
jobs:
security-scan:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
security-events: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm install -g @scramble-cloud/lurus-code-cli
- name: Security Scan
run: lurus security-ci --diff --pr-comments --fail-on high
env:
LURUS_API_KEY: ${{ secrets.LURUS_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: SARIF hochladen
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: lurus-security-results.sarif
code-review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm install -g @scramble-cloud/lurus-code-cli
- name: Code Review
run: lurus code-review-ci --pr-comments --verdict --fail-on high
env:
LURUS_API_KEY: ${{ secrets.LURUS_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} Geplanter vollständiger Projekt-Scan
Führe regelmäßig (z. B. nächtlich) einen vollständigen Security Scan der gesamten Codebase durch.
name: Lurus Nightly Security Scan
on:
schedule:
- cron: '0 2 * * *' # Jede Nacht um 2:00 Uhr UTC
workflow_dispatch: # Manueller Trigger
jobs:
full-security-scan:
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Lurus Code CLI installieren
run: npm install -g @scramble-cloud/lurus-code-cli
- name: Vollständiger Security Scan
run: |
lurus security-ci \
--format sarif \
--output lurus-security-results.sarif \
--fail-on critical
env:
LURUS_API_KEY: ${{ secrets.LURUS_API_KEY }}
- name: SARIF zu GitHub Code Scanning hochladen
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: lurus-security-results.sarif security-ci
total_findings Gesamtzahl der Findings blocking_findings Findings ab --fail-on-Schwellenwert passed `true` wenn keine blockierenden Findings code-review-ci
total_findings Gesamtzahl der Review-Findings blocking_findings Findings ab --fail-on-Schwellenwert verdict `approve`, `needsChanges` oder `comment` passed `true` wenn keine blockierenden Findings GitLab CI
Integriere Lurus Code über .gitlab-ci.yml in deine GitLab CI/CD-Pipeline. Nutze GitLab CI/CD-Variablen zur sicheren Verwaltung des API-Keys.
Security Scan bei Merge Requests
Scanne geänderte Dateien bei jedem Merge Request und lasse die Pipeline bei high+-Findings fehlschlagen.
stages:
- security
lurus-security-scan:
stage: security
image: node:20-alpine
only:
- merge_requests
before_script:
- npm install -g @scramble-cloud/lurus-code-cli
script:
- lurus security-ci
--diff
--format sarif
--output gl-sast-report.sarif
--fail-on high
variables:
LURUS_API_KEY: $LURUS_API_KEY
artifacts:
when: always
reports:
sast: gl-sast-report.sarif
paths:
- gl-sast-report.sarif
expire_in: 1 Woche Code Review bei Merge Requests
Führe ein KI-Code-Review durch und generiere einen HTML-Report als herunterladbares Artefakt.
stages:
- review
lurus-code-review:
stage: review
image: node:20-alpine
only:
- merge_requests
before_script:
- npm install -g @scramble-cloud/lurus-code-cli
script:
- lurus code-review-ci
--format html
--output code-review-report.html
--fail-on high
variables:
LURUS_API_KEY: $LURUS_API_KEY
artifacts:
when: always
paths:
- code-review-report.html
expire_in: 1 Woche Vollständige Pipeline mit beiden Befehlen
Komplette GitLab CI-Konfiguration mit Security Scan und Code Review parallel.
stages:
- lurus-checks
variables:
LURUS_API_KEY: $LURUS_API_KEY
.lurus-base:
image: node:20-alpine
only:
- merge_requests
before_script:
- npm install -g @scramble-cloud/lurus-code-cli
lurus-security:
extends: .lurus-base
stage: lurus-checks
script:
- lurus security-ci --diff --format sarif --fail-on high
artifacts:
when: always
reports:
sast: lurus-security-results.sarif
expire_in: 1 Woche
lurus-review:
extends: .lurus-base
stage: lurus-checks
script:
- lurus code-review-ci --format html --output review.html --fail-on high
artifacts:
when: always
paths:
- review.html
expire_in: 1 Woche ℹ️GitLab CI/CD-Variablen einrichten
- 1 Gehe zu deinem Projekt → Settings → CI/CD → Variables
- 2 Neue Variable hinzufügen: Key =
LURUS_API_KEY, Value = dein API-Key - 3 "Mask variable" aktivieren, um den Wert in Job-Logs zu verstecken
- 4 "Protect variable" aktivieren, um sie auf geschützte Branches zu beschränken
Jenkins
Integriere Lurus Code in Jenkins über eine Declarative Pipeline (Jenkinsfile). Speichere deinen API-Key als Jenkins-Credential.
Security Scan Pipeline
Ein Jenkinsfile, das einen Security Scan auf Pull-Request-Branches ausführt.
pipeline {
agent {
docker {
image 'node:20-alpine'
}
}
environment {
LURUS_API_KEY = credentials('lurus-api-key')
}
stages {
stage('Installieren') {
steps {
sh 'npm install -g @scramble-cloud/lurus-code-cli'
}
}
stage('Security Scan') {
steps {
sh '''
lurus security-ci \
--diff \
--format sarif \
--output lurus-security-results.sarif \
--fail-on high
'''
}
post {
always {
archiveArtifacts artifacts: 'lurus-security-results.sarif',
allowEmptyArchive: true
}
}
}
}
post {
failure {
echo 'Security Scan fehlgeschlagen – blockierende Findings gefunden'
}
success {
echo 'Security Scan bestanden'
}
}
} Code Review Pipeline mit HTML-Report
Führe ein Code Review durch und veröffentliche den HTML-Report in der Jenkins-Oberfläche.
pipeline {
agent {
docker {
image 'node:20-alpine'
}
}
environment {
LURUS_API_KEY = credentials('lurus-api-key')
}
stages {
stage('Installieren') {
steps {
sh 'npm install -g @scramble-cloud/lurus-code-cli'
}
}
stage('Code Review') {
steps {
sh '''
lurus code-review-ci \
--format html \
--output code-review-report.html \
--fail-on high
'''
}
post {
always {
publishHTML(target: [
allowMissing: true,
alwaysLinkToLastBuild: true,
keepAll: true,
reportDir: '.',
reportFiles: 'code-review-report.html',
reportName: 'Lurus Code Review Report'
])
}
}
}
}
} Vollständige Pipeline mit parallelen Stages
Führe Security Scan und Code Review parallel aus für schnelleres Feedback.
pipeline {
agent {
docker {
image 'node:20-alpine'
}
}
environment {
LURUS_API_KEY = credentials('lurus-api-key')
}
stages {
stage('Installieren') {
steps {
sh 'npm install -g @scramble-cloud/lurus-code-cli'
}
}
stage('Lurus Checks') {
parallel {
stage('Security Scan') {
steps {
sh 'lurus security-ci --diff --fail-on high'
}
post {
always {
archiveArtifacts artifacts: 'lurus-security-results.sarif',
allowEmptyArchive: true
}
}
}
stage('Code Review') {
steps {
sh 'lurus code-review-ci --format html --output review.html --fail-on high'
}
post {
always {
publishHTML(target: [
reportDir: '.',
reportFiles: 'review.html',
reportName: 'Code Review Report'
])
}
}
}
}
}
}
post {
failure {
echo 'Lurus Checks fehlgeschlagen – Findings prüfen'
}
}
} ℹ️API-Key als Jenkins-Credential hinzufügen
- 1 Gehe zu Jenkins → Manage Jenkins → Manage Credentials
- 2 Klicke "Add Credentials" → Kind: "Secret text"
- 3 ID:
lurus-api-key, Secret: dein API-Key - 4 Im Jenkinsfile referenzieren mit
credentials('lurus-api-key')
CircleCI
Füge Lurus Code über .circleci/config.yml zu deiner CircleCI-Konfiguration hinzu. Speichere deinen API-Key als CircleCI-Umgebungsvariable.
Security Scan Job
Ein CircleCI-Job, der bei jedem Push auf einen PR-Branch einen Security Scan ausführt.
version: 2.1
jobs:
lurus-security-scan:
docker:
- image: cimg/node:20.0
steps:
- checkout
- run:
name: Lurus Code CLI installieren
command: npm install -g @scramble-cloud/lurus-code-cli
- run:
name: Security Scan ausführen
command: |
lurus security-ci \
--diff \
--format sarif \
--output lurus-security-results.sarif \
--fail-on high
- store_artifacts:
path: lurus-security-results.sarif
destination: security-report
workflows:
pr-checks:
jobs:
- lurus-security-scan:
filters:
branches:
ignore: main Code Review Job
Führe ein KI-Code-Review durch und speichere den HTML-Report als CircleCI-Artefakt.
version: 2.1
jobs:
lurus-code-review:
docker:
- image: cimg/node:20.0
steps:
- checkout
- run:
name: Lurus Code CLI installieren
command: npm install -g @scramble-cloud/lurus-code-cli
- run:
name: Code Review ausführen
command: |
lurus code-review-ci \
--format html \
--output code-review-report.html \
--fail-on high
- store_artifacts:
path: code-review-report.html
destination: code-review-report
workflows:
pr-checks:
jobs:
- lurus-code-review:
filters:
branches:
ignore: main Vollständiger Workflow mit parallelen Jobs
Komplette CircleCI-Konfiguration mit Security Scan und Code Review parallel.
version: 2.1
executors:
node-executor:
docker:
- image: cimg/node:20.0
commands:
install-lurus:
steps:
- run:
name: Lurus Code CLI installieren
command: npm install -g @scramble-cloud/lurus-code-cli
jobs:
lurus-security:
executor: node-executor
steps:
- checkout
- install-lurus
- run:
name: Security Scan
command: |
lurus security-ci \
--diff \
--fail-on high \
--format sarif
- store_artifacts:
path: lurus-security-results.sarif
lurus-review:
executor: node-executor
steps:
- checkout
- install-lurus
- run:
name: Code Review
command: |
lurus code-review-ci \
--fail-on high \
--format html \
--output review.html
- store_artifacts:
path: review.html
workflows:
pr-pipeline:
jobs:
- lurus-security:
context: lurus-credentials
filters:
branches:
ignore: main
- lurus-review:
context: lurus-credentials
filters:
branches:
ignore: main ℹ️CircleCI-Umgebungsvariablen einrichten
- 1 Gehe zu deinem CircleCI-Projekt → Project Settings → Environment Variables
- 2
LURUS_API_KEYmit deinem API-Key als Wert hinzufügen - 3 Alternativ einen CircleCI Context anlegen (Organization Settings → Contexts) für projektübergreifende Nutzung
- 4 Context im Workflow referenzieren mit
context: dein-context-name
Best Practices
API-Key sicher speichern
LURUS_API_KEY immer als verschlüsseltes Secret/Credential im CI/CD-System speichern. Niemals in Konfigurationsdateien hardcoden.
--diff für PR-Pipelines verwenden
In PR-Pipelines --diff nutzen, um nur geänderte Dateien zu scannen. Das ist schneller, günstiger und liefert relevanteren Feedback.
Mit --fail-on critical beginnen
Mit --fail-on critical starten und den Schwellenwert schrittweise senken, während das Team bestehende Issues behebt.
Reports als Artefakte archivieren
SARIF- und HTML-Reports immer als CI-Artefakte archivieren – auch wenn der Job erfolgreich ist.
Separate Jobs für Security und Review
security-ci und code-review-ci als separate parallele Jobs ausführen für schnelleres Feedback und unabhängige Fehlerzustände.
Vollständige Scans separat planen
In PR-Pipelines --diff nutzen und vollständige Projekt-Scans (ohne --diff) nächtlich oder wöchentlich einplanen.
Bereit, deine Pipeline zu automatisieren?
Hol dir deinen API-Key und integriere Lurus Code noch heute in deinen CI/CD-Workflow.