
GitHub Action : scan SAST Offensive360 avec sortie SARIF pour l'analyse de code. Plus de 60 langages. Gratuit pour l'open source.
Exécutez une analyse complète de sécurité statique des applications (SAST) Offensive360 à chaque push ou pull request. Analyse approfondie de taint et de flux de données sur plus de 60 langages, résultats au format SARIF pour l'onglet code scanning de GitHub, et un seuil de sévérité pour votre pipeline.
Gratuit pour l'open source : les dépôts publics peuvent demander un jeton d'analyse gratuit — voir offensive360.com/free-for-open-source.
name: SAST
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
security-events: write # only needed when upload-sarif is enabled
jobs:
sast:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: offensive360/sast-scan-action@v1
with:
api-url: https://sast.offensive360.com # or your own on-prem instance
api-token: ${{ secrets.O360_API_TOKEN }}
upload-sarif: 'true'
fail-on: high
Les résultats apparaissent ensuite sous Security → Code scanning avec les emplacements fichier/ligne, l'impact et les recommandations de correction, ainsi que les traces complètes dans votre tableau de bord Offensive360.
Stockez le jeton comme secret de dépôt (par ex. O360_API_TOKEN). Ne le committez jamais.
| Entrée | Défaut | Description |
|---|---|---|
api-url | — (obligatoire) | URL de base de votre instance Offensive360 |
api-token | — (obligatoire) | Jeton d'analyse externe (secret de dépôt) |
project-name | nom du dépôt | Nom du projet dans le tableau de bord Offensive360 |
path | . | Répertoire à analyser |
dependency-scan | false | Exécute également l'analyse des dépendances (SCA) |
malware-scan | false | Exécute également l'analyse des malwares / falsification de binaires |
license-scan | false | Exécute également l'analyse de conformité des licences |
fail-on | high | Fait échouer le job à/au-dessus de cette sévérité : none, low, medium, high, critical |
sarif-file | offensive360.sarif | Chemin du rapport SARIF à écrire |
timeout-seconds | 3000 | Secondes maximales d'attente pour l'analyse |
exclude | .git node_modules dist … | Noms de répertoires séparés par des espaces exclus de l'envoi |
upload-sarif | false | Envoie le SARIF au code scanning GitHub (nécessite security-events: write) |
| Sortie | Description |
|---|---|
total, critical, high, medium, low | Nombre de résultats |
status | Statut de l'analyse (Succeeded, PartialFailed, …) |
sarif-file | Chemin du rapport SARIF généré |
project-id | Identifiant du projet Offensive360 pour ce dépôt |
Exemple — commenter les compteurs dans les étapes suivantes :
- 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)"
Vous utilisez GitLab ? Incluez le modèle équivalent de ce dépôt :
include:
- remote: 'https://raw.githubusercontent.com/offensive360/sast-scan-action/main/templates/gitlab-ci.yml'
et définissez O360_API_URL ainsi qu'une variable CI/CD O360_API_TOKEN masquée.
L'analyse se comporte de manière identique (même API, ExternalScanSourceType=GitLab).
bash, zip, curl, python3 — tous préinstallés).path, ou utilisez votre propre instance.PartialFailed lorsque certains moteurs de langage ont réussi
et d'autres échoué — le SARIF contient toujours tous les résultats terminés.Une seule plateforme pour SAST, DAST, MAST, SCA, analyse de malwares & binaires, et conformité des licences — tarification forfaitaire, utilisateurs et analyses illimités, sur site ou cloud. offensive360.com · Réserver une démo