高度な活発なサプライチェーン攻撃がLaravel-Langオープンソース組織を襲い、広く使用されている4つのPHPローカライゼーションリポジトリ全体で700以上の過去のパッケージバージョンが侵害されました。
2026年5月22日に検出された攻撃は、Aikido SecurityとSocket Research Teamの両方によって報告されており、Composerのオートローダー経由で自動的に実行される完全に機能するリモートコード実行(RCE)バックドアを導入しています。
影響を受けたパッケージlaravel-lang/lang(GitHubスター7.8k)、laravel-lang/attributes、laravel-lang/http-statuses、およびlaravel-lang/actionsは、公式Laravelフレームワークの一部ではありませんが、広く使用されているサードパーティのローカライゼーションライブラリです。
Packagistは迅速に対応し、悪意のあるバージョンを削除し、さらなるインストールを防ぐためにパッケージを一時的にリストから外しました。
GitHubリポジトリ経由でLaravel-Langパッケージを侵害
この攻撃を標準的なリポジトリ侵害と区別するのは、公式リポジトリに悪意のあるコードが決してコミットされなかったということです。
GitHubでは、バージョンタグが同じリポジトリのフォークからのコミットを参照でき、攻撃者はこの機能を悪用して、彼らが制御した悪意のあるフォーク内のコミットを指す正当に見えるリリースタグを作成しました(Socketが述べたところによると)。
悪意のあるタグは2026年5月22~23日に急速に連続して公開され、多くのバージョンはlaravel-lang/langの12.x、13.x、14.x、および15.xリリースラインとlaravel-lang/http-statuses、laravel-lang/attributes、およびlaravel-lang/actionsにおいて数秒間隔で出現しました。
Socketの分析は、composer.jsonに登録された悪意のあるsrc/helpers.phpファイルを確認しました。autoload.filesの下にあるこのファイルは、侵害されたアプリケーションが処理するすべてのPHPリクエストでバックドアが自動的に実行されることを意味します。
悪意のあるsrc/helpers.phpファイルはルーチンのLaravelローカライゼーションヘルパーになりすまし、2つの害のない見た目の関数を定義してから、秘密の自動実行ブロックを実行します。
C2ドメインflipboxstudio[.]infoは、実行時に文字コード配列(array_map('chr', [...]))を使用して動的に構築され、静的文字列分析を破ります。
ドロッパーはファイルパス、システムアーキテクチャ、およびinode番号のMD5ハッシュを使用して各ホストをフィンガープリントし、重複感染を防ぐために1回限りの実行マーカーを書き込みます(Aikidoが述べた)。
その後、TLS検証を明示的に無効にして、flipboxstudio[.]info/payloadの第2段階ペイロードをフェッチします。Linux/macOSでは、exec("php ...")を通じてバックグラウンドで実行が進みます。Windowsでは、ドロッパーは.vbsランチャーを生成し、cscript経由でサイレントに実行します。
第2段階ペイロードは、17の専門家によるコレクターモジュールに整理された約5,900行のクロスプラットフォームPHP認証情報スティーラーです。
ホストをスイープした後、ハードコードされたXORキー(k9X2mP7vL4nQ8wR1)を使用してすべての収集データを暗号化し、flipboxstudio[.]info/exfilに流出させて、法医学的な痕跡を消すために自己削除します。
スティーラーの収集範囲は非常に広くなっています:
- KubernetesおよびDevOps —
/var/run/secrets/からのサービスアカウントトークン、kubeconfig、Helmレジストリ、HashiCorp Vault(API経由で再帰的にクエリ)、Dockerconfig.json - CI/CDパイプライン — Jenkins
master.keyおよびcredentials.xml、GitHub Actionsシークレット、GitLab Runners、CircleCI、TravisCI、およびArgoCD設定 - 開発者認証情報 — SSHプライベートキー、
.git-credentials、シェル履歴(bash、zsh、psql、mysql)、.envファイル、wp-config.php、docker-compose.yml、およびパッケージマネージャー認証設定(.npmrc、.pypirc、.composer/auth.json) - ブラウザおよびパスワードマネージャー — 17のChromiumベースブラウザから保存されたパスワード。Chrome v127+ App-Bound暗号化をバイパスするためにbase64埋め込みの
DebugChromium.exeバイナリをドロップします。Firefoxはネイティブにぼかし/復号化;1Password、Bitwarden、LastPass、KeePass、Dashlane、およびNordPassをターゲット - 暗号通貨ウォレット — Bitcoin、Ethereum、Moneroウォレットファイル。MetaMask、Phantom、Trust Wallet、およびRabbyを含むブラウザ拡張ウォレット。plaintext
seed.txtおよびrecovery.txtファイルをスキャン - 通信およびVPN — LevelDBストレージからのSlackおよびDiscordセッショントークン。Outlook/Thunderbirdプロフィール。NordVPN、ExpressVPN、ProtonVPN、WireGuard、およびOpenVPN認証情報
| インジケーター | タイプ |
|---|---|
flipboxstudio[.]info |
C2ドメイン |
flipboxstudio[.]info/payload |
ペイロード配信URL |
flipboxstudio[.]info/exfil |
流出エンドポイント |
src/helpers.php |
悪意のあるドロッパーファイル |
autoload.files → src/helpers.php |
Composerオートロードトリガー |
<tmp>/.laravel_locale/<md5_hash> |
ホスト単位の感染マーカー |
<tmp>/.laravel_locale/<12-hex>.php |
ドロップされたスティーラーペイロード |
<tmp>/.laravel_locale/<8-hex>.vbs |
Windows VBSランチャー |
DebugChromium.exe |
Chrome DPAPI復号化バイナリ |
169.254.169.254 |
クラウドメタデータアクセス(EC2 IMDS) |
注:IPアドレスとドメインは意図的に未処理(例:[.])であり、誤ったアクセスやハイパーリンクを防ぎます。MISP、VirusTotal、またはSIEMなどの制御された脅威インテリジェンスプラットフォーム内でのみ再処理してください。
影響を受けたLaravel-Langパッケージを使用しているチームは、影響を受けたホストを完全に侵害されたものとして扱う必要があります。laravel-lang/lang、laravel-lang/http-statuses、laravel-lang/attributes、およびlaravel-lang/actionsのcomposer.lockを直ちに監査し、クリーンバージョンが確認されるまでこれらのパッケージをブロックしてください。
スティーラーの広範な到達範囲を考慮すると、クラウドプロバイダー認証情報、Kubernetes Service Accountトークン、Vaultトークン、CI/CDシークレット、GitHub/GitLabトークン、SSHキー、データベース認証情報、LaravelのAPP_KEY、および環境変数に保存されたシークレットを優先して、完全な認証情報ローテーションが重要です。
既知の良好なイメージから影響を受けたコンテナ、ホスト、およびCIランナーを再構築し、ログ(composer.lock、Composerキャッシュ、DNS/ネットワークログ、および一時ディレクトリコンテンツを含む)を修復前に保存してください。
翻訳元: https://gbhackers.com/compromise-laravel-lang-packages/