Top issues
Detected Linux executable files that use a deprecated method to store the security cookie, making the buffer overrun vulnerability mitigation protection less effective.
Causes risk: reduced effectiveness mitigations
hardening
Problem
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. Older compilers might generate stack cookies in a way that makes it possible to determine their value, allowing the attacker to render the mitigation ineffective.Prevalence in npm community
0 packages
found in
Top 100
0 packages
found in
Top 1k
35 packages
found in
Top 10k
7.47k packages
in community
Next steps
In GCC, you can enable the stack canary with -fstack-protector-strong or -fstack-protector-all flag, but it may also be enabled by default in more recent versions of the compiler.
Consider upgrading your compiler.
Detected Linux executable files that do not implement the ASLR vulnerability mitigation protection.
Causes risk: baseline mitigations missing
hardening
Problem
ASLR (address-space layout randomization) is a mitigation technique that increases the difficulty of performing buffer-overflow attacks that require the attacker to know the address of the program in memory. This is done by loading the program at a randomly selected address in the process' address space. ASLR-enabled kernels can choose a random load address only for position-independent executables and code.Prevalence in npm community
0 packages
found in
Top 100
2 packages
found in
Top 1k
53 packages
found in
Top 10k
8.46k packages
in community
Next steps
To support ASLR, the program must be compiled as position-independent code. In most compilers, this is done by passing the corresponding position-independent flag, such as -fPIC for shared libraries or -fPIE for executables.
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 npm community
0 packages
found in
Top 100
2 packages
found in
Top 1k
101 packages
found in
Top 10k
17.12k 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 Linux executable files without any fortified functions.
Causes risk: low priority mitigations absent
hardening
Problem
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, lack of any fortified functions may indicate that this compiler feature was not used at all.Prevalence in npm community
0 packages
found in
Top 100
0 packages
found in
Top 1k
63 packages
found in
Top 10k
10.97k packages
in community
Next steps
In GCC, you can enable fortified functions with -D_FORTIFY_SOURCE=2 flag, while using at least -O1 optimization level.
Problem
Operating systems allow multiple user accounts to coexist on a single computer system. Each registered user has identity information associated with their account. At the very least, user accounts consist of a user name and an optional password. In some cases, user account data may also include personally identifiable information. Extended personal information may include user's given and last name, their email and mailing address, personal photo and their telephone number. Financially motivated attackers may seek to collect personal information for purposes of selling the private data to a third-party. Malicious code that typically exhibits these behavior traits is commonly referred to as an information stealer. While the presence of code that accesses identity information does not necessarily imply malicious intent, all of its uses in a software package should be documented and approved. Accessing identity information is a very common behavior for software packages. One example of acceptable use for such functions is verifying that the active user has purchased a software license that allows them to run the application.Prevalence in npm community
2 packages
found in
Top 100
6 packages
found in
Top 1k
181 packages
found in
Top 10k
39.81k packages
in community
Next steps
Investigate reported detections as indicators of software tampering.
Consult Mitre ATT&CK documentation: T1033 - System Owner/User Discovery.
Top behaviors
Queries the passwd database entry for a given user name.
steal
Prevalence in npm community
Behavior uncommon for this community (Uncommon)
0 packages
found in
Top 100
0 packages
found in
Top 1k
34 packages
found in
Top 10k
6.46k packages
in community
Queries the passwd database entry for a given user ID.
steal
Prevalence in npm community
Behavior uncommon for this community (Uncommon)
0 packages
found in
Top 100
0 packages
found in
Top 1k
75 packages
found in
Top 10k
11.94k packages
in community
Executes a file.
execution
Prevalence in npm community
Behavior often found in this community (Common)
0 packages
found in
Top 100
2 packages
found in
Top 1k
149 packages
found in
Top 10k
29.13k packages
in community
Detects presence of debuggers.
evasion
Prevalence in npm community
Behavior often found in this community (Common)
0 packages
found in
Top 100
2 packages
found in
Top 1k
144 packages
found in
Top 10k
30.48k packages
in community
Checks operating system version.
search
Prevalence in npm community
Behavior uncommon for this community (Uncommon)
0 packages
found in
Top 100
2 packages
found in
Top 1k
57 packages
found in
Top 10k
14.42k packages
in community
Top vulnerabilities
No vulnerabilities found.