Spectra Assure
Community
Docs
warningRisk: Licenses
Scanned: 5 days ago

dulwich

Artifact:
latest
Top 1k
Python Git Library
License: unknown
Published: 26 days ago




SAFE Assessment

Compliance

Licenses
1 software distribution restrictions
Secrets
No sensitive information found

Security

Vulnerabilities
No known vulnerabilities detected
Hardening
No application hardening issues

Threats

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

INCIDENTS FOR THIS VERSION:

Popularity

1.45B
Total Downloads
Contributors
Declared Dependencies
271
Dependents

Top issues

Problem

Uniform Resource Locators (URLs) are structured addresses that point to locations and assets on the internet. URLs allow software developers to build complex applications that exchange data with servers that can be hosted in multiple geographical regions. URLs can commonly be found embedded in documentation, configuration files, source code and compiled binaries. One or more embedded URLs were discovered to link to raw files hosted on GitHub. Attackers often abuse popular web services to host malicious payloads. Since code-sharing services URLs are typically allowed by security solutions, using them for payload delivery increases the odds that the malicious code will reach the user. While the presence of code-sharing service locations does not imply malicious intent, all of their uses in a software package should be documented and approved. An increasing number of software supply chain attacks in the open source space leverages the GitHub service to deliver malicious payloads.

Prevalence in PyPI community

33 packages
found in
Top 100
206 packages
found in
Top 1k
1631 packages
found in
Top 10k
63840 packages
in community

Next steps

Investigate reported detections.
If the software should not include these network references, investigate your build and release environment for software supply chain compromise.
You should delay the software release until the investigation is completed, or until the issue is risk accepted.
Consider an alternative delivery mechanism for software packages.

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. Some open source repositories allow the developers to take down software component versions that they have published. For open source projects, version unpublishing is uncommon. Versions are typically removed due to a security incident, such as malicious code tampering or accidental development secrets exposure. Software developers often prioritize taking down such packages before informing the community that they have experienced a security incident. Therefore, it is prudent to review the reasons behind software version removals as these events might be a signal of an ongoing software supply chain attack.

Prevalence in PyPI community

No prevalence information at this time

Next steps

Review software component documentation for the reasons behind the recent version removal.
If the software version was removed due to a security incident, investigate the build and release environment for software supply chain compromise.
Revise the use of components that raise these alarms. If you can't deprecate those components, make sure that their versions are pinned.
Avoid using this software package until it is vetted as safe.

Problem

Software license is a legal instrument that governs the use and distribution of software source code and its binary representation. Software publishers have the freedom to choose any commonly used or purposefully written license to publish their work under. While some licenses are liberal and allow almost any kind of distribution, with or without code modification, other licenses are more restrictive and impose rules for their inclusion in other software projects. Some software licenses place restrictions on software distribution of the code they apply to. These restrictions may extend to the services built upon the code licensed under such restrictive licenses. Some restrictive licenses explicitly state that the licensee may not provide the software to third parties as a hosted or managed service, where the service provides users with access to any substantial set of the features or functionality of the licensed software. When building commercial applications, this is typically undesirable. Therefore, the inclusion of any code that may impose limits on software distribution is commonly avoided or even prohibited by the organization policy.

Prevalence in PyPI community

6 packages
found in
Top 100
50 packages
found in
Top 1k
737 packages
found in
Top 10k
99544 packages
in community

Next steps

Confirm that the software package references a component or a dependency with a restrictive license.
Consider replacing the software component with an alternative that offers a license compatible with organization policy.

Problem

Uniform Resource Locators (URLs) are structured addresses that point to locations and assets on the internet. URLs allow software developers to build complex applications that exchange data with servers that can be hosted in multiple geographical regions. URLs can commonly be found embedded in documentation, configuration files, source code and compiled binaries. A port number is associated with a network address of a host, such as an IP address, and the type of network protocol used for communication. Within URLs, the ports are optional. Ports can be specified in a URL immediately following the domain name. Each network protocol, or schema, has a set of standard ports on which the service operates. This issue is raised when a mismatch between a network protocol and its expected port number is detected. While the presence of non-standard ports does not imply malicious intent, all of their uses in a software package should be documented and approved.

Prevalence in PyPI community

34 packages
found in
Top 100
261 packages
found in
Top 1k
1650 packages
found in
Top 10k
58747 packages
in community

Next steps

Investigate reported detections.
If the software should not include these network references, investigate your build and release environment for software supply chain compromise.
You should delay the software release until the investigation is completed, or until the issue is risk accepted.
Consider changing the port to one that is standard for the networking protocol.

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

14 packages
found in
Top 100
94 packages
found in
Top 1k
529 packages
found in
Top 10k
17318 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

Prevalence in PyPI community

Behavior often found in this community (Common)
34 packages
found in
Top 100
185 packages
found in
Top 1k
1062 packages
found in
Top 10k
25867 packages
in community

Prevalence in PyPI community

Behavior often found in this community (Common)
11 packages
found in
Top 100
73 packages
found in
Top 1k
368 packages
found in
Top 10k
8619 packages
in community

Prevalence in PyPI community

Behavior often found in this community (Common)
16 packages
found in
Top 100
128 packages
found in
Top 1k
776 packages
found in
Top 10k
25965 packages
in community

Prevalence in PyPI community

Behavior often found in this community (Common)
33 packages
found in
Top 100
207 packages
found in
Top 1k
1634 packages
found in
Top 10k
63910 packages
in community

Prevalence in PyPI community

Behavior often found in this community (Common)
68 packages
found in
Top 100
508 packages
found in
Top 1k
3570 packages
found in
Top 10k
165477 packages
in community

Top vulnerabilities

No vulnerabilities found.