Skip to main content

Afficher les informations de sécurité de Snyk dans l’analyse de code GitHub

Écrit par

7 octobre 2020

0 minutes de lecture

De nombreux utilisateurs de Snyk utilisent GitHubpour héberger leur code source. En général, cela signifie qu’ils consultent un endroit (GitHub) pour le code source, et un autre (Snyk) pour les informations sur les vulnérabilités. Snyk a toujours cherché à rapprocher les informations de sécurité des développeurs, notamment grâce à des outils locaux (comme notre CLI et nos plugins d’IDE), ainsi qu’à nos pull requests et vérifications d’état GitHub.

Avec le lancement de l’analyse de code GitHub, nous sommes ravis de pouvoir intégrer encore davantage les informations de sécurité (Snyk) au workflow natif des développeurs, grâce aux mises à jour de nos GitHub Actions pour prendre en charge l’analyse de code.

Analyse de code GitHub

L’analyse de code ajoute une nouvelle fonctionnalité à l’onglet Security de GitHub et est disponible dès aujourd’hui pour tous les utilisateurs de GitHub. Elle vous permet de connecter tous vos outils de sécurité en un seul endroit et de voir toutes les vulnérabilités et tous les problèmes de sécurité liés à vos dépôts.

L’analyse de code met en évidence les problèmes de sécurité dans vos dépôts avant leur mise en production. Il peut s’agir du code source de l’application, de ressources, de fichiers de configuration, etc.

Résultats d’analyse du code GitHub filtrés pour afficher les vulnérabilités Snyk non résolues, notamment des problèmes de gravité élevée liés à SQLite3 et à la validation des entrées système.
Vulnérabilités Snyk Container dans l’analyse de code GitHub

Snyk Container et Snyk Infrastructure as Code

Aujourd’hui, Snyk Container (pour analyser les images de conteneurs) et Snyk Infrastructure as Code (pour détecter les erreurs de configuration dans les fichiers de configuration Kubernetes et le code Terraform) prennent en charge l’analyse de code GitHub grâce à nos Snyk GitHub Actions existantes.

Voici un exemple qui utilise l’action Snyk pour rechercher des vulnérabilités dans une image Docker, puis téléverser un fichier SARIF vers l’analyse de code. SARIF est une norme ouverte d’OASIS utilisée par l’analyse de code comme format d’échange pour les problèmes de sécurité.

name: Snyk Container and GitHub Security example
on: push
jobs:
  snyk:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Build an image
      run: docker build . -t some-image       
    - name: Run Snyk to check image for vulnerabilities
      continue-on-error: true
      uses: snyk/actions/docker@master
      env:
        SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
      with:
        image: some-image
        args: --file=Dockerfile
    - uses: github/codeql-action/upload-sarif@v1
      with:
        sarif_file: snyk.sarif

Ainsi, en ajoutant simplement trois lignes à notre workflow pour utiliser l’action upload-sarif, nous pouvons récupérer les données de Snyk et les téléverser vers GitHub.

Le nouveau produit Infrastructure as Code de Snyk fonctionne également avec l’analyse de code GitHub. Il permet de détecter les erreurs de configuration dans vos fichiers JSON et YAML Kubernetes ou dans votre code Terraform, et de mettre directement ces problèmes en évidence dans GitHub. Le workflow suivant présente un exemple simple :

name: Snyk Infrastructure as Code and GitHub Security example
on: push
jobs:
  snyk:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Run Snyk to check Kubernetes manifest file for issues
      continue-on-error: true
      uses: snyk/actions/iac@master
      env:
        SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
      with:
        file: your/kubernetes-manifest.yaml
    - uses: github/codeql-action/upload-sarif@v1
      with:
        sarif_file: snyk.sarif

Une fois le workflow ci-dessus en place et opérationnel, les erreurs de configuration de sécurité détectées par Snyk apparaissent dans GitHub.

Rapport Snyk Infrastructure as Code présentant une erreur de configuration de gravité moyenne dans un déploiement Kubernetes, liée aux capacités du securityContext.
Détails concernant un problème détecté par Snyk Infrastructure as Code

Vous pouvez voir ici les détails du problème, le contexte de la ligne concernée ainsi que le commit qui l’a introduit.

L’action Snyk Infrastructure as Code prend actuellement en charge uniquement les fichiers de configuration Kubernetes. La prise en charge de Terraform sera bientôt disponible, puis celle d’autres formats de configuration.

Étapes suivantes

Essayez les Snyk GitHub Actions et la nouvelle prise en charge de l’analyse de code GitHub, puis dites-nous ce que vous en pensez. Nous avons déjà d’excellentes idées pour améliorer les Actions et étendre la prise en charge de l’analyse de code GitHub à toutes les fonctionnalités de Snyk. Restez à l’écoute : d’autres fonctionnalités permettront d’intégrer la sécurité au cœur du workflow des développeurs.

Lancez-vous dans les compétitions Capture The Flag

Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.

Lire la suite

feature customer snowflake
Article

Sécuriser dès la conception : découvrez l’intégration de Snyk Studio à Snowflake Cortex Code

Snyk Studio s’intègre à Snowflake Cortex Code pour analyser le code généré par l’IA, les dépendances et les conteneurs à la recherche de vulnérabilités, dès le développement.

blog feature pypi spoof
Article

La Snyk AI Security Platform complète, gratuite pour les responsables de projets open source

Les responsables de projets open source croulent sous les signalements de vulnérabilités avérées et ont besoin d’aide pour les prioriser, les corriger et déployer les correctifs plus rapidement. Le Secure Developer Program de Snyk donne aux projets admissibles un accès gratuit à la Snyk AI Security Platform.

feature insights announcement
Blog

Compromission de la chaîne d’approvisionnement Node-gyp : un ver npm à propagation autonome dissimulé dans binding.gyp

Un nouveau ver npm détourne binding.gyp pour déclencher node-gyp lors de l’installation et permettre à des packages malveillants d’exécuter du code sans scripts de cycle de vie. Il vole des identifiants, s’installe durablement sur GitHub et se propage de mainteneur en mainteneur.