Skip to main content

TH16503

Detected presence of package manifests that execute unusual system commands.

priorityCI/CD statusseverityeffortSAFE levelSAFE assessment
failhighhigh1tampering: fail
Reason: dangerous package manifests

About the issueโ€‹

Many popular programming languages use standardized software packaging formats to distribute reusable code components. Software packages are built from instructions written within package manifests that act as blueprints for package assembly. A package manifest declares the most important software properties, such as the package name, its authors and license, external dependencies, and various actions that may occur during the package lifecycle. Actions defined within the package manifest are executed automatically by the package manager during events such as package installation, compilation, testing, or on package removal. These events are used by software developers to set up the environment for package use, or to perform cleanup upon package removal. However, package manifest actions are commonly abused by threat actors to execute arbitrary commands on the development machine. It was detected that the package manifest could execute unusual operating system commands. Unusual commands resemble common threat actor tactics, such as destructive file deletion, elevation of privileges, or tampering with security settings. Unusual package manifests often contain code obfuscation, anti-analysis features, and other detection evasion techniques.

How to resolve the issueโ€‹

  • 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 package manifest without using the marked behaviors.

Incidence statisticsโ€‹

ReversingLabs periodically collects and analyzes the contents of popular software package repositories for threat research purposes. Analysis results are used to calculate incidence statistics for issues (policy violations) that Spectra Assure can detect in software packages.

This section is updated when new data becomes available.

Total amount of packages analyzed

  • RubyGems: 203K
  • Nuget: 735K
  • PyPi: 838K
  • NPM: 5.12M
  • VS Code: 113K
  • PS Gallery: 17K

Total detections per repository

For every repository, the chart shows the number of packages that triggered the software assurance policy. In other words, it shows how many packages in each package repository were found to have the specific issue described on this page. This information helps you understand how common the issue is across different software communities.

If a repository is absent from the chart, that means none of the packages in that repository triggered this policy during analysis, or the policy was not used during analysis.

Distribution of total detections by project popularity

For every repository, the chart shows how many of the total detections belong to the Top 100 (1-100), Top 1000 (101-1000) and Top 10 000 (1001-10 000) most downloaded projects. This information helps you understand the impact of the issue within each community, making it clearer when the issue affects the most popular projects.

If the chart shows zero values for all of the top project groups, that means all detections were in unranked projects (lower than 10 000 on the list of most downloaded projects).