Spectra Assure
Community
warningRisk: Hardening
Scanned: 5 days ago

Pyrefly - Python Language Tooling

Artifact:
latest
Top 10k
Python autocomplete, typechecking, code navigation and more! Powered by Pyrefly, an open-source language server
License: unknown
Published: 15 days ago

Publisher: meta



SAFE Assessment

Compliance

Licenses
No license compliance issues
Secrets
1 debugging symbols found

Security

Vulnerabilities
No known vulnerabilities detected
Hardening
3 misconfigured toolchains detected

Threats

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

INCIDENTS FOR THIS VERSION:

Popularity

31.47k
Total Installs
Contributor
Declared Dependencies
0
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 Visual Studio Code community

26 packages
found in
Top 100
110 packages
found in
Top 1k
219 packages
found in
Top 10k
867 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 Visual Studio Code community

43 packages
found in
Top 100
257 packages
found in
Top 1k
754 packages
found in
Top 10k
3.7k 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 Visual Studio Code community

25 packages
found in
Top 100
134 packages
found in
Top 1k
216 packages
found in
Top 10k
904 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

Program database (PDB) files are typically only used during software development. They contain private debug symbols that make it significantly easier to reverse engineer a closed source application. In some cases, having a program database file is equivalent to having access to the source code. Presence of program databases could indicate that one or more software components have been built using a debug profile, instead of the release.

Prevalence in Visual Studio Code community

8 packages
found in
Top 100
49 packages
found in
Top 1k
130 packages
found in
Top 10k
479 packages
in community

Next steps

Remove private debug database files from the software package before you release it.

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 Visual Studio Code community

47 packages
found in
Top 100
286 packages
found in
Top 1k
912 packages
found in
Top 10k
4.37k 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 Visual Studio Code community

Behavior often found in this community (Common)
31 packages
found in
Top 100
159 packages
found in
Top 1k
346 packages
found in
Top 10k
1.56k packages
in community

Prevalence in Visual Studio Code community

Behavior often found in this community (Common)
94 packages
found in
Top 100
837 packages
found in
Top 1k
6746 packages
found in
Top 10k
87.76k packages
in community

Prevalence in Visual Studio Code community

Behavior often found in this community (Common)
52 packages
found in
Top 100
290 packages
found in
Top 1k
981 packages
found in
Top 10k
4.36k packages
in community

Prevalence in Visual Studio Code community

Behavior often found in this community (Common)
84 packages
found in
Top 100
661 packages
found in
Top 1k
3774 packages
found in
Top 10k
22.06k packages
in community

Prevalence in Visual Studio Code community

Behavior often found in this community (Common)
56 packages
found in
Top 100
371 packages
found in
Top 1k
1288 packages
found in
Top 10k
6.05k packages
in community

Top vulnerabilities

No vulnerabilities found.