Pester provides a framework for running BDD style Tests to execute and validate PowerShell commands inside of PowerShell and offers a powerful set of Mocking Functions that allow tests to mimic and mock the functionality of any command inside of a piece of PowerShell code being tested. Pester tests can execute any command or script that is accessible to a pester test file. This can include functions, Cmdlets, Modules and scripts. Pester can be run in ad hoc style in a console or it can be integrated into the Build scripts of a Continuous Integration system.
List of software quality issues with the number of affected components.
category ALL
Policies
Info
Category
Problem
Digital signatures are applied to applications, packages and documents as a cryptographically secured authenticity record. Signatures verify the origin and the integrity of the object they apply to. Signatures contain a cryptographic hash of the object they are signing. Any mismatch between the expected and computed hashes is reported as an integrity validation failure. This can happen for a few reasons. The software package may have been damaged during network transport, or a post-signing process changed some of the package contents, or there was an attempt to tamper with the package. Discerning between these cases is impossible without manually inspecting the affected packages.
Prevalence in PowerShell Gallery community
2 packages
found in
Top 100
3 packages
found in
Top 1k
6 packages
found in
Top 10k
16 packages
in community
Next steps
Inspect the software package for malicious software supply chain tampering.
If there is no evidence of tampering, re-sign and re-publish the software component.
If there are any post-signing processes that might modify the software package, move them to an earlier point in the release process.
Problem
Proprietary ReversingLabs analysis engine supports a wide range of commonly used archive and software packaging formats. Using automated static file decomposition technologies, the engine recursively analyzes complex software packages. Software analysis is typically conducted in multiple steps. Content identification, unpacking, validation, and classification are some of the steps performed on each analyzed file. The analysis engine may sometimes report file integrity problems while performing unpacking or validation steps. Failed integrity validation checks indicate that the content cannot be verified using its embedded checksums. This issue is commonly reported for packages with content that may be incomplete or corrupted. In rare occurrences this issue may indicate a problem with the analysis engine's file format parsing functions.
Prevalence in PowerShell Gallery community
2 packages
found in
Top 100
3 packages
found in
Top 1k
7 packages
found in
Top 10k
17 packages
in community
Next steps
Confirm that the software package contains incomplete or corrupted content.
Create a new version of the software package that resolves content integrity issues.
Contact the ReversingLabs support team if you suspect that the analysis engine may be causing the issue.
Problem
Digital signatures are applied to applications, packages and documents as a cryptographically secured authenticity record. Signatures verify the origin and the integrity of the object they apply to. Signatures contain a cryptographic hash of the object they are signing. Any mismatch between the expected and computed hashes is reported as an integrity validation failure. This can happen for a few reasons. Either the software package got damaged during network transport, or a post-signing process changed some of its contents, or there was an attempt to tamper with the package. Discerning between these cases is impossible without manually inspecting affected packages.
Prevalence in PowerShell Gallery community
2 packages
found in
Top 100
3 packages
found in
Top 1k
6 packages
found in
Top 10k
15 packages
in community
Next steps
Inspect the software package for malicious software supply chain tampering.
If there is no evidence of tampering, re-sign and re-publish the software package.
If there are any post-signing processes that might modify the software package, move them to an earlier point in the release process.
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 PowerShell Gallery community
7 packages
found in
Top 100
394 packages
found in
Top 1k
1525 packages
found in
Top 10k
2.97k 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
Digital signatures are applied to applications, packages and documents as a cryptographically secured authenticity record. Signatures are made using digital certificates, which can either be purchased from certificate authorities or be self-issued. When a certificate is purchased from a certificate authority, the subject that requests it goes through an identity validation process. Depending on the certificate type, those checks can be basic or extended. Confirming the subject identity is a multi-step process, and the requesting subject can be mapped to its legal entity name only through extended validation of submitted documents. Extended identity validation typically costs more, and it takes longer for a certificate to be issued when this process is correctly followed.
Prevalence in PowerShell Gallery community
89 packages
found in
Top 100
266 packages
found in
Top 1k
1013 packages
found in
Top 10k
1.67k packages
in community
Next steps
Consider the benefits of acquiring extended validation certificates. Operating systems tend to be more trusting of software packages signed in this way. Certain security warnings and prompts might also be automatically suppressed. This reduces the number of support tickets for organizations that opt to use extended validation certificates.
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 PowerShell Gallery community
9 packages
found in
Top 100
176 packages
found in
Top 1k
972 packages
found in
Top 10k
1.9k packages
in community
Next steps
Investigate reported detections as indicators of software tampering.
Consult Mitre ATT&CK documentation: T1033 - System Owner/User Discovery.