• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Exemples de requêtes de données de sécurité

Ce guide fournit des requêtes NRQL prêtes à l'emploi pour les scénarios courants monitoring et d'analyse de la sécurité. Copiez ces requêtes dans le générateur de requêtes ou ajoutez-les aux dashboards personnalisés pour obtenir des informations plus détaillées sur vos données de vulnérabilités.

Pour plus d'informations sur la structure de données sous-jacente, consultez la référence de la structure de données de sécurité.

Important

Ces requêtes sont écrites par rapport au schéma d'événement Vulnerability réel. Notez les limitations de schéma suivantes :

  • L'événement Vulnerability n'a pas de champ state ou de cycle de vie — les requêtes ne peuvent pas filtrer par statut OPEN/CLOSED.
  • Il n'y a pas de champ resolvedAt — les requêtes de MTTR et de vitesse de remédiation qui nécessitent un horodatage résolu ne peuvent pas être reproduites à partir de cet événement.
  • cvss.score et epss.percentile sont stockés sous forme de chaînes de caractères. Utilisez numeric() pour les convertir avant de les comparer ou de les agréger numériquement.
  • ORDER BY numeric(...) n'est pas pris en charge. Créez un alias pour la conversion dans SELECT et utilisez LIMIT pour récupérer les meilleurs résultats.
  • HAVING sur les agrégats à facettes n'est pas pris en charge. Utilisez plutôt LIMIT pour renvoyer les N premiers résultats.

Rapports exécutifs

Nombre total de vulnérabilités ouvertes par niveau de gravité

Obtenez une vue d'ensemble de votre exposition aux vulnérabilités :

FROM Vulnerability
SELECT count(*) AS 'Total Vulnerabilities'
FACET severity
SINCE 7 days ago

Tendances critiques et de haute gravité

Suivre l'évolution des vulnérabilités critiques au fil du temps :

FROM Vulnerability
SELECT count(*) AS 'Critical & High Vulnerabilities'
WHERE severity IN ('CRITICAL', 'HIGH')
TIMESERIES AUTO
SINCE 7 days ago

vulnérabilités par entité

Identifiez les applications ou les hôtes présentant le plus de vulnérabilités :

FROM Vulnerability
SELECT count(*) AS 'Vulnerability Count'
FACET entityLookupValue
LIMIT 20
SINCE 7 days ago

Répartition des vulnérabilités au sein du portefeuille

Comprendre la propagation des vulnérabilités :

FROM Vulnerability
SELECT percentage(count(*), WHERE severity = 'CRITICAL') AS 'Critical %',
percentage(count(*), WHERE severity = 'HIGH') AS 'High %',
percentage(count(*), WHERE severity = 'MEDIUM') AS 'Medium %',
percentage(count(*), WHERE severity = 'LOW') AS 'Low %'
SINCE 7 days ago

Priorisation et évaluation des risques

Vulnérabilités hautement prioritaires

Identifier les vulnérabilités présentant une forte probabilité d'exploitation :

FROM Vulnerability
SELECT cve, package, package.version,
numeric(cvss.score) AS 'cvssScore',
numeric(epss.percentile) AS 'epssPercentile'
WHERE numeric(epss.percentile) > 0.9
SINCE 30 days ago
LIMIT 20

Vulnérabilités à forte exploitabilité

Identifier les vulnérabilités avec un exploit connu :

FROM Vulnerability
SELECT count(*) AS 'Findings', max(numeric(cvss.score)) AS 'Max CVSS'
WHERE exploitKnown = 'true'
FACET cve, entityLookupValue, package
SINCE 30 days ago

Conseil

L'événement Vulnerability n'a pas de champ activeRansomware. Cette requête utilise exploitKnown comme l'indicateur disponible le plus proche pour les résultats à haut risque. Si cette requête ne renvoie aucun résultat, aucun résultat avec un exploit connu confirmé n'a encore été ingéré — la requête est valide au niveau du schéma et renverra des données une fois que de tels résultats apparaîtront.

Nouvelles vulnérabilités critiques détectées

observateur des nouvelles découvertes critiques :

FROM Vulnerability
SELECT cve, package, package.version, entityLookupValue, firstDetected
WHERE severity = 'CRITICAL'
SINCE 30 days ago

vulnérabilités nécessitant une attention immédiate

Combiner plusieurs facteurs de risque :

FROM Vulnerability
SELECT count(*) AS 'Findings', max(numeric(cvss.score)) AS 'Max CVSS', max(numeric(epss.percentile)) AS 'Max EPSS'
WHERE (severity = 'CRITICAL' AND numeric(epss.percentile) > 0.85)
OR exploitKnown = 'true'
OR numeric(epss.percentile) > 0.95
FACET cve, entityLookupValue, package
SINCE 30 days ago

Suivi de l'exposition et des mesures correctives

Prudence

L'événement Vulnerability n'inclut pas de champ resolvedAt ni de champ de cycle de vie state (OPEN/CLOSED). Les requêtes pour le délai moyen de remédiation (MTTR), la vitesse de remédiation et le temps de réponse aux vulnérabilités critiques ne peuvent pas être calculées à partir de cet événement tel qu'il est actuellement ingéré. Pour suivre les métriques de remédiation, utilisez une source de données distincte telle que des données de suivi des problèmes ou des tickets.

Les vulnérabilités ouvertes les plus anciennes

Trouvez les vulnérabilités qui ont été détectées pendant des périodes prolongées :

FROM Vulnerability
SELECT min(firstDetected) AS 'First Detected', count(*) AS 'Occurrences'
FACET cve, entityLookupValue, package
LIMIT 20
SINCE 90 days ago

vulnérabilités par tranche d'âge

Regroupez les vulnérabilités par période de détection :

FROM Vulnerability
SELECT count(*) AS 'Vulnerabilities'
TIMESERIES 1 week
SINCE 180 days ago

analyse de packages et de bibliothèques

Bibliothèque la plus vulnérable

Identifier la bibliothèque présentant le plus de vulnérabilités :

FROM Vulnerability
SELECT count(*) AS 'Vulnerability Count'
FACET package
LIMIT 10
SINCE 7 days ago

bibliothèque nécessitant des mises à niveau

Trouver le package contenant les correctifs disponibles :

FROM Vulnerability
SELECT count(*) AS 'Vulnerable Entities'
WHERE remediation.exists = 'true'
FACET package, package.version
LIMIT 20
SINCE 7 days ago

Détection des vulnérabilités par source

Comprendre quelles intégrations trouvent des vulnérabilités :

FROM Vulnerability
SELECT count(*) AS 'Detections'
FACET source
SINCE 30 days ago

analyse des dépendances Java

Concentrez-vous sur les vulnérabilités spécifiques à Java :

FROM Vulnerability
SELECT count(*) AS 'Vulnerabilities'
WHERE package LIKE '%.jar' OR package LIKE '%maven%' OR package.language = 'java'
FACET package, severity
SINCE 30 days ago
LIMIT 20

requête spécifique à l'entité

Résumé des vulnérabilités de l'application

Obtenir le nombre de vulnérabilités pour une application spécifique :

FROM Vulnerability
SELECT count(*) AS 'Total',
filter(count(*), WHERE severity = 'CRITICAL') AS 'Critical',
filter(count(*), WHERE severity = 'HIGH') AS 'High',
filter(count(*), WHERE severity = 'MEDIUM') AS 'Medium',
filter(count(*), WHERE severity = 'LOW') AS 'Low'
WHERE entityLookupValue = 'YOUR_ENTITY_NAME'
SINCE 7 days ago

Répartition des vulnérabilités par type d'entité

Analysez les vulnérabilités sur différents types d'entités :

FROM Vulnerability
SELECT count(*) AS 'Vulnerabilities'
FACET entityLookupValue, severity, entityType
LIMIT 20
SINCE 7 days ago

entité sans scans récents

Identifiez les entités qui pourraient ne pas déclarer de données de vulnérabilité :

FROM Vulnerability
SELECT max(timestamp) AS 'Last Scan'
FACET entityLookupValue
SINCE 30 days ago
LIMIT 20

Conformité et rapports

vulnérabilités datant de plus de 30 jours (suivi SLA)

vulnérabilités du moniteur dépassant votre SLA de remédiation :

FROM Vulnerability
SELECT count(*) AS 'Overdue Vulnerabilities'
FACET entityLookupValue, severity
SINCE 180 days ago
UNTIL 30 days ago
LIMIT 20

Vulnérabilités métriques mensuelles

Générer des rapports mensuels :

FROM Vulnerability
SELECT count(*) AS 'Total Detected',
uniqueCount(entityGuid) AS 'Affected Entities',
filter(count(*), WHERE severity IN ('CRITICAL', 'HIGH')) AS 'High Risk'
FACET monthOf(firstDetected)
SINCE 180 days ago
TIMESERIES 1 month

Analyse avancée

vulnérabilités rayon d'explosion

Identifier les vulnérabilités affectant de nombreuses entités :

FROM Vulnerability
SELECT count(entityGuid) AS 'Affected Entities', max(numeric(cvss.score)) AS 'CVSS'
FACET cve
LIMIT 20
SINCE 30 days ago

score d'hygiène de sécurité

Calculer un score de sécurité personnalisé :

FROM Vulnerability
SELECT 100 - (
filter(count(*), WHERE severity = 'CRITICAL') * 10 +
filter(count(*), WHERE severity = 'HIGH') * 5 +
filter(count(*), WHERE severity = 'MEDIUM') * 2 +
filter(count(*), WHERE severity = 'LOW') * 0.5
) AS 'Security Score'
FACET entityLookupValue
SINCE 7 days ago
LIMIT 20

tendances des vulnérabilités par type

Comparer les vulnérabilités des applications et de l'infrastructure :

FROM Vulnerability
SELECT count(*) AS 'Vulnerabilities'
FACET entityType
TIMESERIES AUTO
SINCE 30 days ago

Résultats de sécurité basés sur l'entité

Interrogez les données de vulnérabilités de l'état actuel à l'aide du type d'événement Entity. Cette approche est mieux adaptée aux questions centrées sur l'entité qu'aux tendances de séries chronologiques :

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING' AND cve.id IS NOT NULL
FACET cve.id, severity
SINCE 7 days ago

Conseil

L'ajout de AND cve.id IS NOT NULL filtre les résultats de type mauvaise configuration et politique qui n'ont pas de CVE mappée, qui domineraient autrement les résultats de la facette. Cette requête utilise le type d'événement Entity (recherche d'entité NerdGraph) plutôt que le type d'événement Vulnerability — elle reflète l'état actuel de l'entité plutôt qu'un flux d'événements, elle n'est donc pas adaptée aux tendances TIMESERIES.

En utilisant ces requêtes

Dans le générateur de requêtes

  1. Rendez-vous sur one.newrelic.com > All capabilities > Query your data
  2. Copiez et collez n'importe quelle requête depuis cette page.
  3. Cliquez sur Run pour afficher les résultats
  4. Ajustez les plages horaires et les filtres selon les besoins.

Dans les dashboards personnalisés

  1. Créez un nouveau dashboard ou modifiez-en un existant.
  2. Ajoutez un widget et sélectionnez Query builder
  3. Collez la requête et configurez la visualisation.
  4. Enregistrez le widget sur votre dashboard

Dans les alertes

  1. Accédez à Alerts > Create a condition
  2. Sélectionnez NRQL query comme type de condition
  3. Utiliser une requête qui renvoie des comptes ou un seuil
  4. Configurer le seuil d'alerte et le canal de notification

Pour plus d'informations sur les alertes, consultez la section Configurer les alertes de vulnérabilités.

Conseils pour personnaliser les requêtes

Remplacer l'espace réservé

  • 'YOUR_ENTITY_NAME' - Remplacez par le nom réel de votre entité à partir de l'attribut entityLookupValue
  • Plages horaires (ex. : SINCE 30 days ago) - À adapter selon vos besoins

Combiner avec d'autres données

NRQL ne prend pas en charge les JOIN inter-événements. Pour corréler les données de vulnérabilités avec les métriques APM ou d’infrastructure, utilisez des requêtes distinctes et combinez les résultats dans un dashboard. Par exemple :

-- Vulnerability data
FROM Vulnerability
SELECT count(*) AS 'Vulnerabilities'
FACET entityLookupValue
SINCE 1 day ago
-- APM transaction data (run as a separate query)
FROM Transaction
SELECT average(duration) AS 'Avg Response Time'
FACET appName
SINCE 1 day ago

Exporter les résultats

Tous les résultats de la requête peuvent être :

  • Téléchargé au format CSV
  • Ajouté aux dashboards
  • Exporté via API
  • Partagé avec votre équipe

Quelle est la prochaine étape ?

Référence de structure de données

Découvrez en détail les types d'événements et leurs attributs.

Configurer des alertes

Créez des alertes basées sur ces requêtes.

Documentation NRQL

Apprenez-en davantage sur la syntaxe NRQL

Droits d'auteur © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.