Public Vulnerability Matching
SBOM components are compared with public vulnerability records using supported package identifiers and version information.
- To identify components that match known vulnerability records.
Modern software applications depend on third-party libraries, frameworks, and packages to provide application functionality. These dependencies can introduce security risks when they contain known vulnerabilities, use outdated versions, or depend on other vulnerable components.
A Software Bill of Materials (SBOM) provides an inventory of software components used by an application. It can contain information such as component names, versions, package identifiers, and dependency relationships, depending on the SBOM format and generation process.
Although an SBOM helps identify software components, it does not independently establish whether those components contain vulnerabilities. Vulnerability information must be correlated with reliable security records to determine which components require further investigation.
In this use case, Mattermost is used as the existing software application for software supply-chain risk analysis. An SBOM is generated from a supported Mattermost build or its available dependency artifacts within an isolated Ubuntu and Kali Linux laboratory environment.
Public vulnerability records are obtained from an existing source such as OSV.dev. The collected SBOM components are matched against available vulnerability information, and the resulting component records are prepared for machine-learning analysis.
A Support Vector Machine (SVM) classifier is used to classify software components into risk categories based on suitable features and verified training labels. The model is evaluated using held-out data to measure its classification performance.
Python integrates SBOM processing, vulnerability matching, feature extraction, model training, risk classification, and report generation. A Streamlit dashboard presents the component inventory, known vulnerability findings, predicted risk categories, and model evaluation results.
Application: Mattermost
Mattermost is an existing collaboration and messaging application that can be deployed in a controlled laboratory environment.
Like other software applications, Mattermost relies on software components and dependencies that may introduce supply-chain security risks.
The application is used as the target for examining dependency information, correlating software components with public vulnerability records, and evaluating the proposed machine-learning-based risk-classification workflow.
Software applications can contain many direct and transitive dependencies. Identifying the security status of every component can be difficult when component information and vulnerability records are maintained separately.
A vulnerable dependency may not be immediately apparent from the application's user interface. Security analysts may need to examine the SBOM, identify component versions, compare them with vulnerability records, and determine which components should receive further attention.
Traditional vulnerability scanners help identify known vulnerabilities, but the resulting findings may still require prioritization and contextual analysis.
The proposed solution combines SBOM analysis, public vulnerability records, and an SVM classifier to organize software components into risk categories.
Specific Attack: Software Supply-Chain Risk Scenario Involving a Vulnerable Third-Party Dependency
The controlled security-testing scenario examines how a third-party software dependency with a known vulnerability can introduce risk into an application.
Mattermost is deployed within the authorized laboratory environment. Its available dependency artifacts are examined to identify software components and their versions.
Public vulnerability records are used to identify components that match known vulnerable versions, where matching information is available.
For controlled validation, the analysis may also include a compatible, known-vulnerable test component in an isolated test project or SBOM. This test component is used to verify the vulnerability-matching and risk-classification workflow; it is not introduced into a production Mattermost deployment.
The objective is to determine whether the workflow can identify known vulnerability evidence, classify suitable component records, and display the results for security review.
Specific Attack: Software Supply-Chain Risk Scenario Involving a Vulnerable Third-Party Dependency
The controlled security-testing scenario examines how a third-party software dependency with a known vulnerability can introduce risk into an application.
Mattermost is deployed within the authorized laboratory environment. Its available dependency artifacts are examined to identify software components and their versions.
Public vulnerability records are used to identify components that match known vulnerable versions, where matching information is available.
For controlled validation, the analysis may also include a compatible, known-vulnerable test component in an isolated test project or SBOM. This test component is used to verify the vulnerability-matching and risk-classification workflow; it is not introduced into a production Mattermost deployment.
The objective is to determine whether the workflow can identify known vulnerability evidence, classify suitable component records, and display the results for security review.
Third-Party Software Component
↓
Known Vulnerability Associated with a Specific Version\n↓\n Vulnerable Component Included in a Controlled Test Scenario
↓
SBOM Component Identification
↓
Public Vulnerability Record Matching
↓
Component Metadata and Vulnerability Evidence Collection
↓
SVM-Based Risk Classification
↓
Predicted Risk Category Generation
↓
Known Vulnerability Verification
↓
Dashboard Reporting and Security Review
AI-Based SBOM Component Risk Classification and Vulnerability Evidence Correlation
The primary security concept is AI-Based Software Supply-Chain Risk Classification. The workflow combines software component inventory, public vulnerability information, and machine-learning classification to support dependency risk assessment.
SBOM-Based Component Identification : An SBOM is generated from a supported Mattermost build or its available dependency artifacts. Component names, versions, package identifiers, and other available metadata are extracted for analysis.
SVM-Based Risk Classification : A Support Vector Machine classifier is trained using an existing dataset containing suitable component features and verified risk labels. The model evaluates compatible component records and predicts their risk categories. The training data must support the chosen classification objective; known vulnerability matches alone should not automatically be treated as a complete measure of overall risk.
Vulnerability Correlation and Dashboard Reporting : Component records are correlated with public vulnerability information. The known vulnerability findings and SVM predictions are maintained as separate results so that the analyst can distinguish verified vulnerability evidence from model-estimated risk.
The security concept defines the overall software supply-chain risk assessment strategy.
The following are the specific defensive mechanisms implemented.
The application’s available software components are identified using an SBOM generated from supported artifacts.
SBOM components are compared with public vulnerability records using supported package identifiers and version information.
The trained SVM model classifies compatible component records using the features and labels supported by the training dataset.
Training and inference records are processed using compatible feature-extraction and transformation procedures.
Known vulnerability matches are reviewed using the available package information and vulnerability records.
Component findings and model predictions are organized for further security review.
SBOM records, vulnerability matches, model predictions, and evaluation results are stored in a structured database.
The dashboard presents component information, vulnerability findings, and model predictions.
The SVM classifier is evaluated against held-out records with suitable reference labels.
Mattermost provides the existing software application used for dependency and SBOM analysis.
Syft generates SBOMs from supported software directories, container images, and other compatible artifacts.
OSV-Scanner checks supported dependency information against vulnerability data available through OSV.
Grype scans supported software artifacts and SBOMs for known vulnerabilities.
OSV.dev provides public vulnerability records for supported software ecosystems.
Python provides the primary implementation environment.
Scikit-learn provides the Support Vector Machine implementation and evaluation utilities.
Pandas processes SBOM component records, vulnerability findings, and model results.
NumPy supports numerical operations required during feature preparation and model processing.
Scikit-learn preprocessing utilities prepare suitable categorical and numerical features for the SVM classifier.
SQLite stores the component inventory and security analysis results
Streamlit provides the user interface for the risk-analysis workflow.
Ubuntu provides the main application-analysis and machine-learning environment.
Kali Linux provides the controlled security-testing environment within the laboratory.
VirtualBox provides the isolated virtual-machine environment.
Mattermost is deployed within an isolated laboratory environment as the existing application used for software supply-chain risk analysis.
An SBOM is generated from supported Mattermost artifacts, providing a structured inventory of the software components identified by the selected tool.
Component names, versions, package identifiers, and other available metadata are extracted and processed using Python.
Public vulnerability records are collected and correlated with compatible SBOM components using OSV.dev and OSV-Scanner.
An existing public dataset with suitable component features and verified labels is prepared for SVM-based risk classification
The SVM classifier is trained and evaluated using held-out data, producing measurable classification results based on the available ground truth.
Compatible Mattermost component records are processed using the same feature pipeline and classified according to the model's supported risk categories.
Known vulnerability findings and AI-predicted risk categories are maintained separately, supporting evidence-based verification and component prioritization.
SQLite stores the component inventory, vulnerability matches, model predictions, and evaluation results, while Streamlit presents the information through an interactive security dashboard.
The complete workflow demonstrates how SBOM analysis, public vulnerability records, SVM-based component classification, cybersecurity scanning tools, and dashboard reporting can support software supply-chain risk assessment while documenting data compatibility requirements and model limitations.