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.
| 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.
| 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.
| 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
| 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.