Top issues
Problem
Software developers use programming and design knowledge to build reusable software components. Software components are the basic building blocks for modern applications. Software consumed by an enterprise consists of hundreds, and sometimes even thousands of open source components. Open source communities depend on the work of thousands of software developers that volunteer their time to maintain software components. Software developers build up the reputation of their open source projects by developing in public. Modern source code repositories have many social features that allow software developers to handle bug reports, have discussions with their users, and convey reaching significant project milestones. It is uncommon to find open source projects that omit linking their component to a publicly accessible source code repository.Prevalence in PowerShell Gallery community
100 packages
found in
Top 100
900 packages
found in
Top 1k
8992 packages
found in
Top 10k
17108 packages
in community
Next steps
Check the software component behaviors for anomalies.
Consider exploratory software component testing within a sandbox environment.
Consider replacing the software component with a more widely used alternative.
Avoid using this software package until it is vetted as safe.
Detected Windows executable files that trigger ASLR compatibility mode and reduce its effectiveness.
Causes risk: reduced effectiveness mitigations
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 mitigation is detected as enabled, but rendered ineffective since the set load base address forces the 64-bit image to load within the lower 32-bit memory range. Having a smaller memory range makes ASLR more predictable, and it is therefore easier for malicious code to bypass it.Prevalence in PowerShell Gallery community
0 packages
found in
Top 100
12 packages
found in
Top 1k
31 packages
found in
Top 10k
55 packages
in community
Next steps
Review the programming language linker options.
In Microsoft VisualStudio, you should check if the linker option /BASE is set to a value lesser than 4GB.
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 PowerShell Gallery community
2 packages
found in
Top 100
47 packages
found in
Top 1k
206 packages
found in
Top 10k
344 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 shared library files that do not suppress exports which reduces CFG vulnerability mitigation protection effectiveness.
Causes risk: low priority mitigations absent
hardening
Problem
Control Flow Guard (CFG/CFI) protects the code flow integrity by ensuring that dynamic calls are made only to vetted functions. Trusted execution paths rely on the ability of the operating system to build a list of valid function targets. Certain functions can intentionally be disallowed to prevent malicious code from deactivating vulnerability mitigation features. A list of such invalid function targets can include publicly exported symbols. Applications that enhance control flow integrity through export suppression rely on libraries to mark their publicly visible symbols as suppressed. This is done for all symbols that are considered to be sensitive functions, and to which access should be restricted. It is considered dangerous to mix applications that perform export suppression with libraries that do not.Prevalence in PowerShell Gallery community
5 packages
found in
Top 100
48 packages
found in
Top 1k
232 packages
found in
Top 10k
382 packages
in community
Next steps
To enable this mitigation on library code, 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 PowerShell Gallery community
4 packages
found in
Top 100
51 packages
found in
Top 1k
243 packages
found in
Top 10k
401 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
Deletes a registry key and its values.
registry
Prevalence in PowerShell Gallery community
Behavior often found in this community (Common)
2 packages
found in
Top 100
56 packages
found in
Top 1k
252 packages
found in
Top 10k
409 packages
in community
Deletes files in Windows system directories.
file
Prevalence in PowerShell Gallery community
Behavior often found in this community (Common)
5 packages
found in
Top 100
66 packages
found in
Top 1k
509 packages
found in
Top 10k
748 packages
in community
Interacts with Microsoft .NET Framework code, types and assemblies.
execution
Prevalence in PowerShell Gallery community
Behavior often found in this community (Common)
100 packages
found in
Top 100
804 packages
found in
Top 1k
6518 packages
found in
Top 10k
11726 packages
in community
Creates and interacts with additional .NET objects.
execution
Prevalence in PowerShell Gallery community
Behavior often found in this community (Common)
82 packages
found in
Top 100
304 packages
found in
Top 1k
1889 packages
found in
Top 10k
2994 packages
in community
Changes the value of a registry key.
registry
Prevalence in PowerShell Gallery community
Behavior often found in this community (Common)
5 packages
found in
Top 100
65 packages
found in
Top 1k
304 packages
found in
Top 10k
494 packages
in community
Top vulnerabilities
No vulnerabilities found.