Top issues
Detected presence of web service access credentials.
Causes risk: web service credentials found
secrets
Problem
Software as a Service (SaaS) platforms expose programmable interfaces to their authenticated users. These web services enable action automation and secure exchange of information. To authenticate, web service users provide a unique account identifier and a secret that confirms their access rights. Account access credentials are considered secrets. They should never be included in a software release package, even if they are obfuscated by encryption on the client-side.Prevalence in PyPI community
4 packages
found in
Top 100
7 packages
found in
Top 1k
30 packages
found in
Top 10k
645 packages
in community
Next steps
You should securely store web service access credentials, and fully automate their management and periodic rotation.
If credentials were published unintentionally and the software has been made public, you should revoke exposed credentials and file a security incident.
Examples of service credentials that may have been detected include AWS, Square, Zoho, Duo, PayPal and others.
Detected presence of files containing domains used for intercepting and inspecting HTTP requests.
hunting
Problem
Applications communicate with web services by exchanging HTTP requests. During software development, externally hosted services are used by developers to debug software quality issues relating to exchanging HTTP requests. Attackers commonly abuse tools designed for HTTP request inspection to monitor network traffic and extract sensitive information from the HTTP traffic. While the presence of domains related to HTTP inspection does not imply malicious intent, all of their uses in a software package should be documented and approved. Attackers might have purposely injected security testing tools in the software package to monitor the network traffic of the infected computer system. It is also possible that the software package has mistakenly included a part of its testing infrastructure during packaging.Prevalence in PyPI community
11 packages
found in
Top 100
41 packages
found in
Top 1k
239 packages
found in
Top 10k
11.68k 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.
Detected Linux executable files compiled without any kind of buffer overrun protection while using banned memory functions.
Causes risk: misconfigured toolchains detected
hardening
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 PyPI community
24 packages
found in
Top 100
130 packages
found in
Top 1k
733 packages
found in
Top 10k
14.31k 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.
Detected presence of plaintext credentials within network protocol strings.
Causes risk: web service credentials found
secrets
Problem
Various network communication protocols allow including plaintext authentication credentials. Information such as user names and passwords could be passed through a non-encrypted channel, and therefore intercepted by malicious actors. Credentials are considered secrets, and should be kept encrypted until they are used. This policy control matches the following URI pattern protocol://username:password@domain within any software package component.Prevalence in PyPI community
21 packages
found in
Top 100
86 packages
found in
Top 1k
378 packages
found in
Top 10k
7.36k packages
in community
Next steps
Review the reported matches. If the warning refers to a placeholder credential value, it can be safely ignored.
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.
Top behaviors
Enumerates an environment variable that holds an Amazon Web Services (AWS) session token.
search
Prevalence in PyPI community
Behavior often found in this community (Common)
3 packages
found in
Top 100
18 packages
found in
Top 1k
89 packages
found in
Top 10k
1.2k packages
in community
Enumerates an environment variable that holds an Amazon Web Services (AWS) secret access key.
search
Prevalence in PyPI community
Behavior often found in this community (Common)
5 packages
found in
Top 100
29 packages
found in
Top 1k
173 packages
found in
Top 10k
3.25k packages
in community
Enumerates an environment variable that holds an Amazon Web Services (AWS) access key.
search
Prevalence in PyPI community
Behavior often found in this community (Common)
5 packages
found in
Top 100
29 packages
found in
Top 1k
171 packages
found in
Top 10k
3.29k packages
in community
Establishes a connection to a registry on a remote computer.
registry
Prevalence in PyPI community
Behavior uncommon for this community (Uncommon)
1 packages
found in
Top 100
10 packages
found in
Top 1k
32 packages
found in
Top 10k
890 packages
in community
Modifies file/directory permissions.
permissions
Prevalence in PyPI community
Behavior often found in this community (Common)
34 packages
found in
Top 100
186 packages
found in
Top 1k
1071 packages
found in
Top 10k
27.02k packages
in community
Top vulnerabilities
Vulnerability Exploitation Lifecycle
(1 Active Vulnerabilities)
None
None
None
None
Exploits Unknown
Exploits Exist
Exploited by Malware
Patching Mandated