Ce guide décrit comment intégrer New Relic Security RX avec Snyk Webhooks. Les webhooks dans Snyk sont une fonctionnalité bêta disponible uniquement pour les clients Snyk's Business ou Enterprise. En tant que fonctionnalité bêta, le Webhook API et la structure peuvent changer sans préavis, veuillez donc faire preuve de discrétion lorsque vous utilisez des Webhooks pour l'automatisation de vos processus de sécurité.
Bien que nous fassions tout notre possible pour rester en phase avec les modifications apportées à Snyk Webhooks, si vous remarquez que nous ne sommes pas au diapason, faites-le nous savoir.
Une fois ces étapes terminées, vous verrez les nouvelles vulnérabilités détectées par Snyk dans votre compte New Relic en temps réel, et vous pourrez créer un dashboard d'analyse des problèmes nouvellement détectés.
Pour plus d'informations, consultez la documentation officielle Snyk .
Prérequis
- Un jeton API Snyk
- New Relic
- Vous devez être un administrateur d'organisation Snyk pour configurer les Webhooks via l'API
Configuration du webhook
Pour configurer votre webhook, suivez les étapes suivantes :
Obtenez votre jeton API Snyk
Dans l'interface utilisateur Snyk, sous le menu utilisateur, cliquez Account settings sur et copiez votre clé de jeton d'API Snyk. Pour en savoir plus, consultez la documentation officielle de Snyk.
New Relic License - Insert
Sélectionnez un License - Insert dans votre compte New Relic ou créez-en un nouveau.
Important
En plus de vos clés Snyk et New Relic, vous devez générer un secret de signature aléatoire. Ceci est requis par Snyk mais n'est pas utilisé par New Relic lors de la réception de données.
Compiler les identifiants d'organisation Snyk
Obtenez une liste des Snyk identifiants d'organisation auxquels vous avez accès en exécutant la commande suivante :
$curl -H "content-type: application/json" \> -H "authorization: token YOUR_SNYK_API_TOKEN" \> "https://api.snyk.io/api/v1/orgs" | jq -r '.orgs[] | "\(.id)\t\(.name)"'
Important
Pour exécuter cette commande, vous devez installer jq, une ligne de commande JSON Processeur.
Créer un webhook dans chaque organisation Snyk
Vous devez configurer un webhook séparément pour chaque organisation Snyk .
Exécutez la commande suivante pour créer un webhook qui publiera sur le processeur d’ingestion de sécurité de New Relic chaque fois qu’un projet est testé. Ceci est envoyé via le type d'événement project_snapshot .
$curl -X POST -H "content-type: application/json" \> -H "authorization: token <SNYK_API_TOKEN>" \> --data '{"url": $ "https://security-ingest-processor.service.newrelic.com/v1/security/webhooks/snyk?Api-Key=YOUR_NEW_RELIC_LICENSE_KEY",$ "secret": "YOUR_SIGNING_SECRET"}' \> "https://api.snyk.io/api/v1/org/<SNYK_ORG_ID>/webhooks"
Tester une connexion webhook
La commande suivante renvoie un éventail de résultats avec un ID de webhook et une URL pour chaque webhook configuré dans l'organisation :
$curl -H "content-type: application/json" \> -H "authorization: token YOUR_SNYK_API_TOKEN" \> "https://api.snyk.io/api/v1/org/YOUR_SNYK_ORG_ID/webhooks"
Pour tester un webhook, copiez l'ID du webhook que vous souhaitez tester et exécutez la commande suivante :
$curl -X POST --data "" -H "content-type: application/json" \> -H "authorization: token YOUR_SNYK_API_TOKEN" \> "https://api.snyk.io/api/v1/org/YOUR_SNYK_ORG_ID/webhooks/YOUR_WEBHOOK_ID/ping"
La commande renverra OK
si vous avez correctement configuré le webhook.
Tester un Webhook manuellement
Vous devrez peut-être déclencher une analyse manuelle d'un projet dans Snyk pour que les données circulent dans New Relic. Vous pouvez le faire via la CLI ou l'API Snyk, ou depuis l'UI Snyk, en cliquant Retest now sur une cible d'analyse dans un projet.
Consultez la documentation officielle Snyk sur l'exécution de tests manuels.

Cliquez sur Retest now sur une cible d’analyse dans un projet.
Vérifiez que vos données Snyk sont envoyées à New Relic
Vérifiez le log dans New Relic pour vérifier que les Snyk résultats de votre test manuel ont été correctement transmis en saisissant logtype:security
pour filtrer l'événement de sécurité.
- Allez à one.newrelic.com > All capabilities > Logs.
- Dans la barre de recherche, saisissez
logtype:security
et cliquez sur Query logs.

one.newrelic.com > All capabilities > Logs
Les transports Snyk Webhook renvoient uniquement New Issues et Removed Issues qui se produisent à chaque test. New Relic analysera uniquement le New Issues. Si le test manuel ne révèle aucun nouveau problème, vous ne verrez aucun nouveau log de sécurité dans New Relic. Dans ce cas, vous verrez un message de log dans New Relic pour le transport réussi du webhook du type :
SnykWebhook scan reported 879 byte payload with 0 events (0 unique issue ids) from '' errors=no
Afficher les données Snyk dans New Relic
Une fois que vous avez configuré un ou plusieurs événements webhook, vous pouvez afficher les résultats du webhook Snyk envoyé à notre point de terminaison d'ingestion de sécurité dans New Relic.
Découvrez les 3 méthodes que vous pouvez utiliser pour identifier les données Snyk dans New Relic :
Affichage des données dans Security RX
Vous pouvez trouver cette page à one.newrelic.com > All capabilities > Security RX.
Cette vue vous donne une vue d'ensemble de toutes les vulnérabilités de votre logiciel, y compris toutes les données consommées à partir de l'intégration Snyk . Utilisez les différents onglets pour identifier et trier les vulnérabilités.

one.newrelic.com > All capabilities > Security RX.
Interrogation des vulnérabilités événement
Lorsque Snyk événements sont traités, ils sont stockés dans la table Vulnerability . Pour interroger cette table et afficher les données brutes, procédez comme suit :
Allez à one.newrelic.com > All capabilities > Query your data.
Entrez la requête suivante :
FROM Vulnerability SELECT * WHERE source = 'Snyk' SINCE 7 days agoone.newrelic.com > All capabilities > Query your data
Snyk dashboard
Vous pouvez installer le dashboard prédéfini Snyk à partir de la place de marché New Relic Instant Observability .
Ce dashboard offre une autre vue sur les données de vulnérabilité, et vous pouvez utiliser le widget graphique pour créer vos propres vues dashboard à partir de vos données d'intégration Snyk .

Installez le Instant Observability Snyk dashboard.