Este guia fornece consultas NRQL prontas para uso em cenários comuns de monitoramento e análise de segurança. Copie essas consultas no criador de consultas ou adicione-as ao dashboard personalizado para obter insights mais profundos sobre seus dados de vulnerabilidade.
Para obter informações sobre a estrutura de dados subjacente, consulte a Referência da estrutura de dados de segurança.
Relatórios executivos
Total de vulnerabilidades abertas por gravidade
Obtenha uma visão geral da sua exposição a vulnerabilidades:
FROM VulnerabilitySELECT count(*) as 'Total Vulnerabilities'WHERE state = 'OPEN'FACET severitySINCE 1 day agoTendências críticas e de alta gravidade
Acompanhe como as vulnerabilidades críticas mudam ao longo do tempo:
FROM VulnerabilitySELECT count(*) as 'Critical & High Vulnerabilities'WHERE severity IN ('CRITICAL', 'HIGH')AND state = 'OPEN'TIMESERIES AUTOSINCE 30 days agopor entidade
Identifique qual aplicativo ou host tem o maior número de vulnerabilidades:
FROM VulnerabilitySELECT count(*) as 'Vulnerability Count'WHERE state = 'OPEN'FACET entity.nameLIMIT 20SINCE 1 day agodistribuição de vulnerabilidades no portfólio
Compreenda a disseminação de vulnerabilidades:
FROM VulnerabilitySELECT 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 %'WHERE state = 'OPEN'SINCE 1 day agoPriorização e avaliação de riscos
Vulnerabilidades de alta prioridade
Identificar vulnerabilidades com alta probabilidade de exploração:
FROM VulnerabilitySELECT cveId, affectedPackage, affectedVersion, cvssScore, epssPercentileWHERE epssPercentile > 90AND state = 'OPEN'ORDER BY epssPercentile DESCLIMIT 50SINCE 7 days agoVulnerabilidades de ransomware ativo
Identificar vulnerabilidades exploradas em campanhas de ransomware:
FROM VulnerabilitySELECT cveId, affectedPackage, cvssScore, entity.nameWHERE activeRansomware = trueAND state = 'OPEN'FACET cveId, entity.nameSINCE 30 days agorecém-detectadas condições críticas
Acompanhe para identificar novas descobertas críticas:
FROM VulnerabilitySELECT cveId, affectedPackage, affectedVersion, entity.name, detectedAtWHERE severity = 'CRITICAL'AND state = 'OPEN'AND detectedAt > ago(24 hours)ORDER BY detectedAt DESC(que exigem atenção imediata)
Combinar múltiplos fatores de risco:
FROM VulnerabilitySELECT cveId, entity.name, affectedPackage, cvssScore, epssPercentileWHERE ( (severity = 'CRITICAL' AND epssPercentile > 85) OR (activeRansomware = true) OR (epssPercentile > 95))AND state = 'OPEN'FACET cveId, entity.nameSINCE 7 days agoMonitoramento de exposição e remediação
Tempo médio de exposição às vulnerabilidades
Calcular o tempo médio para remediação (MTTR):
FROM VulnerabilitySELECT average((resolvedAt - detectedAt) / 86400) as 'Avg Days to Resolve'WHERE state = 'CLOSED'FACET severitySINCE 90 days agoCaçambas abertas de funcionamento mais longo
Encontre vulnerabilidades que estejam abertas há longos períodos:
FROM VulnerabilitySELECT cveId, entity.name, affectedPackage, detectedAt, (max(timestamp) - detectedAt) / 86400 as 'Days Open'WHERE state = 'OPEN'FACET cveId, entity.nameORDER BY 'Days Open' DESCLIMIT 20SINCE 90 days agoVelocidade de remediação
Acompanhe a rapidez com que você está resolvendo vulnerabilidades:
FROM NrAiIncidentTimelineSELECT count(*) as 'Vulnerabilities Resolved'WHERE event = 'STATUS_CHANGED'AND newState = 'CLOSED'FACET weekOf(timestamp)SINCE 90 days agoTIMESERIES 1 weekvulnerabilidades por faixa etária
Agrupe as vulnerabilidades por tempo em que estiveram abertas:
FROM VulnerabilitySELECT count(*) as 'Count'WHERE state = 'OPEN'FACET cases( WHERE (now() - detectedAt) / 86400 <= 7 as '0-7 days', WHERE (now() - detectedAt) / 86400 <= 30 as '8-30 days', WHERE (now() - detectedAt) / 86400 <= 90 as '31-90 days', WHERE (now() - detectedAt) / 86400 > 90 as '> 90 days')SINCE 180 days agoAnálise de pacotes e bibliotecas
Biblioteca mais vulnerável
Identifique a biblioteca apresentando as maiores vulnerabilidades:
FROM VulnerabilitySELECT count(*) as 'Vulnerability Count'WHERE state = 'OPEN'FACET affectedPackageORDER BY count(*) DESCLIMIT 10SINCE 30 days agobiblioteca que precisa de atualizações
Encontre pacotes com correções disponíveis:
FROM VulnerabilitySELECT affectedPackage, affectedVersion, fixedVersion, count(*) as 'Vulnerable Entities'WHERE state = 'OPEN'AND fixedVersion IS NOT NULLFACET affectedPackage, affectedVersion, fixedVersionORDER BY count(*) DESCLIMIT 20SINCE 7 days agoDetecção de vulnerabilidades por fonte
Entenda quais interações estão encontrando vulnerabilidades:
FROM VulnerabilitySELECT count(*) as 'Detections'FACET sourceSINCE 30 days agoAnálise de Java
Foco nas vulnerabilidades específicas do Java:
FROM VulnerabilitySELECT count(*) as 'Vulnerabilities'WHERE affectedPackage LIKE '%.jar'OR affectedPackage LIKE '%maven%'FACET affectedPackage, severitySINCE 30 days agoconsultoria específica da entidade
Resumo das vulnerabilidades do aplicativo
Obtenha a contagem de vulnerabilidades para um aplicativo específico:
FROM VulnerabilitySELECT 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 entity.name = 'YOUR_APP_NAME'AND state = 'OPEN'SINCE 1 day agoAnálise das vulnerabilidades do host
Analisar vulnerabilidades em hosts de infraestrutura:
FROM VulnerabilitySELECT count(*) as 'Vulnerabilities'WHERE entityType = 'HOST'AND state = 'OPEN'FACET entity.name, severityLIMIT 50SINCE 7 days agoentidade sem exames recentes
Identifique a entidade que pode não estar reportando dados de vulnerabilidades:
FROM VulnerabilitySELECT entity.name, max(timestamp) as 'Last Scan'FACET entity.nameHAVING max(timestamp) < ago(7 days)SINCE 30 days agoRastreamento de status e fluxo de trabalho
Vulnerabilidades ignoradas que requerem revisão
Encontre vulnerabilidades ignoradas que estão próximas da data de revisão:
FROM NrAiIncidentTimelineSELECT incidentId, entity.name, reason, timestamp as 'Ignored At'WHERE event = 'STATUS_CHANGED'AND newState = 'IGNORED'AND timestamp < ago(60 days)FACET incidentId, entity.nameSINCE 90 days agoRegistro de auditoria de alterações de status
Acompanhe quem está fazendo alterações de status:
FROM NrAiIncidentTimelineSELECT timestamp, entity.name, previousState, newState, changedBy, reasonWHERE event = 'STATUS_CHANGED'ORDER BY timestamp DESCLIMIT 100SINCE 30 days agotaxa de falsos positivos
Calcule quantas vulnerabilidades foram marcadas como ignoradas em comparação com as afetadas:
FROM NrAiIncidentTimelineSELECT filter(count(*), WHERE newState = 'IGNORED') as 'Ignored', filter(count(*), WHERE newState = 'AFFECTED') as 'Affected', percentage(filter(count(*), WHERE newState = 'IGNORED'), count(*)) as 'Ignore Rate %'WHERE event = 'STATUS_CHANGED'SINCE 90 days agoConformidade e relatórios
vulneráveis com mais de 30 dias (rastreamento de SLA)
Monitore as vulnerabilidades que excedem seu SLA de correção:
FROM VulnerabilitySELECT count(*) as 'Overdue Vulnerabilities', entity.name, severityWHERE state = 'OPEN'AND detectedAt < ago(30 days)FACET entity.name, severitySINCE 180 days agoVulnerabilidades críticas tempo de resposta
Acompanhe a rapidez com que as vulnerabilidades críticas são corrigidas:
FROM VulnerabilitySELECT percentile((resolvedAt - detectedAt) / 86400, 50, 75, 90, 95) as 'Days to Resolve'WHERE severity = 'CRITICAL'AND state = 'CLOSED'SINCE 90 days agoVulnerabilidades métricas mensais
Gerar relatórios mensais:
FROM VulnerabilitySELECT count(*) as 'Total Detected', uniqueCount(entity.guid) as 'Affected Entities', filter(count(*), WHERE severity IN ('CRITICAL', 'HIGH')) as 'High Risk'FACET monthOf(detectedAt)SINCE 180 days agoTIMESERIES 1 monthAnálise avançada
raio de explosão
Identifique vulnerabilidades que afetam muitas entidades:
FROM VulnerabilitySELECT cveId, count(entity.guid) as 'Affected Entities', max(cvssScore) as 'CVSS'WHERE state = 'OPEN'FACET cveIdHAVING count(entity.guid) > 5ORDER BY count(entity.guid) DESCLIMIT 20SINCE 30 days agoÍndice de higiene de segurança
Calcule uma pontuação de segurança personalizada:
FROM VulnerabilitySELECT 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'WHERE state = 'OPEN'FACET entity.nameSINCE 1 day agotendências de ofertas por tipo
Compare vulnerabilidades de aplicativo vs infraestrutura:
FROM VulnerabilitySELECT count(*) as 'Vulnerabilities'WHERE state = 'OPEN'FACET entityTypeTIMESERIES AUTOSINCE 30 days agoUtilizando essas consultas
No criador de consulta
- Acesse one.newrelic.com > All capabilities > Query your data
- Copie e cole qualquer consulta desta página.
- Clique em Run para ver os resultados.
- Ajuste os intervalos de tempo e os filtros conforme necessário.
No dashboards personalizados
- Crie um novo dashboard ou edite um existente.
- Adicione um widget e selecione Query builder
- Cole a consulta e configure a visualização.
- Salve o widget no seu dashboard
Em alertas
- Acesse Alerts > Create a condition
- Selecione NRQL query como tipo de condição.
- Use consultas que retornem contagens ou limites
- Configurar limite de alerta e canal de notificação
Para obter mais informações sobre alertas, consulte Configurar alertas de vulnerabilidades.
Dicas para personalizar a consulta
Substituir reservado
'YOUR_APP_NAME'Substitua pelo nome real do seu aplicativo.'YOUR_ENTITY_GUID'Substitua pelo GUID da sua entidade.- Intervalos de tempo (ex.:
SINCE 30 days ago) - Ajuste conforme necessário.
Combine com outros dados
Junte dados de vulnerabilidades com APM ou infraestrutura métrica:
FROM Vulnerability, TransactionSELECT count(Vulnerability.cveId), average(Transaction.duration)WHERE Vulnerability.entity.guid = Transaction.appIdAND Vulnerability.state = 'OPEN'FACET Vulnerability.entity.nameSINCE 1 day agoExportar resultados
Todos os resultados da consulta podem ser:
- Baixado como CSV
- Adicionado ao dashboard
- Exportado via API
- Compartilhado com sua equipe