Spectra Assure
Community
Docs
warningRisk: Hardening
Scanned: 3 days ago

installer

Artifact:
latest
Top 1k
A library for installing Python wheels.
License: Permissive (MIT)
Published: over 2 years ago




SAFE Assessment

Compliance

Licenses
No license compliance issues
Secrets
No sensitive information found

Security

Vulnerabilities
No known vulnerabilities detected
Hardening
4 reduced effectiveness mitigations

Threats

Tampering
No evidence of software tampering
Malware
No evidence of malware inclusion

Popularity

1.38B
Total Downloads
Contributors
Declared Dependencies
70
Dependents

Top issues

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.

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.

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.

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.

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

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

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

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

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

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.