Supply Chain Attack on Popular Laravel-Lang Project Compromises Over 200 Package Versions with Credential Stealer

Laravel-Lang Supply Chain Attack Injects Credential Stealer into 233 Package Versions

HIGH
May 23, 2026
5m read
Supply Chain AttackMalwareData Breach

Related Entities

Organizations

Packagist

Products & Tech

Laravel-LangLaravelPHP

Other

Full Report

Executive Summary

On May 22, 2026, a sophisticated supply chain attack was identified targeting the Laravel-Lang project, a vital set of language translation packages for the Laravel PHP framework. The attack compromised 233 distinct version tags across three of the project's most popular repositories. The threat actor injected a multi-stage credential-stealing malware into these versions. The attack vector was particularly insidious, abusing a GitHub feature to create malicious version tags that pointed to code in a forked repository, rather than committing malicious code to the main project. This allowed the compromised packages to be distributed via the Packagist repository, appearing as legitimate updates. The Packagist team has since taken down the malicious versions.


Threat Overview

The attack represents a significant evolution in PHP ecosystem supply chain attacks, moving beyond simple typosquatting to compromising legitimate, popular packages through advanced techniques.

  • What Happened: 233 versions of three popular Laravel-Lang packages were poisoned with a credential-stealing payload.
  • Who's Affected: Any developer or organization that installed or updated one of the compromised package versions.
  • Attack Vector: The attacker did not need to gain write access to the main repositories. Instead, they created tags in their own accounts that pointed to commits in their malicious fork of the official repositories. When pushed to the main repo (a feature of Git), Packagist indexed these tags as new, official versions, pulling the malicious code from the attacker's fork.

Technical Analysis

The attack chain consisted of multiple stages:

  1. Compromise: The attacker created malicious tags for the following packages:

    • laravel-lang/lang
    • laravel-lang/attributes
    • laravel-lang/http-statuses
  2. Injection: The malicious code was added to a file named src/helpers.php. This is a classic example of T1195.001 - Compromise Software Dependencies and Development Tools.

  3. Dropper: The injected code acted as a dropper. Upon installation via composer, it would execute, fingerprint the compromised machine (gathering system information), and send this data to a Command and Control (C2) server.

  4. Second Stage Payload: The C2 server, located at flipboxstudio[.]info, would then deliver a second-stage payload. This payload was a large (nearly 6,000 lines) and comprehensive PHP script designed to steal a vast range of credentials, including:

    • Environment variables (.env files)
    • Cloud credentials (AWS, Google Cloud)
    • Database credentials
    • SSH keys
    • Application-specific API keys

This extensive credential harvesting is aligned with techniques like T1555 - Credentials from Password Stores and T1552.001 - Credentials in Files.

Impact Assessment

The impact of this attack is significant for any organization that downloaded the compromised packages. The stolen credentials could lead to a full compromise of development and production environments, data breaches, financial loss, and further supply chain attacks originating from the compromised organization. The attack's stealthy nature means many organizations may be unaware of the compromise. The quick response by the Packagist team helped limit the window of exposure, but any system that pulled the malicious versions during that window should be considered fully compromised.

IOCs — Directly from Articles

Type
Domain
Value
flipboxstudio[.]info
Description
Command and Control (C2) server used to host the second-stage payload.

Cyber Observables — Hunting Hints

Security teams may want to hunt for the following patterns to identify potentially compromised systems:

Type
File Name
Value
src/helpers.php
Description
In the context of Laravel-Lang packages, inspect this file for obfuscated or suspicious code, especially eval() or base64_decode() functions.
Type
Network Traffic Pattern
Value
Outbound connections to flipboxstudio[.]info
Description
Check DNS logs, proxy logs, and firewall logs for any communication with this C2 domain from web servers or developer machines.
Type
Command Line Pattern
Value
composer update laravel-lang/*
Description
Review CI/CD pipeline logs and developer shell histories for updates to these packages during the attack window.
Type
File Path
Value
vendor/laravel-lang/
Description
Security scanners should be configured to perform deep analysis of code within the vendor directory, not just application code.

Detection & Response

  1. Check for Compromised Versions: Immediately audit all PHP projects that use Laravel-Lang packages. Check your composer.lock file to see which specific versions are installed. Compare these against the list of 233 compromised versions (if available from security providers).
  2. Scan for IOCs: Scan all relevant systems (developer workstations, build servers, web servers) for the flipboxstudio[.]info IOC in network logs and for suspicious src/helpers.php files.
  3. Assume Compromise: If a compromised version was installed, assume all credentials accessible to the PHP process have been stolen. This includes database passwords, API keys in .env files, and any IAM roles attached to the server.
  4. Credential Rotation: Initiate an immediate and full rotation of all potentially exposed credentials. This is a critical and non-negotiable step.
  5. Code Scanning: Implement security tools that scan third-party dependencies for malicious code, not just known vulnerabilities. Tools that analyze package behavior and provenance are becoming essential.

Mitigation

  1. Lock Dependencies: Use a composer.lock file to pin your project to specific, known-good versions of dependencies. This prevents composer update from automatically pulling in a newly published malicious version.
  2. Vendor Code Audits: Implement a process or use automated tools to audit the code of third-party dependencies before they are introduced or updated in your environment.
  3. Network Egress Filtering: Block outbound connections from web servers to unknown destinations. An allowlist-based approach for egress traffic can prevent malware from calling out to its C2 server.
  4. Least Privilege for Applications: Run web applications with the minimum necessary permissions. Ensure the PHP process does not have access to credentials or keys that are not strictly required for its operation.

Timeline of Events

1
May 22, 2026
Security researchers detect and report the active supply chain attack against Laravel-Lang.
2
May 23, 2026
This article was published

MITRE ATT&CK Mitigations

Audit

M1047enterprise

Regularly audit 'composer.lock' files and CI/CD logs to verify the integrity and origin of all software dependencies.

Implement egress filtering to block outbound connections from servers to untrusted domains, which can prevent malware from contacting its C2 server.

Use dependency locking (e.g., composer.lock) to ensure that only specific, vetted versions of packages are used in builds, preventing automatic updates to malicious versions.

D3FEND Defensive Countermeasures

To defend against attacks like the one on Laravel-Lang, it's crucial to analyze the code you deploy, including third-party dependencies. Implement a static analysis (SAST) tool in your CI/CD pipeline that is configured to scan the entire vendor directory. The tool should be tuned to flag high-risk functions and patterns common in PHP malware, such as eval(), base64_decode(), gzuncompress(), and remote file inclusions (include 'http://...'). Specifically for this attack, a rule to inspect src/helpers.php in all dependencies for obfuscated code would be effective. This moves beyond simple vulnerability scanning (which would not find this) to active malicious code hunting within your supply chain.

Assume that a malicious package may eventually get into your system. A critical compensating control is to prevent it from communicating with its C2 server. For your PHP application servers, configure network security groups or host-based firewalls to deny all outbound traffic by default. Then, create explicit allow rules for only the essential connections required for the application to function (e.g., to a database, a payment gateway API, etc.). The malicious Laravel-Lang package's attempt to connect to flipboxstudio[.]info would have been blocked by this policy, rendering the credential-stealing payload useless. This Zero Trust network approach contains the breach and provides a high-fidelity alert when an application attempts to violate the policy.

Before promoting new or updated dependencies to production, run them in an isolated, sandboxed environment to observe their behavior. For this Laravel-Lang attack, a dynamic analysis sandbox would have detected the package attempting to make an unauthorized network connection to flipboxstudio[.]info during the composer install process. This behavioral analysis is key to catching novel attacks that static analysis might miss. Integrating an automated dependency sandbox into the CI/CD pipeline, which fails the build if any suspicious behavior (like unexpected network calls, file system access outside the project directory, or process execution) is detected, provides a powerful defense against this class of supply chain attack.

Timeline of Events

1
May 22, 2026

Security researchers detect and report the active supply chain attack against Laravel-Lang.

Article Author

Jason Gomes

Jason Gomes

• Cybersecurity Practitioner

Cybersecurity professional with over 10 years of specialized experience in security operations, threat intelligence, incident response, and security automation. Expertise spans SOAR/XSOAR orchestration, threat intelligence platforms, SIEM/UEBA analytics, and building cyber fusion centers. Background includes technical enablement, solution architecture for enterprise and government clients, and implementing security automation workflows across IR, TIP, and SOC use cases.

Threat Intelligence & AnalysisSecurity Orchestration (SOAR/XSOAR)Incident Response & Digital ForensicsSecurity Operations Center (SOC)SIEM & Security AnalyticsCyber Fusion & Threat SharingSecurity Automation & IntegrationManaged Detection & Response (MDR)

Tags

Supply Chain AttackLaravelPHPPackagistCredential Stealing

📢 Share This Article

Help others stay informed about cybersecurity threats

🎯 MITRE ATT&CK Mapped

Every tactic, technique, and sub-technique used in this threat has been identified and mapped to the MITRE ATT&CK framework for consistent, actionable threat language.

🧠 Enriched & Analyzed

Observables and indicators of compromise (IOCs) have been extracted and cataloged. Risk has been assessed and correlated with known threat actors and historical campaigns.

🛡️ Actionable Guidance

Detection rules, incident response steps, and D3FEND-aligned mitigation strategies are included so your team can act on this intelligence immediately.

🔗 STIX Visualizer

Structured threat data is packaged as a STIX 2.1 bundle and can be visualized as an interactive graph — relationships between actors, malware, techniques, and indicators.

Sigma Generator

Sigma detection rules are derived from the threat techniques in this article and can be converted for deployment across any major SIEM or EDR platform.