Skip to content
SEO Optimizer is live, Audit on page SEO and AI-search readiness. Try it free
Scanverra
CLI

Guides

CLI Scanverra

Analysez n'importe quel code depuis votre terminal ou votre pipeline CI avec @scanverra/cli. L'analyse s'exécute sur votre propre machine, seuls les résultats sont envoyés à Scanverra.

Nécessite Node.js 18 ou une version plus récente, ainsi qu'un forfait Pro, Team ou Enterprise.

Démarrage rapide

N'installez rien globalement, ou exécutez npm i -g @scanverra/cli pour obtenir une commande scanverra permanente.

npx @scanverra/cli login        # paste an API key from Dashboard > API keys
npx @scanverra/cli scan .

Fonctionnement

Toujours à jour

Vous exécutez toujours les vérifications les plus récentes, sans version de CLI séparée à suivre ou à mettre à jour manuellement.

Le même moteur que le tableau de bord

Les résultats correspondent à ceux d'une analyse lancée depuis Scanverra, quel que soit l'endroit où vous l'exécutez.

Analyse en local

Vos fichiers source sont lus sur votre propre machine. Par défaut, seuls les résultats sont envoyés à Scanverra, jamais le contenu des fichiers ni les lignes de code concernées.

Apparaît dans votre tableau de bord

Chaque analyse reçoit un résumé rédigé par IA et un lien, la même page de résultats qu'une analyse lancée depuis le tableau de bord.

Commandes

CommandeDescription
scanverra loginVérifie et enregistre votre clé API
scanverra logoutSupprime la clé enregistrée
scanverra whoamiAffiche le compte et le forfait associés à la clé
scanverra scan [path]Analyse un dossier (par défaut, le dossier courant), affiche les résultats et les envoie

Options courantes

OptionDescription
--json / --sarifSortie lisible par une machine. SARIF fonctionne avec GitHub code scanning et l'import Sonar
--fail-on <severity>Se termine en échec si un résultat de cette sévérité ou plus existe (par défaut : high)
--category <list>N'inclure que les résultats security, dependency, iac ou quality
--exclude <glob>Ignore les chemins correspondants. Un fichier .scanverraignore fonctionne de la même façon
--no-uploadAnalyse uniquement, n'envoie pas les résultats à Scanverra
--include-codeEnvoie aussi la ligne de code concernée pour chaque résultat (désactivé par défaut)
--offlineUtilise les règles en cache sans aucun appel réseau
--api-key, --api-urlRemplace les identifiants ou le serveur, utile en CI

Ce qui est envoyé

Envoyé

Chemins de fichiers, numéros de ligne, identifiants de règle, titres, descriptions, suggestions de correction, sévérités, noms et versions des dépendances, ainsi que le nom du projet, la branche, le commit et le numéro de PR.

Non envoyé par défaut

Le contenu des fichiers, et la ligne de code concernée pour chaque résultat. Les résultats de type secret ne contiennent jamais la valeur du secret elle-même. Passez --include-code si vous souhaitez voir les lignes concernées dans le tableau de bord.

Comment les fichiers sont choisis

  • Dans un dépôt git, les fichiers suivis et non suivis sont utilisés, et .gitignore est respecté. En dehors de git, les dossiers habituels de build et de dépendances sont ignorés.
  • Un fichier .scanverraignore (un motif glob par ligne) et des options --exclude répétables ajoutent d'autres exclusions.
  • Supprimez un résultat précis avec un commentaire scanverra-ignore ou nosec sur la ligne précédente.

Codes de sortie

0Succès, et aucun résultat n'a atteint le seuil --fail-on
1Un résultat a atteint le seuil, ou le quality gate a échoué avec --fail-on-gate
2Erreur d'utilisation, ou le serveur a rejeté la clé ou le forfait

Utilisation en CI

Stockez la clé API en tant que secret, comme pour toute autre intégration CI Scanverra, et mettez en cache le dossier des règles pour qu'un nouveau runner ne les retélécharge pas à chaque exécution.

- uses: actions/checkout@v4
- uses: actions/setup-node@v4
  with: { node-version: 20 }
- run: npx @scanverra/cli scan . --fail-on high
  env:
    SCANVERRA_API_KEY: ${{ secrets.SCANVERRA_API_KEY }}

Mettre les règles en cache entre les exécutions

- uses: actions/cache@v4
  with:
    path: ~/.cache/scanverra
    key: scanverra-rules-${{ github.run_id }}
    restore-keys: scanverra-rules-

Dépannage

MessageQue faire
Not logged inExécutez scanverra login, ou définissez SCANVERRA_API_KEY
API key was rejectedLa clé est incorrecte ou a été révoquée. Créez-en une nouvelle dans API Keys
Requires a Pro, Team or Enterprise planPassez à un forfait supérieur, puis réessayez
Daily limit for downloading the scanner rules reachedMettez le dossier des règles en cache en CI, voir ci-dessus
No scannable files foundVérifiez le chemin ainsi que votre .gitignore ou .scanverraignore

Prêt à analyser depuis le terminal ?

Générez une clé API, puis lancez votre première analyse en moins d'une minute.