Blog Security Introducing a community-driven advisory database for third-party software dependencies
February 16, 2022
3 min read

Introducing a community-driven advisory database for third-party software dependencies

The advisory data can be readily adopted, adapted, and exchanged. Learn more here.

handshake.png

GitLab provides a Dependency Scanning feature that can automatically detect vulnerabilities in your software dependencies. Dependency Scanning covers various programming languages and relies on the GitLab Advisory Database, that is updated on a periodic basis by the Vulnerability Research team at GitLab. The GitLab Advisory Database covers security advisories in software packages that have a CVE identifier, as well as malicious packages marked as such by their ecosystem (example). The database is an essential part of the Dependency Scanning feature, which is available in GitLab Ultimate self-managed and GitLab Ultimate SaaS.

As of recently, GitLab also provides a free and open-source version of the database, the GitLab Advisory Database (Open Source Edition), a time-delayed (+30 days) clone of the GitLab Advisory Database.

In the spirit of Collaboration and Transparency, two of the GitLab core values, we share the database with the open-source community in a format that is well-documented and can be easily parsed. The advisory data can be readily adopted, adapted, and exchanged. For example, links to proof of concepts or write-ups, or any other directly related information that will benefit the community, can be added to the urls array:

urls:
  - "https://hackerone.com/reports/1104077"
  - "https://nvd.nist.gov/vuln/detail/CVE-2021-28965"
  - "https://www.ruby-lang.org/en/news/2021/04/05/xml-round-trip-vulnerability-in-rexml-cve-2021-28965/"

Additionally, in our advisories we use Common Weakness Enumeration in conjunction with Common Vulnerability Scoring System as a standard means of communicating vulnerabilities, as well as their impact/severity, internally and externally.

The GitLab Advisory Database is integrated into GitLab Dependency Scanning. Once an existing advisory is modified or a new advisory is created, the information included in the advisory will appear in the Vulnerability Pages where findings/vulnerabilities originating from all security scanners, including Dependency Scanning, can be managed at a central place.

The open-source database has recently been integrated into Trivy, a free and open-source solution for container scanning. We are very grateful for community contributions to the GitLab Advisory Database. Our community has aided us by suggesting improvements to our data or by creating entirely new advisories, allowing everyone to benefit from their contributions.

At GitLab, everyone can contribute. The Vulnerability Research team at GitLab has made it easy to contribute to both databases.

Community contributions can be made available in advisories-community instantaneously by means of the community-sync flag, which has been introduced recently. Using this synchronization, you can make the same contribution appear in both databases at the time of a Merge Request (within one hour after the merge).

We have also used this flag to make the advisories concerning the recent log4Shell vulnerabilities available to the community immediately after these were made public. Even though the open-source version of the database is time-delayed, particular vulnerabilities that have the potential to become widespread and cause disruptions to the entire Internet, are pushed into the open-source version of the GitLab security advisory database.

Cover image by Charles Deluvio on Unsplash

We want to hear from you

Enjoyed reading this blog post or have questions or feedback? Share your thoughts by creating a new topic in the GitLab community forum. Share your feedback

Ready to get started?

See what your team could do with a unified DevSecOps Platform.

Get free trial

New to GitLab and not sure where to start?

Get started guide

Learn about what GitLab can do for your team

Talk to an expert