Top issues
Detected Windows executable files that do not implement the DEP vulnerability mitigation protection.
Causes risk: baseline mitigations missing
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
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
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
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 Linux executable files compiled without any kind of buffer overrun protection while using banned string functions.
Causes risk: misconfigured toolchains detected
hardening
Problem
Buffer overrun protection on Linux is achieved in two ways. The most common solution is to use the stack canary (also called cookie). The stack canary is a special value written onto the stack that allows the operating system to detect and terminate the program if a stack overrun occurs. In most cases, compilers will apply the stack canary conservatively in order to avoid a negative performance impact. Therefore, stack canaries are often used together with another stack overrun mitigation - fortified functions. Fortified functions are usually wrappers around standard glibc functions (such as memcpy) which perform boundary checks either at compile time or run time to determine if a memory violation has occurred. The compiler needs additional context to generate such calls (for example, array size that needs to be known at compile time). Because of this, the compiler will virtually never substitute all viable functions with their fortified counterparts in complex programs. However, when combined with the stack canary, fortified functions provide a good measure of buffer overrun protection.Prevalence in PyPI community
13 packages
found in
Top 100
74 packages
found in
Top 1k
456 packages
found in
Top 10k
7612 packages
in community
Next steps
Presence of unfortified string functions may indicate use of unsafe programming practices, and you should avoid it if possible.
In GCC, enable fortified functions with -fstack-protector and -D_FORTIFY_SOURCE=2 flag, while using at least -O1 optimization level.
Top behaviors
Prompts user for credentials.
behavior
Prevalence in PyPI community
Behavior often found in this community (Common)
8 packages
found in
Top 100
51 packages
found in
Top 1k
324 packages
found in
Top 10k
12778 packages
in community
Queries the passwd database entry for a given user name.
steal
Prevalence in PyPI community
Behavior often found in this community (Common)
10 packages
found in
Top 100
50 packages
found in
Top 1k
265 packages
found in
Top 10k
5875 packages
in community
Decodes data using the Base64 algorithm.
packer
Prevalence in PyPI community
Behavior often found in this community (Common)
40 packages
found in
Top 100
253 packages
found in
Top 1k
1433 packages
found in
Top 10k
53416 packages
in community
Creates a process.
execution
Prevalence in PyPI community
Behavior often found in this community (Common)
68 packages
found in
Top 100
508 packages
found in
Top 1k
3570 packages
found in
Top 10k
165477 packages
in community
Decodes hex or base64-encoded streams.
packer
Prevalence in PyPI community
Behavior often found in this community (Common)
34 packages
found in
Top 100
145 packages
found in
Top 1k
550 packages
found in
Top 10k
10949 packages
in community
Top vulnerabilities
Vulnerability Exploitation Lifecycle
(1 Active Vulnerabilities)
1 (1 Fixable)
CVE-2024-39689h
None
None
None
Exploits Unknown
Exploits Exist
Exploited by Malware
Patching Mandated