SQ14139
Detected Windows executable files compiled without following the SDL best practices while using banned memory functions.
priority | CI/CD status | severity | effort | SAFE level | SAFE assessment |
---|---|---|---|---|---|
pass | medium | high | None | hardening: warning Reason: misconfigured toolchains detected |
About the issueβ
Security Development Lifecycle (SDL) is a group of enhanced compile-time checks that report common coding mistakes as errors. These checks prevent the use of hard-to-secure memory manipulation functions. They enforce static memory access checks, and allow only the use of range-verified memory access functions. While these checks do not prevent every memory corruption issue by themselves, they do help reduce the likelihood.
How to resolve the issueβ
- It's highly recommended to enable these checks for all software components used at security boundaries, or those that process user controlled inputs.
- To enable these checks, refer to your programming language toolchain documentation.
- In Microsoft VisualStudio, you can enable this feature by setting the compiler option /SDL to ON.
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β
- Secure Development Lifecycle: The essential guide to safe software pipelines (External resource - TechBeacon)
- Microsoftβs Free Security Tools β banned.h (External resource - Microsoft)
- What is 'Memory Corruption' (External resource - The Economic Times)