Top issues
Detected Windows executable files that were compiled without following the recommended SDL process.
Causes risk: misconfigured toolchains detected
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 Windows executable files that do not implement the high entropy ASLR vulnerability mitigation protection.
Causes risk: reduced effectiveness mitigations
hardening
Problem
High Entropy Address Space Layout Randomization (HEASLR) 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. Memory space that 64-bit applications have at their disposal is significantly larger, but the application needs to opt in to take the advantage.Prevalence in PyPI community
3 packages
found in
Top 100
6 packages
found in
Top 1k
28 packages
found in
Top 10k
1218 packages
in community
Next steps
It's highly recommended to enable this option for all 64-bit software components used at security boundaries, or those that process user controlled inputs. For best results, use HEASLR together with Data Execution Prevention (DEP/NX).
To enable this mitigation, refer to your programming language linker documentation.
In Microsoft VisualStudio, you can enable HEASLR mitigation by setting the linker option /HIGHENTROPYVA to ON.
Detected Windows executable files that might ineffectively generate the security cookie value.
Causes risk: reduced effectiveness mitigations
hardening
Problem
Buffer overrun protection (Stack Guard) is a vulnerability mitigation option that prevents stack-based memory corruptions. Special values, called stack cookies, are inserted in the stack immediately before the return address value. Code flow protection is achieved by monitoring for unexpected stack cookie value changes. The stack cookie value initialization is delegated to an application-defined function. That is not a recommended practice, as the protection effectiveness depends on the random number generator strength.Prevalence in PyPI community
2 packages
found in
Top 100
1 packages
found in
Top 1k
3 packages
found in
Top 10k
52 packages
in community
Next steps
Revert the stack cookie value initialization back to the operating system-defined implementation. This will reduce the chance that a predictable stack cookie value could be used during an application run.
Detected Windows executable files that do not implement CFG vulnerability mitigation protection.
Causes risk: modern mitigations missing
hardening
Problem
Control Flow Guard (CFG/CFI) protects the code flow integrity by ensuring that indirect calls are made only to vetted functions. This mitigation protects dynamically resolved function targets by instrumenting the code responsible for transferring execution control. Because the code flow integrity is verified during runtime, malicious code is less likely to be able to hijack trusted execution paths.Prevalence in PyPI community
25 packages
found in
Top 100
103 packages
found in
Top 1k
449 packages
found in
Top 10k
8279 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 toolchain documentation.
In Microsoft VisualStudio, you can enable CFG mitigation by passing the /guard:cf parameter to the compiler and linker.
Detected Windows executable files that do not implement long jump control flow vulnerability mitigation protection.
Causes risk: low priority mitigations absent
hardening
Problem
Control Flow Guard (CFG/CFI) protects the code flow integrity by ensuring that indirect calls are made only to vetted functions. This mitigation protects dynamically resolved function targets by instrumenting the code responsible for transferring execution control. Higher-level programming languages implement structured exception handling by managing their own code flow execution paths. As such, they are subject to code flow hijacking during runtime. Language-specific exception handling mitigation enforces execution integrity by instrumenting calls to manage execution context switching. Any deviation from the known and trusted code flow paths will cause the application to terminate. This makes malicious code less likely to execute.Prevalence in PyPI community
30 packages
found in
Top 100
141 packages
found in
Top 1k
779 packages
found in
Top 10k
16437 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 toolchain documentation.
In Microsoft VisualStudio, you can enable CFG mitigation by passing the /guard:cf parameter to the compiler and linker.
Top behaviors
Modifies file/directory permissions.
permissions
Prevalence in PyPI community
Behavior often found in this community (Common)
34 packages
found in
Top 100
185 packages
found in
Top 1k
1062 packages
found in
Top 10k
25867 packages
in community
Encodes data using the Base64 algorithm.
packer
Prevalence in PyPI community
Behavior often found in this community (Common)
39 packages
found in
Top 100
280 packages
found in
Top 1k
1754 packages
found in
Top 10k
67026 packages
in community
Contains URLs that link to interesting file formats.
network
Prevalence in PyPI community
Behavior often found in this community (Common)
75 packages
found in
Top 100
451 packages
found in
Top 1k
3488 packages
found in
Top 10k
109392 packages
in community
Checks file permissions.
file
Prevalence in PyPI community
Behavior often found in this community (Common)
10 packages
found in
Top 100
40 packages
found in
Top 1k
209 packages
found in
Top 10k
6090 packages
in community
Executes a file.
execution
Prevalence in PyPI community
Behavior often found in this community (Common)
34 packages
found in
Top 100
169 packages
found in
Top 1k
1256 packages
found in
Top 10k
55955 packages
in community
Top vulnerabilities
No vulnerabilities found.