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

SQLitePCLRaw.lib.e_sqlcipher

latest
Top 10k
This package contains platform-specific native code builds of SQLCipher (see sqlcipher/sqlcipher on GitHub) for use with SQLitePCLRaw. Note that these sqlcipher builds are unofficial and unsupported. For official sqlcipher builds, contact Zetetic. To use this package, you need SQLitePCLRaw.core as well as one of the SQLitePCLRaw.provider.* packages. Convenience packages are named SQLitePCLRaw.bundle_*.
License: Permissive (Apache-2.0)
Published: 9 months ago



SAFE Assessment

Compliance

Licenses
No license compliance issues
Secrets
19 debugging symbols found

Security

Vulnerabilities
No known vulnerabilities detected
Hardening
3 reduced effectiveness mitigations

Threats

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

Popularity

3.73M
Total Downloads
Contributors
Declared Dependencies
4
Dependents

Top issues

Problem

Security Development Lifecycle (SDL) is a group of enhanced compile-time checks that report common coding mistakes as errors. These checks prevent the use of hard-to-secure string manipulation functions. They enforce static memory access checks, and allow only the use of range-verified string parsing functions. While these checks do not prevent every memory corruption issue by themselves, they do help reduce the likelihood.

Prevalence in NuGet community

0 packages
found in
Top 100
1 packages
found in
Top 1k
23 packages
found in
Top 10k
4708 packages
in community

Next steps

It's highly recommended to enable these checks for all software components used at security boundaries, or those that process user controlled inputs.
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

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 NuGet community

0 packages
found in
Top 100
3 packages
found in
Top 1k
47 packages
found in
Top 10k
13120 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

Security Development Lifecycle (SDL) is a group of enhanced compile-time checks that report common coding mistakes as errors. These checks prevent the use of hard-to-secure memory manipulation functions. They enforce static memory access checks, and allow only the use of range-verified memory access functions. While these checks do not prevent every memory corruption issue by themselves, they do help reduce the likelihood.

Prevalence in NuGet community

0 packages
found in
Top 100
1 packages
found in
Top 1k
14 packages
found in
Top 10k
4892 packages
in community

Next steps

It's highly recommended to enable these checks for all software components used at security boundaries, or those that process user controlled inputs.
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

Buffer overrun protection on Linux is achieved in two ways. The most common solution is to use the stack canary (also called cookie). The 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. In most cases, compilers will apply the stack canary conservatively in order to avoid a negative performance impact. Therefore, stack canaries are often used together with another stack overrun mitigation - fortified functions. 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, when combined with the stack canary, fortified functions provide a good measure of buffer overrun protection.

Prevalence in NuGet community

0 packages
found in
Top 100
1 packages
found in
Top 1k
19 packages
found in
Top 10k
2641 packages
in community

Next steps

Presence of unfortified memory functions may indicate use of unsafe programming practices, and you should avoid it if possible.
In GCC, enable fortified functions with -fstack-protector and -D_FORTIFY_SOURCE=2 flag, while using at least -O1 optimization level.

Problem

Buffer overrun protection on Linux is achieved in two ways. The most common solution is to use the stack canary (also called cookie). The 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. In most cases, compilers will apply the stack canary conservatively in order to avoid a negative performance impact. Therefore, stack canaries are often used together with another stack overrun mitigation - fortified functions. 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, when combined with the stack canary, fortified functions provide a good measure of buffer overrun protection.

Prevalence in NuGet community

0 packages
found in
Top 100
1 packages
found in
Top 1k
19 packages
found in
Top 10k
2224 packages
in community

Next steps

Presence of some input functions may indicate use of unsafe programming practices, and you should avoid it if possible.
In GCC, enable fortified functions with -fstack-protector and -D_FORTIFY_SOURCE=2 flag, while using at least -O1 optimization level.

Top behaviors

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

Prevalence in NuGet community

Behavior uncommon for this community (Uncommon)
0 packages
found in
Top 100
3 packages
found in
Top 1k
44 packages
found in
Top 10k
9207 packages
in community

Prevalence in NuGet community

Behavior often found in this community (Common)
0 packages
found in
Top 100
23 packages
found in
Top 1k
177 packages
found in
Top 10k
65686 packages
in community

Prevalence in NuGet community

Behavior often found in this community (Common)
0 packages
found in
Top 100
63 packages
found in
Top 1k
513 packages
found in
Top 10k
735907 packages
in community

Prevalence in NuGet community

Behavior uncommon for this community (Uncommon)
0 packages
found in
Top 100
3 packages
found in
Top 1k
50 packages
found in
Top 10k
9917 packages
in community

Top vulnerabilities

No vulnerabilities found.