Overview
In Northstar, the Issues page holds two kinds of findings: library CVEs found by scanning your dependencies, and code vulnerabilities found by scanning your application's code.
This guide explains what each finding type means, how Contrast CVE Shield adds runtime context to library CVEs, and how to use the Contrast score to decide what to work on first.
Prerequisites
Access to the Issues page.
A CVE Shield account with an agent installed.
A Java application you can connect.
Key Concepts: Observations, Issues, and Incidents
Before you dig into the Issues list, it helps to know how Northstar organizes findings into three related entity types:
-
Observations: Created every time a vulnerability is detected through runtime or static analysis. Every observation is associated with an issue and/or incident, and repeated observations of the same vulnerability are grouped under one issue.
For CVE Shield observations, Contrast records the class or method where the vulnerable code was entered and the dangerous permission or capability that was executed. See View Observations documentation for details.
-
Issues: A defined vulnerability in your application, detected at runtime or through static analysis. An issue includes a summary of the vulnerability, a Contrast Score, metadata, and suggested remediation steps. Related incidents and observations are linked to the issue.
For CVEs, Contrast creates a single issue per root library in the application's dependency tree, and associates all related CVEs for that library's dependencies with the same issue. See View Issues documentation for details.
Incidents: Exploits or attacks on vulnerabilities (issues) within your application, detected at runtime. Incidents require prompt review and action. See View Incidents documentation for details.
Step-by-Step Instructions
1. Open the Issues list
Select Issues from the left navigation. Each row shows Severity, Contrast score, Issue name, Issue ID, Status, Application, Number of observations, Last detected, and Most recent incident.
2. Identify the finding type
Open any issue and check the Rule, Sensor, and Technique fields on the Overview tab. There are three patterns to recognize:
Finding Type |
Rule |
Sensor |
Target |
How to Recognize It |
|---|---|---|---|---|
Library CVE |
Library CVEs |
Contrast Code (static) or Contrast Agent (runtime) |
Library |
Found by scanning your dependency tree, not by watching the app run. |
CVE Shield finding |
CVE Shield |
Contrast Agent |
Library |
Data type reads Behavior. Found by CVE Shield watching a vulnerable library location at runtime. |
Other runtime-confirmed finding |
Names the specific weakness (such as Untrusted Deserialization) |
Contrast Agent |
Code |
The agent observed the issue occur inside a running application. |
3. Find specific categories of issues
From the Issues list, use search and filters to narrow to a category of finding:
To Find… |
Set These Filters |
|---|---|
Library CVEs |
Target: Library. Add a Technique filter to narrow to runtime or static CVEs. |
Code Vulnerabilities |
Target: Code. Add a Technique filter to narrow to runtime or static vulnerabilities. |
CVE Shield Issues |
Data Type: Behavior, Target: Library. Optionally add a Results filter: Exploited, Blocked, Exposed, or Protecting. Blocked and Protected are not supported in CVE Shield Free Tier. |
A specific CVE |
Search by CVE ID (for example: CVE-2025-64087) in the search bar. This returns any issues associated with the CVE, even if the CVE is a result of a nested dependency. |
4. Read a CVE Shield Issue
CVE Shield issues are library CVE issues enhanced with additional runtime context from CVE Shield. Because an issue for a library CVE includes all CVEs from the root library and its dependencies, you can view every CVE in a library's tree from a single issue.
What happened? provides a table of the top 4 CVEs (ranked by Contrast Score) found in the dependency tree of the root library, along with the CVE Shield status of each in your environments. The full list of related CVEs is on the issue's CVEs tab. The widget names the CVE, the class or method where the vulnerable code was entered, and the dangerous permission or capability that was executed, such as a file read or network connection. The Evidence tab contains the supporting stack trace.
Each CVE Shield finding also carries a CVE Shield status, separate from the issue status:
CVE Shield Status |
What It Means |
|---|---|
Not Seen |
This CVE has not been seen in the runtime operation. The vulnerable library code hasn't been reached yet. |
Exposed |
The vulnerable code has been reached. In most cases this means only normal, non-malicious traffic has reached it and no attack has occurred. For CVEs that cannot be sandboxed (shown as Visibility Only), CVE Shield cannot distinguish reachability from active exploitation. For these CVEs, Exposed is the only state CVE Shield can report, even if an actual attack occurred. |
Exploited |
An attacker has reached and maliciously used the CVE's vulnerable code. This state only applies to CVEs where CVE Shield can sandbox the vulnerable code (Monitor or Block mode). It does not apply to CVEs marked Visibility Only; those CVEs cannot reach this state under any circumstances, regardless of whether an attack occurred. |
Protecting |
CVE Shield is set up to block attacks on this CVE. Normal, non-malicious use has reached the vulnerable part of the code, but no attack has occurred. Protecting isn't available for CVE Shield Free tier; these accounts operate in Monitor mode only. |
Blocked |
Someone attacked the vulnerable part of this CVE, but CVE Shield stopped it. Blocking isn't available for CVE Shield Free tier. |
N/A |
No shield exists for this CVE, or CVE Shield is turned off. |
You can filter the Issues list by CVE Shield status, or search directly by CVE ID, using the controls above the list.
5. Review the CVEs tab
The CVEs tab of a CVE Shield issue lists every CVE associated with the root library.
Column |
Description |
|---|---|
CVE ID |
The ID of the CVE found within the root library or its dependencies. Select the ID to open the CVE Details view. |
Severity |
The severity of the CVE, based on the Contrast Score. |
Contrast Score |
Contrast's numerical score, calculated from multiple vectors. |
Environments (Production, QA, Development) |
Shows the CVE Shield status detected for the CVE in each environment. |
Library and Library Version |
The library and specific version associated with the root library. |
EPSS |
Percentile ranking of the CVE. Hover over the percentile to see the underlying probability. |
KEV |
Indicates whether there is a known exploit of the CVE. |
6. Read a runtime-confirmed finding
This view is usually most relevant to Security Operations teams. What happened? describes the actual request or code path Contrast observed, such as a specific URL or method involved in the attack, along with the relevant MITRE CWE reference. The Evidence and Activity tabs hold the supporting detail and history behind the finding.
7. Use the Contrast score to prioritize, regardless of type
All finding types show a 0–10 Contrast score gauge with Note, Low, Medium, High, and Critical bands.
For CVEs with a shield applied, this score is shield-aware: it's calculated using CVSS 4.0 environmental, supplemental, and threat metrics, and moves based on CVE Shield status in this order, highest to lowest: exploited → attacked/blocked → exposed → exposed/protecting → then the original unmodified score. Issue score updates dynamically as the underlying CVE score changes.
Note: A Critical or High score is the signal to act first, whatever the finding type. Don't assume runtime findings automatically outrank library CVEs; let the score and severity decide.
8. Check whether a finding has escalated to an incident
If the Most recent incident column shows an ID (for example, INC-2026-4) instead of a dash, Contrast has tied this finding to a broader incident, usually because it reflects active exploitation rather than a one-off detection. Loop in an incident response owner for anything with an incident ID attached.
Automated incident creation for CVE Shield-detected attacks is coming soon after the initial CVE Shield launch.
Expected Outcome
Given any row on the Issues page, you can identify whether it's a library CVE or a runtime-confirmed finding using the Target and Sensor fields, know which detail view to check first, and use the Contrast score to decide what to work on next.
Related Resources
Contrast Documentation: CVE shields
Escalation path
-
Free: Post your question in the Gather Community Forum.
Related to
Comments
0 comments
Please sign in to leave a comment.