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 NuGet community
0 packages
found in
Top 100
0 packages
found in
Top 1k
13 packages
found in
Top 10k
2591 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 presence of software components that are rarely included by other public software packages.
hunting
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. Software developers publish components they have authored to public repositories. While a new software project is a welcome addition to the open source community. it is not always prudent to indiscriminately use the latest components when building a commercial application. Irrespective of the software quality, the danger of using components that are rarely used to build applications lies in the fact that the software component may contain novel, currently undetected malicious code. Therefore, it is prudent to review software component behaviors and even try out software component in a sandbox, an environment meant for testing untrusted code.Prevalence in NuGet community
No prevalence information at this timeNext 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 digital signatures that rely on a weak digest algorithm for integrity validation.
signatures
Problem
Digital signatures are applied to applications, packages and documents as a cryptographically secured authenticity record. Signatures verify the origin and the integrity of the object they apply to. The integrity validation relies on the cryptographic strength of the encryption and the hash verification algorithm. If either of the two is considered weak by current standards, there is a chance the signed object could be maliciously modified, without triggering the integrity failure check.Prevalence in NuGet community
0 packages
found in
Top 100
38 packages
found in
Top 1k
315 packages
found in
Top 10k
733240 packages
in community
Next steps
Create signatures with strong ECC key-length of at least 224 bits, or RSA key-length of at least 2048 bits, and use SHA256 as the hashing algorithm. While encryption key-length upgrade does require you to obtain a new certificate, the hashing algorithm can freely be selected during signing.
With Microsoft SignTool, you can specify the hashing algorithm using the /fd SHA256 parameter.
Problem
Debug databases are typically only used during software development. On Windows, they are usually files embedded into the executable (PDB), while on Linux, they're contained inside special executable sections. The databases contain private debug symbols that make it significantly easier to reverse-engineer a closed-source application. In some cases, having a debug database is equivalent to having access to the source code. Presence of debug databases could indicate that one or more software components have been built using a debug profile, instead of the release. Private debug databases can be embedded into software components by programming language tools.Prevalence in NuGet community
0 packages
found in
Top 100
15 packages
found in
Top 1k
76 packages
found in
Top 10k
21579 packages
in community
Next steps
To remediate this issue and remove private debugging information, refer to your programming language toolchain documentation.
Detected presence of hardcoded source code filenames or paths.
Causes risk: debugging symbols found
secrets
Problem
Common compilers often embed source code information into executables for debugging purposes, usually by mapping symbols to source filenames or paths. While this is typically desirable in open-source software and standard tools, that information can be used to determine security weaknesses, code repository layout, trade secrets and similar sensitive information. Such symbols make it easier to reverse-engineer a closed source application.Prevalence in NuGet community
0 packages
found in
Top 100
1 packages
found in
Top 1k
23 packages
found in
Top 10k
4619 packages
in community
Next steps
Strip out such information in the linking phase by using compiler options like the -s flag in GCC, or in the post-build phase by using the strip tool.
Top behaviors
Executes a file.
execution
Prevalence in NuGet community
Behavior often found in this community (Common)
0 packages
found in
Top 100
12 packages
found in
Top 1k
98 packages
found in
Top 10k
39014 packages
in community
Creates a process.
execution
Prevalence in NuGet community
Behavior uncommon for this community (Uncommon)
0 packages
found in
Top 100
0 packages
found in
Top 1k
3 packages
found in
Top 10k
1333 packages
in community
Detects presence of debuggers.
evasion
Prevalence in NuGet community
Behavior often found in this community (Common)
0 packages
found in
Top 100
18 packages
found in
Top 1k
164 packages
found in
Top 10k
70484 packages
in community
Checks operating system version.
search
Prevalence in NuGet community
Behavior often found in this community (Common)
0 packages
found in
Top 100
9 packages
found in
Top 1k
67 packages
found in
Top 10k
16582 packages
in community
Queries the computer's network name and IP address.
network
Prevalence in NuGet community
Behavior uncommon for this community (Uncommon)
0 packages
found in
Top 100
0 packages
found in
Top 1k
14 packages
found in
Top 10k
3255 packages
in community
Top vulnerabilities
No vulnerabilities found.