• /
  • EnglishEspañolFrançais日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

보안 데이터 쿼리 예시

이 가이드는 일반적인 보안 모니터링 및 분석 시나리오에 바로 사용할 수 있는 NRQL 쿼리를 제공합니다. 이러한 쿼리를 쿼리 빌더에 복사하거나 사용자 정의 대시보드에 추가하여 귀하의 인사이트 데이터에 대해 더 깊이 알아보세요.

기본 데이터 구조에 대한 자세한 내용은 보안 데이터 구조 참조를 참조하십시오.

중요

이 쿼리는 실제 Vulnerability 이벤트 스키마를 대상으로 작성되었습니다. 다음 스키마 제한 사항에 유의하세요:

  • Vulnerability 이벤트에는 state 또는 수명 주기 필드가 없습니다 — 쿼리는 OPEN/CLOSED 상태로 필터링할 수 없습니다.
  • resolvedAt 필드가 없습니다 — 해결된 타임스탬프가 필요한 MTTR 및 문제 해결 속도 쿼리는 이 이벤트에서 재현할 수 없습니다.
  • cvss.scoreepss.percentile 은(는) 문자열로 저장됩니다. 숫자적으로 비교하거나 집계하기 전에 numeric() 을(를) 사용하여 캐스팅하세요.
  • ORDER BY numeric(...) 지원되지 않습니다. SELECT 에서 캐스트에 별칭을 지정하고 LIMIT 을(를) 사용하여 상위 결과를 검색합니다.
  • HAVING 패싯 집계에서는 지원되지 않습니다. 대신 LIMIT 을(를) 사용하여 상위 N개 결과를 반환하세요.

임원 보고

심각도별 전체 공개 취약점 수

취약점 노출 현황을 전체적으로 파악하세요:

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

심각도 및 중증도 추세

시간이 지남에 따라 주요 취약점이 어떻게 변화하는지 추적하십시오.

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

엔티티별 취약점

어떤 애플리케이션이나 호스트에 가장 많은 취약점이 있는지 파악하십시오.

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

포트폴리오 전반에 걸친 취약점 분포

취약점 확산 양상을 파악하십시오:

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

우선순위 설정 및 위험 평가

우선순위가 높은 취약점

악용 가능성이 높은 취약점을 찾으세요:

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

악용 가능성이 높은 취약점

알려진 익스플로잇이 있는 취약점 식별:

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

Vulnerability 이벤트에는 activeRansomware 필드가 없습니다. 이 쿼리는 고위험 결과에 대해 가장 근접하게 사용할 수 있는 지표로 exploitKnown 을(를) 사용합니다. 이 쿼리가 결과를 반환하지 않으면 확인된 알려진 익스플로잇이 있는 결과가 아직 수집되지 않은 것입니다 — 이 쿼리는 스키마가 유효하며 이러한 결과가 나타나면 데이터를 반환합니다.

새롭게 발견된 심각한 취약점

새로운 중요 발견 사항을 모니터링하십시오.

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

즉각적인 조치가 필요한 취약점

여러 위험 요소를 결합하세요:

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

노출 및 개선 조치 추적

주의

Vulnerability 이벤트에는 resolvedAt 필드 또는 state (OPEN/CLOSED) 수명 주기 필드가 포함되어 있지 않습니다. 평균 문제 해결 시간(MTTR), 문제 해결 속도 및 심각한 취약점 응답 시간에 대한 쿼리는 현재 수집된 이 이벤트에서 컴퓨트될 수 없습니다. 문제 해결 메트릭을 추적하려면 이슈 또는 지원 티켓 추적 데이터와 같은 별도의 데이터 소스를 사용하세요.

가장 오랫동안 해결되지 않은 취약점

장기간 탐지된 취약점 찾기:

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

연령대별 버킷

탐지 기간별로 취약점 그룹화:

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

패키지 및 라이브러리 분석

가장 취약한 라이브러리

가장 많은 취약점을 유발하는 라이브러리를 식별하십시오.

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

업그레이드가 필요한 라이브러리

수정 사항이 포함된 패키지를 찾으세요:

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

소스별 취약점 탐지

어떤 통합 기능이 취약점을 발견하는지 파악하십시오.

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

의존성/종속성 분석

자바 관련 취약점에 집중하세요:

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

엔티티별 쿼리

애플리케이션 취약점 요약

특정 애플리케이션의 취약점 개수를 확인하세요:

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

엔티티 유형별 취약점 분류

다양한 엔티티 유형에 걸친 취약점 분석:

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

최근 스캔 기록이 없는 경우

보고 데이터가 아닐 수 있는 부분을 식별하십시오.

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

규정 준수 및 보고

30일 이상 경과된 취약점 (SLA 추적)

취약점 해결 SLA를 초과하는 취약점을 모니터링하세요.

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

월간 기준

월간 보고서 생성:

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

고급 분석

폭발 반경

많은 부분에 영향을 미치는 부분을 식별합니다.

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

보안 위생 점수

사용자 지정 보안 점수를 계산합니다.

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

유형별 취약점 추세

애플리케이션 취약점과 인프라 취약점을 비교하십시오.

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

엔티티 기반 보안 결과

Entity 이벤트 유형을 사용하여 현재 상태 취약점 데이터를 쿼리합니다. 이 접근 방식은 시계열 추세보다 엔티티 중심 질문에 더 적합합니다:

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

AND cve.id IS NOT NULL 을(를) 추가하면 매핑된 CVE가 없는 잘못된 구성 및 정책 유형의 발견 사항이 필터링되며, 그렇지 않을 경우 패싯 결과를 지배하게 됩니다. 이 쿼리는 Vulnerability 이벤트 유형이 아닌 Entity 이벤트 유형(NerdGraph 엔티티 검색)을 사용합니다 ― 이는 이벤트 스트림이 아닌 현재 엔티티 상태를 반영하므로 TIMESERIES 추세 분석에 적합하지 않습니다.

이러한 쿼리를 사용하여

쿼리 빌더에서

  1. one.newrelic.com > All capabilities > Query your data로 이동하세요.
  2. 이 페이지의 쿼리를 복사하여 붙여넣으세요.
  3. 결과를 보려면 Run [실행]을 클릭하세요.
  4. 필요에 따라 시간 범위와 필터를 조정하세요.

맞춤형 대시보드

  1. 새 대시보드를 만들거나 기존 대시보드를 편집하세요.
  2. 위젯을 추가하고 Query builder [쿼리 빌더]를선택하세요.
  3. 쿼리를 붙여넣고 시각화를 구성하세요.
  4. 위젯을 대시보드에 저장하세요

알림에서

  1. Alerts > Create a condition으로 이동하세요.
  2. 조건 유형으로 NRQL query [NRQL 쿼리]를 선택하세요.
  3. 개수를 반환하는 쿼리나 기둥값, 관련값을 사용하세요.
  4. 공지 청소년 값, 공지 채널 구성

알림에 대한 자세한 내용은 취약점 알림 설정하기를 참조하세요.

쿼리 사용자 지정 팁

교체 플레이스홀더

  • 'YOUR_ENTITY_NAME' - entityLookupValue 속성의 실제 엔티티 이름으로 바꿉니다
  • 시간 범위(예: SINCE 30 days ago) - 필요에 따라 조정하세요

다른 데이터와 결합

NRQL은 교차 이벤트 JOIN을 지원하지 않습니다. 취약점 데이터를 APM 또는 인프라 메트릭과 연관시키려면 별도의 쿼리를 사용하고 대시보드에서 결과를 결합하세요. 예:

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

결과 내보내기

모든 쿼리 결과는 다음과 같습니다.

  • CSV 파일로 다운로드됨
  • 대시보드에 추가되었습니다
  • API를 통해 내보내기
  • 팀원들과 공유했습니다.

다음은 뭐지?

데이터 구조 참조

이벤트 유형 및 속성에 대해 자세히 알아보세요.

알림 설정

이러한 쿼리를 기반으로 알림을 생성하세요.

NRQL 문서

NRQL 구문에 대해 자세히 알아보세요.

Copyright © 2026 New Relic Inc.

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