SQ30121
Detected presence of software components with low-quality content.
| priority | CI/CD status | severity | effort | SAFE level | SAFE assessment |
|---|---|---|---|---|---|
| fail | medium | high | 5 | malware: fail Reason: low-quality components found |
About the issueโ
Authors of open source software may decide to include low-quality content in their projects. Low quality components typically do not contain any meaningful code, nor do they contribute to the functionality of applications they are a part of. Low quality packages are often published to open source package repositories. The goal of such packages is to accumulate reward points for their authors. Some programs aimed at open source developers reward the most popular packages. Such reward programs create powerful incentives for developers to include low-quality content in their projects. However, proliferation of low-quality content in open source increases the risk that the developer account may be taken over by a malicious party. Low quality components may receive updates that introduce behaviors that were not expected by the developers who included them in their projects.
How to resolve the issueโ
- Inspect behaviors exhibited by the detected software components.
- If the software behaviors differ from expected, investigate the build and release environment for software supply chain compromise.
- Revise the use of components that raise these alarms. If you can't deprecate those components, make sure they are well-documented.
- Avoid using this software package until it is vetted as safe.
Incidence statisticsโ
ReversingLabs periodically collects and analyzes the contents of popular software package repositories for threat research purposes. Analysis results are used to calculate incidence statistics for issues (policy violations) that Spectra Assure can detect in software packages.
This section is updated when new data becomes available.
Total amount of packages analyzed
- RubyGems: 203K
- Nuget: 735K
- PyPi: 838K
- NPM: 5.12M
- VS Code: 113K
- PS Gallery: 17K
Total detections per repository
For every repository, the chart shows the number of packages that triggered the software assurance policy. In other words, it shows how many packages in each package repository were found to have the specific issue described on this page. This information helps you understand how common the issue is across different software communities.
If a repository is absent from the chart, that means none of the packages in that repository triggered this policy during analysis, or the policy was not used during analysis.
Distribution of total detections by project popularity
For every repository, the chart shows how many of the total detections belong to the Top 100 (1-100), Top 1000 (101-1000) and Top 10 000 (1001-10 000) most downloaded projects. This information helps you understand the impact of the issue within each community, making it clearer when the issue affects the most popular projects.
If the chart shows zero values for all of the top project groups, that means all detections were in unranked projects (lower than 10 000 on the list of most downloaded projects).
Recommended readingโ
- Open Source Usage Trends and Security Challenges - Census III of Free and Open Source Software (External resource - The Linux Foundation)
- Participating in open source communities (External resource - The Linux Foundation)