Top issues
Problem
Operating systems execute application code in multiple privilege access levels. Separation of privileges is designed to protect the stability and integrity of the operating system by shielding it from issues that the user run applications may cause. However, some users may need to interact with higher privilege parts of the operating system to accomplish specific tasks. For this purpose, operating systems provide facilities that users may leverage to temporarily elevate their running privileges. Users with higher privileges can run any application with the same privilege level as their own. Attackers often try to trick privileged users into running malicious code, enabling them to infect the operating system. While the presence of code that elevates user privileges does not necessarily imply malicious intent, all of its uses in a software package should be documented and approved. Only select applications should consider using functions that can elevate user privileges. One example of acceptable use for such functions is allowing the users to install software packages and updates.Prevalence in PyPI community
1 packages
found in
Top 100
17 packages
found in
Top 1k
111 packages
found in
Top 10k
2407 packages
in community
Next steps
Investigate reported detections as indicators of software tampering.
Consult Mitre ATT&CK documentation: T1548 - Abuse Elevation Control Mechanism.
Consider rewriting the flagged code without using the marked behaviors.
Detected presence of software components that were removed from the public package repository.
Causes risk: components prone to hijacking
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. Open source projects are the intellectual property of their respective authors. At any time, the authors may choose to completely remove the software component from a public repository. This often occurs when a software project reaches its end-of-life stage, or when the software authors lose interest in maintaining the project. This kind of removal frees up the software package name, its unique software identifier in the public repository, for other developers to use. However, new software project owners might have malicious intent. Threat actors are continuously monitoring popular package names in case their unique identifiers suddenly become available for hijacking. Once the software projects falls under new ownership, the new maintainers may opt to use the project popularity to spread malware to unsuspecting users.Prevalence in PyPI community
No prevalence information at this timeNext steps
Inspect behaviors exhibited by the detected software components.
If the software behaviors differ from expected, 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
Private keys and certificates are considered sensitive information that should not be included in released software packages. However, developers frequently release sensitive information alongside their applications to facilitate automated software testing. Testing keys and certificates often proliferate through the software supply chain. When such information gets shared publicly, it is catalogued by file reputation databases. Any private key and certificate files seen by a file reputation database prior to configured time threshold can be automatically suppressed. Commonly shared sensitive information is not considered to be secret.Prevalence in PyPI community
38 packages
found in
Top 100
164 packages
found in
Top 1k
747 packages
found in
Top 10k
16783 packages
in community
Next steps
Review the commonly shared sensitive information for evidence of inadvertently exposed secrets.
If the keys were published unintentionally and the software has been made public, you should revoke the keys and file a security incident.
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
Queries the passwd database entry for a given user ID.
steal
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
Executes a file.
execution
Prevalence in PyPI community
Behavior often found in this community (Common)
34 packages
found in
Top 100
169 packages
found in
Top 1k
1256 packages
found in
Top 10k
55955 packages
in community
Elevates current user privileges.
execution
Prevalence in PyPI community
Behavior often found in this community (Common)
1 packages
found in
Top 100
23 packages
found in
Top 1k
132 packages
found in
Top 10k
3189 packages
in community
Sends or exfiltrates data over the network.
network
Prevalence in PyPI community
Behavior often found in this community (Common)
5 packages
found in
Top 100
48 packages
found in
Top 1k
291 packages
found in
Top 10k
6923 packages
in community
Receives data over the network.
network
Prevalence in PyPI community
Behavior often found in this community (Common)
8 packages
found in
Top 100
61 packages
found in
Top 1k
363 packages
found in
Top 10k
9109 packages
in community
Top vulnerabilities
Vulnerability Exploitation Lifecycle
(1 Active Vulnerabilities)
None
None
None
None
Exploits Unknown
Exploits Exist
Exploited by Malware
Patching Mandated