Risk Score
Last updated
Last updated
More information
Snyk privacy policy© 2024 Snyk Limited | All product and company names and logos are trademarks of their respective owners.
Release status
Risk Score is in Early Access and available for Snyk Open Source and Snyk Container for Snyk Enterprise and Snyk Free plans. If you want to set it up in your Group, contact your Snyk account team.
Use Snyk Preview to replace the Priority Score with the new Risk Score for Snyk Open Source and Snyk Container issues.
The Snyk Risk Score is a single value assigned to an issue, applied by automatic risk analysis for all vulnerability-type issues. License issues are not supported. Risk Score is based on the potential impact and likelihood of exploitability. Ranging from 0 to 1,000, the score represents the risk imposed on your environment and enables a risk-based prioritization approach.
Risk score remains the same over time if the contributing factors do not change. However, some contributing factors, such as Exploit Prediction Scoring System (EPSS), potentially can change frequently. The number of days since the vulnerability was first published is also a factor and causes the score to change once, when the number of days becomes more than one year and the likelihood subscore decreases.
Since real risk is scarce, you should expect a significant drift in the distribution of scores, as can be seen in this example of Project score distributions:
Risk Score replaces the Priority Score directly. See the priority score docs for how to interact with the Risk Score in the UI, API, and Reports, where the Risk Score is now introduced when enabled.
Risk Score is not available in the CLI.
The Risk Score replaces the Priority Score only after the Snyk Open Source and Snyk Container Projects are re-tested.
You can wait for the Projects to be automatically re-tested (daily for Snyk Open Source and weekly for Snyk Container), or you can manually re-test the Project.
In the API, the relevant fields are still named with priority.
When Risk Score is enabled, the scores and factors populated in these fields are based on the Risk Score model as part of the early access stage.
When looking at Issue card information, hover over the score to see the type of score (Priority or Risk Score) that is being displayed. The Risk Score tooltip provides information about the subscore and the Risk Factors contributing to the score.
The model that powers the Risk Score applies automatic risk analysis for each security issue based on the potential impact and likelihood of exploitability.
The Risk model results from extensive research conducted by the Snyk Security Data Science team and experienced security researchers. The model draws on expertise gained over the years in developing the Snyk Vulnerability Database.
Objective impact factors are the CVSS impact metrics, Availability, Confidentiality, Integrity, and Scope, calculated based on the CVSS impact subscore. For Container issues, Provider Urgency is also taken into account.
The business criticality Project attribute will be taken into account as a contextual impact factor, increasing or decreasing the impact subscore. For more information, see Project attributes.
Objective likelihood factors are taken into account:
Exploit Maturity
Exploit Prediction Scoring System (EPSS)
Age of advisory
CVSS exploitability metrics: Attack vector, Privileges required, User interaction, and Scope
Social Trends
Malicious Package
Provider Urgency (Snyk Container)
Package popularity (Snyk Open Source)
Contextual likelihood factors then increase or decrease the likelihood subscore:
Reachability (Snyk Open Source Java, JavaScript)
Transitive depth
Fixability is no longer considered part of the Score Calculation, as the effort needed to mitigate a security issue does not affect the risk it imposes. To focus on actionable issues, use Fixability filters and then use the Risk Score to start with the riskiest issues.
Represents the impact on customer’s data confidentiality, based on CVSS definition.
Possible input values: None
, Low
, High
Represents the impact on customer’s data integrity, based on CVSS definition.
Possible input values: None
, Low
, High
Represents the impact of customer’s application availability based on CVSS definition.
Possible input values: None
, Low
, High
Indicates whether the vulnerability can affect components outside of the target’s security scope, based on CVSS definition. The objective impact subscore is calculated based on the CVSS impact subscore. For more information, see the references on CVSS definitions above and the subscore equations.
Urgency rating as provided by the relevant operating system distribution security team. For more information, see External information sources for relative importance in severity levels of detected Linux vulnerabilities.
Provider Urgency affects the Likelihood subscore.
Business criticality
User-defined Project attribute representing the subjective business impact of the respective application. For more information, see Project attributes.
When you apply a business criticality attribute to a Project, a retest is required for the Risk Scores to incorporate the new data. When no Business Criticality is assigned, the Impact subscore will not be affected.
Represents the existence and maturity of any public exploit retrieved and validated by Snyk. For more information, see View exploits, How exploits are determined.
Exploit Prediction Scoring System (EPSS), predicting whether a CVE will be exploited in the wild, based on an elaborated model created and owned by the FIRST Organization.
The probability is the direct output of the EPSS model and conveys an overall sense of the threat of exploitation in the wild. This data is updated daily, relying on the latest available EPSS model version. See the EPSS documentation for more details.
Possible input values: EPSS score [0.00-1.00]
The likelihood subscore increases significantly according to the EPSS score.
Represents the context by which vulnerability exploitation is possible, based on the CVSS definition.
Represents the level of complexity defined by the conditions that must exist to exploit the vulnerability, based on the CVSS definition.
Represents the level of privileges an attacker must possess before successfully exploiting the vulnerability, based on the CVSS definition.
Represents the need for action from a user as part of the exploitation process, based on the CVSS definition.
Represents the social media traffic regarding this vulnerability. Snyk research has shown that greater social media interaction can predict future exploitation or point to existing exploitation. For more information, see Vulnerabilities with social trends.
Malicious code deployed as a supply chain dependency is considered highly exploitable.
A new vulnerability (up to one year) is more likely to be exploited than an old vulnerability (more than one year since publication)
If a package is relatively more popular for its ecosystem, it is more likely to be exploited as hackers benefit from a wider pool of potential targets.
Importance rating as provided by the relevant operating system distribution security team. For more information, see External information sources for relative importance in severity levels of detected Linux vulnerabilities.
When neither CVSS nor Importance rating is provided, Provider Urgency is set toLow
by default. Provider Urgency also affects the Impact subscore.
Building on past studies, Snyk research has shown that if a vulnerability is introduced to a Project transitively rather than directly, it is less likely that an exploitable function path will exist.
Snyk static code analysis determines whether the vulnerable method is being called. This is supported for Java and JavaScript. For more details, navigate to the Reachability analysis page. When Reachability is not enabled, the Likelihood subscore will not change, and the factor will not show up.
Possible input value | Score impact |
---|---|
Possible input value | Score impact |
---|---|
Possible input value | Score impact |
---|---|
Possible input value | Score impact |
---|---|
Possible input values | Score impact |
---|---|
Possible input values | Score impact |
---|---|
Possible input values | Score impact |
---|---|
Possible input values | Score impact |
---|---|
Possible input values | Score impact |
---|---|
Possible input values | Score impact |
---|---|
Possible input values | Score impact |
---|---|
Possible input values | Score impact |
---|---|
Possible input values | Score impact |
---|---|
Possible input values | Score impact |
---|---|
Possible input values | Score impact |
---|---|
Unchanged
Impact subscore is not affected.
Changed
Impact subscore is affected.
Critical
Impact subscore increases significantly.
High
Impact subscore increases.
Medium
Impact subscore decreases significantly.
Low
Impact subscore decreases significantly.
Critical
Impact subscore increases.
High
Impact subscore is not affected.
Medium
Impact subscore decreases.
Low
Impact subscore decreases significantly.
No Known Exploit
Impact subscore decreases significantly.
Proof of Concept
Impact subscore decreases slightly.
Functional
Impact subscore increases.
High
Impact subscore increases significantly.
Network
Likelihood subscore increases.
Adjacent
Likelihood subscore decreases according to the level of remote access needed to exploit the vulnerability.
Local
Likelihood subscore decreases according to the level of remote access needed to exploit the vulnerability.
Physical
Likelihood subscore decreases according to the level of remote access needed to exploit the vulnerability.
High
Likelihood subscore decreases.
Low
Likelihood subscore increases.
High
Likelihood subscore decreases according to the level of privileges required.
Low
Likelihood subscore decreases according to the level of privileges required.
None
Likelihood subscore increases.
Required
Likelihood subscore decreases.
None
Likelihood subscore increases.
Trending
Likelihood subscore increases.
Not trending
Likelihood subscore does not change.
True
Likelihood subscore increases significantly for Malicious Packages.
False
Likelihood subscore remains unchanged.
Days since the vulnerability was first published.
Less than one year old - Likelihood subscore increases.
Over one year old - Likelihood subscore decreases.
High
Likelihood subscore increases.
Medium
Likelihood subscore does not change.
Low
Likelihood subscore decreases.
Critical
Impact subscore increases significantly.
High
Impact subscore increases.
Medium
Impact subscore decreases.
Low
Impact subscore decreases significantly.
Direct dependency
Likelihood subscore does not change.
Indirect dependency
Likelihood subscore decreases.
Reachable
Likelihood subscore increases, and transitive depth is not considered.
No path found
Likelihood subscore does not change.