SQ20116
Detected digital signatures that only partially validate the integrity of signed content.
priority | CI/CD status | severity | effort | SAFE level | SAFE assessment |
---|---|---|---|---|---|
pass | high | high | None | tampering: warning Reason: partially signed components |
About the issueโ
Digital signatures are applied to applications, packages and documents as a cryptographically secured authenticity record. Signatures verify the origin and the integrity of the object they apply to. Some digital signing methods are designed to allow for additional data to be appended after the signature. This appended content is purposefully excluded from signature validation so that it can be changed after a signature has been made. However, presence of such data makes it impossible to determine if the file integrity has been compromised.
How to resolve the issueโ
- Take a closer look at these kinds of files, because malware commonly tries to go unnoticed by hiding within these validation gaps.
- Some software vendors use this approach in a non-malicious context to insert unique package information for tracking purposes after packaging. Using such non-verifiable data segments is considered an insecure practice, and you should deprecate it in your processes.
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: 183K
- Nuget: 644K
- PyPi: 628K
- NPM: 3.72M
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โ
- Digital certificates (External resource - Microsoft)
- Tampering with signed objects without breaking integrity seal (ReversingLabs blog)