List of software quality issues with the number of affected components.
category ALL
Policies
Info
Category
Problem
Software composition analysis has identified a component with one or more known severe vulnerabilities. Available threat intelligence telemetry has confirmed that the reported high or critical severity vulnerabilities are actively being exploited by malicious actors.
Prevalence in PyPI community
35 packages
found in
Top 100
210 packages
found in
Top 1k
1787 packages
found in
Top 10k
86.39k packages
in community
Next steps
We strongly advise updating the component to the latest version.
If the update can't resolve the issue, create a plan to isolate or replace the affected component.
Problem
Software composition analysis has identified a component with one or more known vulnerabilities. Based on the CVSS scoring, these vulnerabilities have been marked as critical severity.
Prevalence in PyPI community
27 packages
found in
Top 100
156 packages
found in
Top 1k
1294 packages
found in
Top 10k
58.62k packages
in community
Next steps
Perform impact analysis for the reported CVEs.
We strongly advise updating the component to the latest version.
If the update can't resolve the issue, create a plan to isolate or replace the affected component.
Problem
Software components sometimes need to interact with sensitive parts of the runtime environment, often requiring privileged access to accomplish a task. Cloud workload configuration includes high-value information such as cloud provider credentials, environment variables containing secrets, and configuration files used by cloud and container orchestration tools. That information is used by applications running in cloud and containerized environments. Attackers often abuse access to cloud workload configuration to harvest secrets from developer machines and build environments, which can later be exfiltrated to attacker-controlled infrastructure and used to gain unauthorized access to cloud resources. While the presence of code that accesses cloud workload configuration does not necessarily imply malicious intent, all of its uses in a software package should be documented and approved. Only select software components should consider using functions that read cloud workload configuration. One example of acceptable use for such functions is infrastructure-as-code tooling that legitimately needs to read credentials to provision or manage cloud resources on behalf of the developer.
Prevalence in PyPI community
No prevalence information at this time
Next steps
Investigate reported detections as indicators of software tampering.
Consider rewriting the flagged code without using the marked behaviors.
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 service 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 leverage the GitHub service to deliver malicious payloads.
Prevalence in PyPI community
36 packages
found in
Top 100
219 packages
found in
Top 1k
1678 packages
found in
Top 10k
63.41k 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 components contain executable code that performs actions implemented during its development. These actions are called behaviors. In the analysis report, behaviors are presented as human-readable descriptions that best match the underlying code intent. While most behaviors are benign, some are commonly abused by malicious software with the intent to cause harm. When a software package shares behavior traits with malicious software, it may become flagged by security solutions. Any detection from security solutions can cause friction for the end-users during software deployment. While the behavior is likely intended by the developer, there is a small chance this detection is true positive, and an early indication of a software supply chain attack.
Prevalence in PyPI community
20 packages
found in
Top 100
92 packages
found in
Top 1k
907 packages
found in
Top 10k
43.88k packages
in community
Next steps
Investigate reported detections.
If the software intent does not relate to the reported behavior, 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 rewriting the flagged code without using the marked behaviors.
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. Top-level domains (TLD) are a part of the Domain Name System (DNS), and are used to lookup an Internet Protocol (IP) address of a requested website. There are a few different types of top-level domains. Generic, sponsored and country-code TLDs are generally accessible to the public. Registrars that govern the assignment of domain names within the TLD may choose to sell specific domain names to an interested party. However, some registrars are known to have less strict rules for assigning domain names. Attackers often abuse gaps in governance and actively seek to register their malicious domains in such TLDs. This issue is raised for all domains registered within TLDs that harbor an excessive number of malicious sites. While the presence of suspicious TLDs does not imply malicious intent, all of its uses in a software package should be documented and approved.
Prevalence in PyPI community
12 packages
found in
Top 100
90 packages
found in
Top 1k
503 packages
found in
Top 10k
15.92k 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 top-level domain to avoid being flagged by security solutions.
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. URL paths provide additional information to a web service when making a request. They are an optional, but an important part of the URL, as they may define specific content or actions based on the data being passed. Some parameters they pass might be considered sensitive information. Since path components are not encrypted this might cause sensitive information to leak. This issue is raised for URL paths than might contain information that attackers can easily intercept. Examples of sensitive information fields include passwords and other similar parameters.
Prevalence in PyPI community
13 packages
found in
Top 100
73 packages
found in
Top 1k
504 packages
found in
Top 10k
10.91k 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 removing all references to flagged network locations.
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. When accessing the internet, a device is assigned a unique Internet Protocol (IP) address. This address identifies the point of origin and destination of each request a connected device makes. Attackers often aim to better understand their targets. Collecting basic reconnaissance information typically includes the IP address of a machine. While the operating system has the utilities to get this information, some attackers may prefer getting this data from an external source. Many web services host pages that return the IP address of the caller. For that reason, attackers often opt to get the IP information from a third-party service. While the presence of IP querying services does not imply malicious intent, all of their uses in a software package should be documented and approved.
Prevalence in PyPI community
0 packages
found in
Top 100
13 packages
found in
Top 1k
71 packages
found in
Top 10k
4.23k 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 mechanism for detecting the machine's IP address.
Problem
Crypto tokens are versatile digital assets used within the blockchain ecosystem. Crypto tokens are used to represent a wide range of values, rights, or utilities. They play a crucial role in decentralized finance (DeFi), governance, and other blockchain-based applications. Most crypto tokens are built on existing blockchains using smart contracts. A smart contract is a self-executing contract with the terms of the agreement directly written as lines of code. These contracts automatically execute and enforce themselves when predetermined conditions are met, without the need for intermediaries. For this reason, attackers often aim to steal crypto tokens from the machines they infect. Once stolen, crypto tokens are difficult to trace or recover due to the decentralized and pseudonymous nature of blockchain technology. The irreversibility of blockchain transactions means that once the tokens are transferred to the another crypto wallet, they are effectively gone, making them an attractive target for financially motivated actors. While presence of regex code that detects crypto tokens does not imply malicious intent, all of its uses in a software package should be documented and approved. Only select applications should consider working with crypto tokens.
Prevalence in PyPI community
0 packages
found in
Top 100
2 packages
found in
Top 1k
1 packages
found in
Top 10k
259 packages
in community
Next steps
Investigate reported detections as indicators of software tampering.
Consider rewriting the flagged code without using the marked behaviors.
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
35 packages
found in
Top 100
271 packages
found in
Top 1k
1732 packages
found in
Top 10k
61.12k 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.