
GitHub Action: Offensive360-SAST-Scan mit SARIF-Ausgabe für Code-Scanning. 60+ Sprachen. Kostenlos für Open Source.
Führen Sie bei jedem Push oder Pull Request einen vollständigen Offensive360 Static Application Security Scan (SAST) durch. Tiefgehende Taint- und Datenflussanalyse für über 60 Sprachen, Ergebnisse als SARIF für den Code scanning-Tab von GitHub sowie ein Schweregrad-Gate für Ihre Pipeline.
Kostenlos für Open Source: Öffentliche Repositories können ein kostenloses Scan-Token anfordern — siehe offensive360.com/free-for-open-source.
name: SAST
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
security-events: write # nur erforderlich, wenn upload-sarif aktiviert ist
jobs:
sast:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: offensive360/sast-scan-action@v1
with:
api-url: https://sast.offensive360.com # oder Ihre eigene On-Premise-Instanz
api-token: ${{ secrets.O360_API_TOKEN }}
upload-sarif: 'true'
fail-on: high
Die Ergebnisse erscheinen dann unter Security → Code scanning mit Datei-/Zeilenangaben, Auswirkungs- und Behebungsanleitungen sowie vollständigen Ablaufverfolgungen in Ihrem Offensive360-Dashboard.
Speichern Sie das Token als Repository-Secret (z. B. O360_API_TOKEN). Committen Sie es niemals.
| Eingabe | Standard | Beschreibung |
|---|---|---|
api-url | — (erforderlich) | Basis-URL Ihrer Offensive360-Instanz |
api-token | — (erforderlich) | Externes Scan-Token (Repository-Secret) |
project-name | Repository-Name | Projektname im Offensive360-Dashboard |
path | . | Zu scannendes Verzeichnis |
dependency-scan | false | Zusätzlich Dependency- (SCA-) Analyse ausführen |
malware-scan | false | Zusätzlich Malware-/Binary-Manipulationsanalyse ausführen |
license-scan | false | Zusätzlich Lizenz-Compliance-Analyse ausführen |
fail-on | high | Job bei diesem Schweregrad oder höher abbrechen: none, low, medium, high, critical |
sarif-file | offensive360.sarif | Pfad des zu schreibenden SARIF-Berichts |
timeout-seconds | 3000 | Maximale Sekunden, die auf den Scan gewartet wird |
exclude | .git node_modules dist … | Durch Leerzeichen getrennte Verzeichnisnamen, die vom Upload ausgeschlossen werden |
upload-sarif | false | SARIF in GitHub Code scanning hochladen (erfordert security-events: write) |
| Ausgabe | Beschreibung |
|---|---|
total, critical, high, medium, low | Anzahl der Befunde |
status | Scan-Status (Succeeded, PartialFailed, …) |
sarif-file | Pfad des generierten SARIF-Berichts |
project-id | Offensive360-Projekt-ID für dieses Repository |
Beispiel — Anzahl in spätere Schritte kommentieren:
- uses: offensive360/sast-scan-action@v1
id: o360
with:
api-url: ${{ vars.O360_API_URL }}
api-token: ${{ secrets.O360_API_TOKEN }}
- run: echo "Found ${{ steps.o360.outputs.total }} issues (${{ steps.o360.outputs.critical }} critical)"
Nutzen Sie GitLab? Binden Sie die entsprechende Vorlage aus diesem Repository ein:
include:
- remote: 'https://raw.githubusercontent.com/offensive360/sast-scan-action/main/templates/gitlab-ci.yml'
und setzen Sie O360_API_URL sowie eine maskierte CI/CD-Variable O360_API_TOKEN.
Der Scan verhält sich identisch (gleiche API, ExternalScanSourceType=GitLab).
bash, zip, curl, python3 — alle vorinstalliert).path ein Unterverzeichnis oder nutzen Sie Ihre eigene Instanz.PartialFailed, wenn einige Sprach-Engines erfolgreich waren und andere fehlschlugen — die SARIF enthält weiterhin alle abgeschlossenen Befunde.Eine Plattform für SAST, DAST, MAST, SCA, Malware- & Binary-Analyse sowie Lizenz-Compliance — feste Preise, unbegrenzte Benutzer und Scans, On-Premise oder Cloud. offensive360.com · Demo buchen