List of software quality issues with the number of affected components.
category ALL
Policies
Info
Count
Category
Detected presence of severe vulnerabilities with active exploitation.
Causes risk: actively exploited vulnerabilities
1
vulnerabilities
Problem
Software composition analysis has identified a component with one or more known severe vulnerabilities. Available threat intelligence telemetry has confirmed that the reported high or critical severity vulnerabilities are actively being exploited by malicious actors.Prevalence in PyPI community
38 packages
found in
Top 100
303 packages
found in
Top 1k
2611 packages
found in
Top 10k
103184 packages
in community
Next steps
We strongly advise updating the component to the latest version.
If the update can't resolve the issue, create a plan to isolate or replace the affected component.
Detected Windows executable files that do not implement the DEP vulnerability mitigation protection.
Causes risk: baseline mitigations missing
1
hardening
Problem
Data Execution Prevention (DEP/NX) is a vulnerability mitigation option that prevents data from being interpreted as code anywhere within the application. This mitigation protects the application stack, heap and other memory data ranges. Executable files that fail to implement this mitigation expose the user to increased risks of malicious code injection.Prevalence in PyPI community
20 packages
found in
Top 100
88 packages
found in
Top 1k
357 packages
found in
Top 10k
5500 packages
in community
Next steps
It's highly recommended to enable this option for all software components used at security boundaries, or those that process user controlled inputs.
To enable this mitigation, refer to your programming language linker documentation.
In Microsoft VisualStudio, you can enable DEP mitigation by setting the linker option /NXCOMPAT to ON.
Detected Windows executable files with imported functions susceptible to pointer hijacking.
Causes risk: execution hijacking concerns
1
hardening
Problem
Sensitive executable memory regions should be kept as read-only to protect the integrity of trusted execution code flow paths. Imported function addresses are pointers to the symbols that implement the application-required functionality. If those pointers are changed by malicious code, execution paths can be redirected to unintended locations. Most modern programming language toolchains protect those memory regions appropriately. These issues are commonly reported for outdated linkers and non-compliant executable packing solutions.Prevalence in PyPI community
14 packages
found in
Top 100
22 packages
found in
Top 1k
138 packages
found in
Top 10k
3863 packages
in community
Next steps
Review the programming language linker options, and consider a build toolchain update.
Detected Windows executable files with TLS callbacks susceptible to pointer hijacking.
Causes risk: execution hijacking concerns
1
hardening
Problem
Sensitive executable memory regions should be kept as read-only to protect the integrity of trusted execution code flow paths. Thread local storage (TLS) callbacks are pointers to code initialization and resource release functions. If those pointers are changed by malicious code, execution paths can be redirected to unintended locations. Most modern programming language toolchains protect those memory regions appropriately. These issues are commonly reported for outdated linkers and non-compliant executable packing solutions.Prevalence in PyPI community
6 packages
found in
Top 100
13 packages
found in
Top 1k
103 packages
found in
Top 10k
3072 packages
in community
Next steps
Review the programming language linker options, and consider a build toolchain update.
Detected presence of high severity vulnerabilities.
Causes risk: high severity vulnerabilities
1
vulnerabilities
Problem
Software composition analysis has identified a component with one or more known vulnerabilities. Based on the CVSS scoring, these vulnerabilities have been marked as high severity.Prevalence in PyPI community
50 packages
found in
Top 100
352 packages
found in
Top 1k
2858 packages
found in
Top 10k
108771 packages
in community
Next steps
Perform impact analysis for the reported CVEs.
Update the component to the latest version.
If the update can't resolve the issue, create a plan to isolate or replace the affected component.
Detected presence of statically linked dependencies distributed with weak copyleft licenses.
Causes risk: weak copyleft linked components
1
licenses
Problem
Software license is a legal instrument that governs the use and distribution of software source code and its binary representation. Software publishers have the freedom to choose any commonly used or purposefully written license to publish their work under. While some licenses are liberal and allow almost any kind of distribution, with or without code modification, other licenses are more restrictive and impose rules for their inclusion in other software projects. Weak copyleft licenses in particular impose requirements that the user must be able to replace or update the code they apply to. In practical terms, that means the object and library files that statically link to weak copyleft code must be made available publicly. For commercial applications, this is typically undesirable. Therefore, statically linking to weak copyleft code is commonly avoided or even prohibited by the organization policy. Instead of linking statically to weak copyleft licensed code, it is recommended to isolate such code into modules that the publisher-developed, first-party code can dynamically link to without the aforementioned obligations.Prevalence in PyPI community
1 packages
found in
Top 100
13 packages
found in
Top 1k
76 packages
found in
Top 10k
1063 packages
in community
Next steps
Confirm that the software package statically links to a weak copyleft dependency.
Investigate if the software publisher provides this dependency under a non-copyleft license.
Consider replacing the software dependency with an alternative that offers a license compatible with commercial use.
Alternatively, repackage the code so that it dynamically links to a weak copyleft dependency.
Detected presence of licenses that place restrictions on software distribution.
Causes risk: software distribution restrictions
1
licenses
Problem
Software license is a legal instrument that governs the use and distribution of software source code and its binary representation. Software publishers have the freedom to choose any commonly used or purposefully written license to publish their work under. While some licenses are liberal and allow almost any kind of distribution, with or without code modification, other licenses are more restrictive and impose rules for their inclusion in other software projects. Some software licenses place restrictions on software distribution of the code they apply to. These restrictions may extend to the services built upon the code licensed under such restrictive licenses. Some restrictive licenses explicitly state that the licensee may not provide the software to third parties as a hosted or managed service, where the service provides users with access to any substantial set of the features or functionality of the licensed software. When building commercial applications, this is typically undesirable. Therefore, the inclusion of any code that may impose limits on software distribution is commonly avoided or even prohibited by the organization policy.Prevalence in PyPI community
6 packages
found in
Top 100
50 packages
found in
Top 1k
737 packages
found in
Top 10k
99544 packages
in community
Next steps
Confirm that the software package references a component or a dependency with a restrictive license.
Consider replacing the software component with an alternative that offers a license compatible with organization policy.
Detected Windows executable files that were compiled without following the recommended SDL process.
Causes risk: misconfigured toolchains detected
1
hardening
Problem
Security Development Lifecycle (SDL) is a group of enhanced compile-time checks that report common coding mistakes as errors, preventing them from reaching production. These checks minimize the number of security issues by enforcing strict memory access checks. They also prevent the use of hard-to-secure string and memory manipulation functions. To prove the binary has been compiled with these checks enabled, the compiler emits a special debug object. Removing the debug table eliminates this proof. Therefore, this check only applies to binaries that still have their debug tables.Prevalence in PyPI community
6 packages
found in
Top 100
47 packages
found in
Top 1k
246 packages
found in
Top 10k
6306 packages
in community
Next steps
You should keep the debug table to prove that the SDL process has been followed.
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.
Detected presence of medium severity vulnerabilities.
Causes risk: medium severity vulnerabilities
1
vulnerabilities
Problem
Software composition analysis has identified a component with one or more known vulnerabilities. Based on the CVSS scoring, these vulnerabilities have been marked as medium severity.Prevalence in PyPI community
48 packages
found in
Top 100
311 packages
found in
Top 1k
2806 packages
found in
Top 10k
142146 packages
in community
Next steps
Perform impact analysis for the reported CVEs.
Update the component to the latest version.
If the update can't resolve the issue, create a plan to isolate or replace the affected component.
Detected Windows executable files that rely on the ineffective ASLR vulnerability mitigation enforcement option.
Causes risk: reduced effectiveness mitigations
1
hardening
Problem
Address Space Layout Randomization (ASLR) is a vulnerability mitigation option that forces software components to load on a different memory base address each time they are used. This makes the memory layout unpredictable, and it is therefore harder for malicious code to be reliably injected during application runtime. Although enabling ASLR is an opt-in setting during program linking, some operating system configurations can still enforce its use if the vulnerability mitigation requirements are met. This is possible even if the application hasn't been explicitly marked as ASLR-compatible. While this generally improves security posture, the limitation of ASLR enforcement is that the application load addresses are not truly randomized. In most cases, the application load base is different than the default, but it remains the same for the entire duration of device uptime.Prevalence in PyPI community
16 packages
found in
Top 100
63 packages
found in
Top 1k
245 packages
found in
Top 10k
3151 packages
in community
Next steps
In Microsoft VisualStudio, you should explicitly enable ASLR mitigation by setting the linker option /DYNAMICBASE to ON.
10