<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Safety Cybersecurity</title>
    <description>The latest articles on DEV Community by Safety Cybersecurity (@safetycli).</description>
    <link>https://dev.to/safetycli</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F7100%2F81476f82-21a1-4897-9f52-16d76b73a870.png</url>
      <title>DEV Community: Safety Cybersecurity</title>
      <link>https://dev.to/safetycli</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/safetycli"/>
    <language>en</language>
    <item>
      <title>Software Supply Chain Security for Python Developers - Part 2</title>
      <dc:creator>Robin Birney</dc:creator>
      <pubDate>Tue, 26 Sep 2023 17:12:19 +0000</pubDate>
      <link>https://dev.to/safetycli/software-supply-chain-security-for-python-developers-part-2-2m5f</link>
      <guid>https://dev.to/safetycli/software-supply-chain-security-for-python-developers-part-2-2m5f</guid>
      <description>&lt;p&gt;&lt;strong&gt;Securing the Software Supply Chain for Python Developers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Welcome back to our series on Software Supply Chains, this time focusing on software supply chain security for Python developers. In this installment, we’ll discuss various tools and techniques to secure your software supply chain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is Software Supply Chain Security Crucial?
&lt;/h2&gt;

&lt;p&gt;Considering the vast integration of open-source software (OSS) packages in over 90% of codebases, ensuring the security of your supply chain is more important than ever. &lt;/p&gt;

&lt;p&gt;Possible consequences of an insecure supply chain include unauthorized access to sensitive data, disrupted services, and compromised software integrity, potentially causing long-lasting financial and reputational damage.&lt;/p&gt;

&lt;p&gt;We recommend implementing a well-rounded security strategy to minimize your project’s risks, including code vulnerability checks, dependency analysis, installation policies, and continuous monitoring.&lt;/p&gt;

&lt;h2&gt;
  
  
  Historical Context: Software Supply Chain Breaches
&lt;/h2&gt;

&lt;p&gt;To understand the criticality of maintaining software supply chain security, we can learn from instances where lapses led to severe repercussions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SolarWinds Orion:&lt;/strong&gt; One of the most severe software supply chain attacks occurred in 2020 involving the SolarWinds Orion software. An alteration in the update mechanism of the SolarWinds Orion platform enabled threat actors to inject malicious code into the platform’s builds. This code acted as a backdoor, affecting over 18,000 customers worldwide - including several Fortune 500 companies and US government departments. This case underscores the severity of supply chain attacks, which can infiltrate and compromise even the most secure entities through unnoticed entry points.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Log4j vulnerability:&lt;/strong&gt; More recently, in December 2021, a critical vulnerability - coined Log4Shell and subsequently Log4j - was discovered in Apache’s Log4j, an open-source logging library widely used in enterprise applications. The exploit leveraged the JNDI (Java Naming and Directory Interface) to run arbitrary code remotely, offering hackers comprehensive control over the impacted system. This flaw impacted countless applications across industries, proving that even seemingly minor elements in a software supply chain can be exploited to dreadful degrees.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Event-Stream and NPM:&lt;/strong&gt; Another infamous incident involves the JavaScript library event-stream on the Node Package Manager (NPM). Unknown to the developer community, maintainership of the widely used library had been transferred to an anonymous developer who unsurprisingly introduced a malicious version affecting users at large. This attack primarily affected the Bitcoin wallet application Copay, which had a dependency on event-stream.&lt;/p&gt;

&lt;p&gt;Lessons from these incidents cannot be ignored. They stress the importance of constant vigilance in identifying and mitigating risks associated with software supply chains. At Safety, we equip you with tools and strategies to identify vulnerabilities early, helping you safeguard your software ecosystem.&lt;/p&gt;

&lt;p&gt;Remember, the best defence against these risks is ongoing, multi-layered security that integrates seamlessly with your development processes. Through techniques like updating dependencies, regular vulnerability scanning at all stages of the development lifecycle, and employing reliable security tools like Safety, your Python projects can remain secure despite a rapidly evolving threat landscape.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security Best Practices for Python Developers
&lt;/h2&gt;

&lt;p&gt;Use the latest version, where possible: Regularly update your Python dependencies and libraries to the latest stable release to benefit from enhanced security and performance improvements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monitor security vulnerabilities:&lt;/strong&gt; Utilize tools like Safety to monitor your codebase for known vulnerabilities across all dependencies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shift Left Security:&lt;/strong&gt; Monitoring at CI/CD and beyond is often too late. By using Safety to identify vulnerabilities at the developer machine level, we help to prevent vulnerabilities from reaching CI/CD or Production. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Limit the use of unpopular packages:&lt;/strong&gt; Minimize dependency on unverified third-party libraries to mitigate potential security risks. By employing Safety Gateway, we can set policies that prevent the installation of malicious packages or packages that don’t meet the security criteria of your organization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enforce access management:&lt;/strong&gt; Establish proper authentication and authorization mechanisms and manage user roles within your development process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Embrace code peer reviews:&lt;/strong&gt; Encourage your development team to review each other’s code, helping to identify security vulnerabilities and improve code quality collectively.&lt;/p&gt;

&lt;p&gt;As Python developers, securing your software supply chain must be a top priority. You can ensure a secure development environment by combining best practices with powerful tools like Safety. In an upcoming series on security best practices, we’ll dive into this topic in much more detail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tools and Techniques for Enhancing Software Supply Chain Security
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://safetycli.com"&gt;Safety:&lt;/a&gt;&lt;/strong&gt; Leveraging the industry’s leading database of vulnerabilities and malicious packages, Safety streamlines the process of detecting vulnerabilities and outdated packages within your Python projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://safetycli.com/product/safety-platform"&gt;Safety Platform&lt;/a&gt; combines severity, exploitability, reachability, and project health factors into a single risk score. The result is a 90% reduction in vulnerability noise compared to other platforms, allowing developers to prioritize those that really matter.&lt;/p&gt;

&lt;p&gt;Together, Safety’s suite of products - &lt;a href="https://safetycli.com/product/safety-platform"&gt;Safety Platform&lt;/a&gt;, &lt;a href="https://safetycli.com/product/safety-cli"&gt;Safety CLI Scanner&lt;/a&gt;, &lt;a href="https://safetycli.com/product/vulnerability-db"&gt;Safety DB&lt;/a&gt;, and &lt;a href="https://safetycli.com/product/safety-gateway"&gt;Safety Gateway&lt;/a&gt; - provide &lt;strong&gt;the only truly end-to-end solution for Python supply chain security.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Dependabot:&lt;/strong&gt; This automated tool from GitHub scans your dependencies for known vulnerabilities and creates pull requests to update them. The downside? Dependabot contains just 12% of the vulnerabilities tracked by Safety, meaning you will have an unclear picture of what vulnerabilities may impact your dependencies. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Snyk:&lt;/strong&gt; Snyk is an open-source security platform designed for larger enterprises, providing an all-in-one DevSecOps solution. As with Dependabot, Snyk contains fewer vulnerabilities and is regarded as overkill for most organizations. Its primary disadvantage is that it only caters to larger enterprises with a more extensive set of needs. For smaller organizations or individual developers, Snyk could appear quite overwhelming and unnecessarily complex. Additionally, compared to Safety, Snyk falls short in its vulnerabilities database. It covers fewer vulnerabilities, meaning developers could potentially miss out on detecting several threats that can compromise their software supply chain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Anaconda:&lt;/strong&gt; a distribution platform offering tools and libraries for Python and R. However, the strength of its package management tools comes with corresponding demands. Anaconda requires dedicated personnel for its management, becoming a resource-intensive option for teams with constrained or limited resources. Anaconda’s complexities can render it less adaptable and user-friendly, particularly for smaller teams or projects with shorter timelines. Anaconda may seem more cumbersome and less efficient than Safety Gateway, a lightweight, easy-to-deploy package proxy. Safety Gateway offers a lighter-weight, easier-to-deploy package proxy to achieve the same result.&lt;/p&gt;

&lt;p&gt;Software supply chain security is of paramount importance. As Python developers, taking proactive steps toward securing your software supply chain has an immediate and lasting impact on the reliability and integrity of your applications. By leveraging robust tools like Safety and adhering to best practices, you can enhance your security posture, reduce risk, and protect your valuable data. Remember, the efficiency of your defence mechanisms is contingent upon their seamless integration into your development workflows and the continuous evolution of your strategies in response to the changing threat landscape. &lt;/p&gt;

&lt;p&gt;We hope this article has helped to improve your understanding of software supply chain security. For more information on Safety or any content discussed in this series, please get in touch with us at &lt;a href="//mailto:info@safetycli.com"&gt;info@safetycli.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>security</category>
      <category>supplychain</category>
    </item>
    <item>
      <title>An Introduction to Software Supply Chains for Python Developers - Part 1</title>
      <dc:creator>Robin Birney</dc:creator>
      <pubDate>Tue, 26 Sep 2023 17:05:11 +0000</pubDate>
      <link>https://dev.to/safetycli/an-introduction-to-software-supply-chains-for-python-developers-1boe</link>
      <guid>https://dev.to/safetycli/an-introduction-to-software-supply-chains-for-python-developers-1boe</guid>
      <description>&lt;p&gt;Welcome to the first installment in our series dedicated to software supply chains, their role in open-source software development, and security.&lt;/p&gt;

&lt;p&gt;This post is intended for Python developers and non-developers of all experience levels.&lt;/p&gt;

&lt;h2&gt;
  
  
  Overview of Open Source Software and Software Supply Chains
&lt;/h2&gt;

&lt;p&gt;Open Source Software (OSS) is like a community recipe book for coding. Imagine a cookbook to which anyone can read, use, and even add their recipes—that’s what open-source software is like. In the tech world, developers share the “source code,” or the original programming instructions so that anyone can read, use, or modify it. This contrasts with “closed source,” where only the original creators can alter the code. With OSS, the more people who can look at and work with the code, the better it often becomes in terms of features and security.&lt;/p&gt;

&lt;p&gt;Now, let’s talk about Software Supply Chains. Think of building software like building a car. A car has many parts—engine, tires, airbags—from various suppliers. Similarly, a software project uses different “parts,” which might be chunks of code or software libraries, many of which come from open-source projects. Just like in a car supply chain, where you’d want every part to be safe and reliable, in a software supply chain, you want to ensure that all the components are secure and function as expected.&lt;/p&gt;

&lt;p&gt;The concept of a Software Supply Chain becomes especially important in the context of Open Source Software. Since many people can modify OSS, knowing where your ‘parts’ are coming from is crucial. Are they secure? Are they updated? Are their known vulnerabilities? What licensing requirements do they have? &lt;/p&gt;

&lt;p&gt;Open Source Software (OSS) is essential in modern software development and data analysis. A staggering 90% of codebases used globally integrate at least some OSS components. It is, therefore, crucial to all projects - from a single project managed by a Data Scientist to a business-critical application used by millions of users - to understand what your software supply chain looks like and the risks that come with that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dependencies, Packages, Libraries: Understanding the Python Supply Chain Ecosystem
&lt;/h2&gt;

&lt;p&gt;The Python ecosystem is built around interdependencies of dependencies, packages, and libraries, forming the foundational structure of open-source software projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Packages&lt;/strong&gt; are Python software modules that have been built and released to the open-source community. These can be installed and used to perform specific roles in your software project instead of writing that code from scratch. For example, pandas is a popular package choice for data exploration and manipulation that would take a long time to build from scratch. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Libraries&lt;/strong&gt;, on the other hand, are comprehensive collections of Python modules. A prime example is Python’s standard library - a one-stop shop for diverse modules ranging from file I/O to system calls. Another example is PyTorch, Meta’s extensive collection of machine-learning tools that can be installed as a single library.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dependencies&lt;/strong&gt; are the complex webs of interconnected external software packages your projects or applications rely upon to operate. For instance, TensorFlow, a commonly used machine learning library, is often a necessary dependency for machine learning projects. By installing TensorFlow, however, you are also installing more than 20 other packages simultaneously, upon which TensorFlow relies. &lt;/p&gt;

&lt;p&gt;As a result, you have just added 21 packages and libraries to your software supply chain that are linked together. A vulnerability in one is effectively a vulnerability in all. Fear not, though! We’ll cover Supply Chain Security in part 2 of this series. &lt;/p&gt;

&lt;h2&gt;
  
  
  Package Installation via Pip, Pipenv, Poetry
&lt;/h2&gt;

&lt;p&gt;Python offers a variety of streamlined mechanisms for package installation. The three key players are pip, pipenv, and poetry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pip&lt;/strong&gt;, or “Pip Installs Python,” is the foundation. It straightforwardly facilitates installing Python packages, such as with the command pip install safety.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pipenv&lt;/strong&gt; is a step ahead, merging dependency management with environment handling. Running pipenv install pandas installs the pandas package while updating your Pipfile.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Poetry&lt;/strong&gt; is an advanced tool providing an all-in-one solution for dependency resolution, package management, and packaging process. It simplifies tasks like versioning and publishing packages.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Security Perspective: Unveiling Software Supply Chain Security
&lt;/h2&gt;

&lt;p&gt;Despite the efficiency they offer, software supply chains also pose distinct security risks. Threat actors often exploit these chains, resulting in dire consequences such as data breaches, malware distribution, and even system-wide vulnerabilities.&lt;/p&gt;

&lt;p&gt;When embracing open-source software, the importance of security cannot be stressed enough. Our research has illuminated critical vulnerabilities like ReDoS (Regular expression Denial of Service) that can reside in widely used Python packages that pose significant risks to projects and the organizations who own them.&lt;/p&gt;

&lt;p&gt;Understanding software supply chains and their respective security issues is vital in the current digital era. Here at Safety, we believe in streamlining Python dependency security, reducing vulnerability noise, and effectively integrating it into your security workflows. In our next article in this series, we dive deep into Software Supply Chain Security and security best practices.&lt;/p&gt;

&lt;p&gt;To learn more about &lt;a href="https://safetycli.com"&gt;Safety&lt;/a&gt;, ask questions about this article, or provide feedback, please get in touch with us at &lt;a href="//mailto:info@safetycli.com"&gt;info@safetycli.com&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>security</category>
      <category>supplychain</category>
    </item>
    <item>
      <title>Beyond CVSS: Project Context, Exploitability, and Reachability of Vulnerabilities - Part 2</title>
      <dc:creator>Robin Birney</dc:creator>
      <pubDate>Mon, 25 Sep 2023 18:34:47 +0000</pubDate>
      <link>https://dev.to/safetycli/beyond-cvss-project-context-exploitability-and-reachability-of-vulnerabilities-2ojb</link>
      <guid>https://dev.to/safetycli/beyond-cvss-project-context-exploitability-and-reachability-of-vulnerabilities-2ojb</guid>
      <description>&lt;p&gt;&lt;em&gt;In this two-part series, we look at the importance of Severity when assessing software supply chain vulnerabilities and outline how Safety combines Severity, Project Context, Reachability, and Exploitability to deliver end-to-end software supply chain security without the noise.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Welcome back to Part 2 of our series on assessing vulnerabilities in the software supply chain. &lt;a href="https://dev.to/safetycli/severity-and-the-common-vulnerability-scoring-system-cvss-part-1-4o3e"&gt;In Part 1, we explored the Common Vulnerability Scoring System (CVSS), its mechanics, benefits, and limitations.&lt;br&gt;
&lt;/a&gt;&lt;br&gt;
In this post, we will discuss why assessing vulnerabilities based on severity alone is inadequate and introduce Safety's multi-dimensional approach, which offers a more comprehensive evaluation of threats.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Limitations of Severity Alone
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;CVSS severity is not a good predictor of which vulnerabilities that actually impact security&lt;/strong&gt;&lt;br&gt;
‍&lt;br&gt;
While CVSS can provide some useful data, it solely focuses on a vulnerability's severity and, most often, is not a good predictor of which vulnerabilities actually impact security at most organizations. Evaluating a vulnerability's impact on a project requires considering not just the potential damage but also the likelihood of that damage being done, the relevance of the specific vulnerability in the project, and the potential scope of the damage within the active project's specific context.‍&lt;/p&gt;

&lt;p&gt;Consider a critical-severity vulnerability found in a library referenced by your project, but that is neither exploitable at all within your specific use of it nor is the vulnerability known to be exploitable in the wild. In this case, the vulnerability does not pose the level of risk to your project or organization at all despite its critical severity score.&lt;/p&gt;

&lt;p&gt;Alternatively, consider a medium-severity vulnerability in a vital component of your project that is exploitable and, if exploited, could result in massive financial or reputational damage. Despite its relatively lower severity score, this vulnerability presents a much more real and immediate threat that should be addressed.&lt;/p&gt;

&lt;p&gt;With the huge growth in the number of vulnerabilities the industry is seeing today, to effectively assess and triage vulnerabilities, startups and organizations must look to contextual analysis in a consistent and data-driven manner.&lt;/p&gt;

&lt;h2&gt;
  
  
  Safety's Four Pillars of Vulnerability Assessment
&lt;/h2&gt;

&lt;p&gt;To address massive growth in vulnerabilities and the ineffectiveness of CVSS severity, Safety combines multiple assessment criteria to calculate a single vulnerability risk score based on project context.&lt;/p&gt;

&lt;p&gt;The four criteria used by Safety to evaluate vulnerabilities are as follows:&lt;br&gt;
‍&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Severity:&lt;/strong&gt;&lt;br&gt;
Leveraging CVSS data and our team of Cybersecurity Analysts' research, Safety provides more comprehensive severity data than other providers. We manually vet every vulnerability to ensure accurate severity ratings, even if maintainers and package authorities haven't updated the details.&lt;/p&gt;

&lt;p&gt;In fact, Safety now has detailed and accurate Severity data for over 12,600+ vulnerabilities tracked in Safety DB.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Project Context:&lt;/strong&gt; Different software projects have varying significance. Some projects and components are critical for business operations, while others are less important. The same vulnerability can have hugely different implications depending on the project in which it exists. Safety allows developers and DevSecOps teams to define the Project Context for each project in their organization. This customization ensures that vulnerability severity carries the appropriate impact on the overall risk score across an organization. Project Context consists of four constituent ratings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Lifecycle: The stage of the software development life cycle (SDLC) in which the project resides (e.g., development, CI/CD, production).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Business Criticality: The project's importance to business operations and the potential financial or reputational impact if a high-severity vulnerability is exploited.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data Sensitivity: The degree of access the project has to sensitive or valuable data. For example, publicly accessible information may have minimal risk if exposed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Network Exposure: The project's accessibility to networks, both internal and external. Restricted access through mechanisms lowers the risk of vulnerability exploitation by internal actors.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U8_BcWWb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ejb7qld9cmdcafho6hm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U8_BcWWb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ejb7qld9cmdcafho6hm.png" alt="Image description" width="800" height="864"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Exploitability:&lt;/strong&gt;&lt;br&gt;
This factor considers whether a vulnerability has actually been known to be exploited in reality and how easy it is to exploit. Some vulnerabilities may be theoretically damaging but are complex to exploit and, as a result, not often or even used in any successful exploits. Other vulnerabilities are widely known to be used and are easier for attackers to leverage, making them more dangerous in practice. Safety utilizes the Exploit Prediction Scoring System (EPSS) in conjunction with CVSS data to assess risk more accurately.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Reachability:&lt;/strong&gt;&lt;br&gt;
This criterion determines whether an attacker can access the vulnerable part of the dependency within the project’s actual codebase. Suppose a package has a vulnerability in a specific component, function or use case, but the project does not use that component, function or use case. In that case, the vulnerability is not relevant and not reachable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--M3BqcglQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lnrkpeg9srl5d8mf0pdx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M3BqcglQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lnrkpeg9srl5d8mf0pdx.png" alt="Image description" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this example, the vulnerability has a high CVSS score (8.5). Safety further raises the risk score because the Reachability score is 100, meaning potential attackers can easily reach the vulnerability in the current project. Combined, the Safety score indicates that this vulnerability should be addressed in the context of the project in which it is used.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comprehensive Vulnerability Assessment
&lt;/h2&gt;

&lt;p&gt;By incorporating project context, exploitability, and reachability data, in addition to severity ratings, Safety reduces vulnerability noise by up to 90%.&lt;/p&gt;

&lt;p&gt;By focusing on relevant vulnerabilities, development teams can allocate their time more efficiently, prioritizing fixes based on real-world risk rather than only theoretical severity ratings.‍&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This approach results in&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fewer false positives and unnecessary alerts.&lt;/li&gt;
&lt;li&gt;Targeted fixing of the most critical threats.&lt;/li&gt;
&lt;li&gt;Huge savings in development time.&lt;/li&gt;
&lt;li&gt;Safety's Approach with Machine Learning and Research Techniques&lt;/li&gt;
&lt;li&gt;Safety combines Machine Learning and proprietary research techniques to conduct in-depth analyses of vulnerabilities, considering not just their severity but also their exploitability and reachability. Our extensive database provides more detailed information than other providers, empowering our customers to make informed decisions and take effective action.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Future of Vulnerability Assessment
&lt;/h2&gt;

&lt;p&gt;In an ever-evolving digital landscape, developers must not only be aware of vulnerabilities but also understand their real-world implications within their project's context.&lt;/p&gt;

&lt;p&gt;By moving beyond severity scores and adopting a multi-dimensional approach to vulnerability assessment, Safety ensures that developers can confidently code, knowing that their projects are protected from all angles.‍&lt;/p&gt;

&lt;p&gt;To learn more about our approach, &lt;a href="https://safetycli.com/contact-sales"&gt;connect with one of our software supply chain experts&lt;/a&gt; or email us at &lt;a href="//mailto:info@safetycli.com"&gt;info@safetycli.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>python</category>
      <category>vulnerabilities</category>
      <category>security</category>
      <category>devops</category>
    </item>
    <item>
      <title>Severity and the Common Vulnerability Scoring System (CVSS) - Part 1</title>
      <dc:creator>Robin Birney</dc:creator>
      <pubDate>Tue, 12 Sep 2023 14:24:58 +0000</pubDate>
      <link>https://dev.to/safetycli/severity-and-the-common-vulnerability-scoring-system-cvss-part-1-4o3e</link>
      <guid>https://dev.to/safetycli/severity-and-the-common-vulnerability-scoring-system-cvss-part-1-4o3e</guid>
      <description>&lt;p&gt;In part one of this two-part series, we explore the importance of CVSS severity when assessing software supply chain vulnerabilities. We also explain how Safety combines severity, project context, reachability, and exploitability to enhance software supply chain security and reduce vulnerability noise.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is CVSS?
&lt;/h2&gt;

&lt;p&gt;CVSS, or the Common Vulnerability Scoring System, is a standardized rating system for software vulnerabilities. Since its creation in 2005, CVSS has become a widely used standard across programming ecosystems. It employs quantitative measures to assess the severity of security flaws in software.&lt;/p&gt;

&lt;h2&gt;
  
  
  How CVSS Works
&lt;/h2&gt;

&lt;p&gt;CVSS utilizes multiple metrics divided into three primary groups, with scores ranging from 0 to 10 (10 being the highest):&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Base Score Metrics&lt;/strong&gt;: These metrics evaluate inherent vulnerability characteristics, such as exploitation techniques, required access, and resultant impacts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Temporal Score Metrics&lt;/strong&gt;: These metrics consider factors like the ease of exploiting a vulnerability or the availability of solutions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Environmental Score Metrics&lt;/strong&gt;: These metrics focus on specific environmental features, such as system susceptibility or the business impact of a vulnerability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;:&lt;br&gt;
Let's analyze a CVE (Common Vulnerabilities and Exposures) and examine the CVSS details associated with it:&lt;br&gt;
‍&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CVE-2019-0708&lt;/strong&gt;&lt;br&gt;
This vulnerability in Microsoft Windows Remote Desktop Service allowed for remote code execution. In simpler terms, an attacker could gain control of the system without any user interaction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;‍CVSS Score&lt;/strong&gt;: 9.8 (Critical)&lt;br&gt;
&lt;strong&gt;‍Base Score Metrics&lt;/strong&gt;:&lt;br&gt;
&lt;strong&gt;Attack Vector&lt;/strong&gt;: Network&lt;br&gt;
&lt;strong&gt;Attack Complexity&lt;/strong&gt;: Low&lt;br&gt;
&lt;strong&gt;User Interaction&lt;/strong&gt;: None&lt;/p&gt;

&lt;p&gt;In this example, the CVSS score indicates that the vulnerability is severe, posing a high risk of network-based attacks without requiring user action.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Role of Developers, Maintainers, and CNAs
&lt;/h2&gt;

&lt;p&gt;CVSS relies on various groups within the software development community to ensure its effectiveness. These include:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developers&lt;/strong&gt;: Developers and end users are often the first to discover vulnerabilities. By identifying these flaws, developers contribute to the broader community by swiftly enabling software maintainers to implement workarounds and patches. This collaborative approach is fundamental in the Open Source Software community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Maintainers&lt;/strong&gt;: Developers responsible for creating and maintaining impacted software use CVSS scores to prioritize vulnerability fixes and release appropriate updates. CVSS holds maintainers accountable as vulnerabilities are publicly available.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CNAs (CVE Numbering Authorities)&lt;/strong&gt; are organizations authorized to assign identifiers to new vulnerabilities. This process can take time, often leading to erroneous data being gathered and documented about the CVE. As you’ll see, Safety vets every CVE that we track to ensure accuracy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;National Vulnerability Database (NVD)&lt;/strong&gt;: The NVD serves as the US government's vulnerability management data repository. It provides comprehensive information about vulnerabilities, including their associated CVSS scores. New vulnerabilities receive a CVE identifier and are cataloged in the NVD.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Pros and Cons of Using CVSS
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;br&gt;
Universal, Standardized Metrics: CVSS provides a globally recognized scale, fostering a unified security dialogue.&lt;br&gt;
Prioritization: Scores can help facilitate the identification of immediate threat areas based on severity (although CVSS severity is not the best way to triage or prioritize vulnerabilities, more on this later)&lt;br&gt;
Transparency: Publicly accessible CVSS scores enlighten users and developers about software safety.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Speed of Identification and Updates:&lt;/strong&gt; CVSS scores are only available for registered CVEs, and the accuracy of the data depends on the community's information gathering and submission. Therefore, many vulnerabilities remain undocumented for weeks or even months, and others contain outdated information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Inaccuracies:&lt;/strong&gt; Despite everyone’s best efforts, the CVSS scoring system is under strain and cannot keep up with the volume of vulnerabilities across the global software ecosystem. As a result, CVEs and their CVSS scores can sometimes be incorrect or inaccurate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lack of Context:&lt;/strong&gt; CVSS scores alone overlook many important vulnerability aspects. And they are not the best way for organizations to triage and prioritize vulnerabilities. High or critical CVSS severity scores are not good predictors for those vulnerabilities that actually impact security at most organizations. An overemphasis on quantifiable measures neglects other crucial considerations, such as project context and exploitability, which will be explored in Part 2 of this series.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Complexity:&lt;/strong&gt; CVSS may appear overwhelming at first due to the abundance of data, advisories, and impacted configurations. The example above demonstrates the significant effort required to understand how each vulnerability affects a project, especially when dealing with large numbers of vulnerabilities across multiple dependencies.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;CVSS severity is not a good predictor of which vulnerabilities that actually impact security‍&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://safetycli.com"&gt;‍Safety Cybersecurity&lt;/a&gt; adopts a unique approach to utilizing and applying CVSS data for vulnerability assessment. Our dedicated team of cybersecurity analysts manually verifies every vulnerability in our industry-leading vulnerability database to ensure the accuracy and completeness of severity information, including CVEs. &lt;/p&gt;

&lt;p&gt;Additionally, Safety employs machine learning and proprietary research techniques to identify new vulnerabilities in over 550,000 Python packages that are not CVEs yet or would not be covered by the CVE system. These vulnerabilities are then assessed for severity using the same criteria as CVSS. There are multiple times more vulnerabilities in the open source software ecosystem than those listed as CVEs, and at Safety we track and index these using a variety of techniques. &lt;/p&gt;

&lt;p&gt;The result is our &lt;a href="https://safetycli.com/product/vulnerability-db"&gt;Safety DB&lt;/a&gt;, which tracks eight times more vulnerabilities than other platforms like Dependabot, OSV, and PipAudit. This comprehensive database provides Safety customers with unparalleled protection and insights into vulnerabilities that may impact their projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Beyond CVSS and Reducing Vulnerability Noise
&lt;/h2&gt;

&lt;p&gt;In this post, we delved into the workings of CVSS, its pros and cons, and how Safety leverages CVSS data for comprehensive vulnerability assessment.&lt;/p&gt;

&lt;p&gt;Although CVSS data can be used for assessing vulnerabilities based on severity alone, it has many downsides and limitations. &lt;/p&gt;

&lt;p&gt;In the next part of this series, we will delve further into Safety's approach to mitigating the limitations of CVSS and reducing vulnerability noise. We will explore how we combine CVSS severity data with additional vulnerability data, such as project context, exploitability, and reachability.&lt;/p&gt;

</description>
      <category>python</category>
      <category>devops</category>
      <category>security</category>
      <category>cve</category>
    </item>
  </channel>
</rss>
