Configuration des analyses GoSec

Utilisez gosec pour inspecter le code source Golang dans vos dépôts analysés.

Paramètres obligatoires

Le pipeline a besoin du paramètre du tableau 1 pour exécuter l'analyse Gosec. Pour obtenir la liste complète des paramètres de pipeline, voir Paramètres de pipeline.

paramètres de balayage gosec
Nom Type Description Obligatoire ou facultatif
opt-in-gosec text Pour activer l'analyse gosec, attribuez à cette propriété une valeur non vide. Pour désactiver l'analyse, attribuez-lui une valeur vide ou supprimez entièrement la propriété. (La valeur par défaut est vide) Obligatoire

Activation de l'analyse gosec pour les référentiels Git privés

Si votre projet requiert des dépendances qui se trouvent dans un référentiel Git privé et nécessite donc une authentification SSH, vous pouvez activer le pipeline pour extraire les dépendances en fournissant des paramètres facultatifs. Pour plus d'informations, voir Activer le téléchargement des dépendances pour les référentiels privés.

Si un proxy doit être spécifié pour récupérer les dépendances, vous pouvez spécifier son site URL ainsi que les informations d'identification (nom d'utilisateur et jeton) en utilisant les paramètres du pipeline. Pour plus d'informations, voir Activation de GOPROXY.

Activer le téléchargement des dépendances pour les référentiels privés

Le téléchargement des dépendances pour les référentiels peut être activé en fournissant tous les paramètres de pipeline suivants.

Paramètres de pipeline
Nom Type Description Obligatoire ou facultatif
gosec-private-repository-url texte (obsolète) Votre base de dépôt privée URL. optionnel
gosec-private-repository-host texte L'hôte de votre dépôt privé. optionnel
gosec-private-repository-ssh-key secret La clé SSH pour le référentiel privé optionnel
gosec-private-repository-user texte Utilisateur pour le dépôt privé avec accès https (par défaut x-oauth-basic) optionnel
gosec-private-repository-token secret Le jeton utilisé pour l'accès https au dépôt privé (par défaut, le jeton configuré pour la première intégration git dans la chaîne d'outils dont le dépôt URL est hébergé sur la valeur de gosec-private-repository-host) optionnel

Activer GOPROXY

Si GOPROXY doit être spécifié, tous les paramètres suivants doivent être fournis.

Paramètres GOPROXY
Nom Type Description Obligatoire ou facultatif
gosec-proxy-virtual-repository-user text Utilisateur de référentiel virtuel pour le proxy gosec facultatif
gosec-proxy-virtual-repository-token secret Jeton de référentiel virtuel pour le proxy gosec facultatif
gosec-proxy-virtual-repository-url text URL de référentiel virtuel pour le proxy gosec facultatif

Paramètres facultatifs

Le paramètre gosec-scan-image peut être utilisé pour spécifier une image gosec différente à utiliser, telle qu'une image personnalisée ou une version spécifique de l'image gosec officielle.

L'utilisation de l'indicateur gosec-additional-flags est illustrée dans la section des exemples

gosec paramètres optionnels
Nom de paramètre Valeur par défaut Description
gosec-additional-flags text Indicateurs supplémentaires à ajouter au début de la commande gosec.
gosec-scan-image text Spécifie une autre image gosec, incluant des images personnalisées ou des versions spécifiques de l'image officielle.
gosec-repo-path-$repo_owner-$repo_name texte Chemin du sous-répertoire dans le référentiel où se trouve la racine du module Go. A utiliser pour chaque dépôt lorsque go.mod n'est pas à la racine du dépôt.

Exemples

Définissez la valeur de gosec-additional-flags en tant que -exclude-dir=<your_folder_1> -exclude-dir=<your_folder_2> -nosec=true et l'exécution de la commande gosec est mise à jour en tant que:

./gosec -exclude-dir=<your_folder_1> -exclude-dir=<your_folder_2> -nosec=true -no-fail -fmt=json -out=gosec-results.json -stdout -verbose=text ./...

Pour scanner un module Go situé dans un sous-répertoire, définissez le paramètre gosec-repo-path-$repo_owner-$repo_name. Par exemple, si le propriétaire de votre référentiel est myorg, le nom du référentiel est myrepo, et le module Go se trouve dans le répertoire cmd/myapp, définissez le paramètre comme suit :

  • Nom du paramètre : gosec-repo-path-myorg-myrepo
  • Valeur du paramètre : cmd/myapp

Cela permet d'analyser le code Go à partir du chemin cmd/myapp au lieu de la racine du référentiel.

Utilisation de votre propre fichier de configuration

Si vous souhaitez modifier la configuration par défaut, créez un fichier config.json dans le référentiel cible. Pour plus d'informations sur les paramètres d'analyse dans le fichier de configuration, voir gosec configuration.

Utilisation d'une autre implémentation d'analyse statique

Si vous souhaitez utiliser votre propre implémentation d'analyse statique, modifiez votre fichier .pipeline-config.yaml et ajoutez votre propre script personnalisé à l'étape static-scan. Pour plus d'informations, voir Scripts personnalisés.