2026年5月22日、サイバーセキュリティ企業Aikido Securityは、PHPフレームワーク「Laravel(ララベル)」向けの多言語対応(ローカライズ)パッケージ群「laravel-lang」を対象としたサプライチェーン攻撃を検出し、パッケージメンテナーおよびPackagist(PHPパッケージリポジトリ)に即座に報告しました(Aikido Security公式ブログ・2026年5月22日)。
同日、Socket Research TeamもこのキャンペーンをPackagistのサプライチェーン攻撃として独立して分析・公表しています。
攻撃者はGitHubのバージョンタグ管理の仕組みを悪用し、正規のリポジトリへの直接コミットを行わずに悪性コードを注入するという巧妙な手口を採用しました。Composerのオートロード機能(autoload.filesディレクティブ)を通じて悪性コードがPHPリクエストのたびに自動実行される設計となっており、AWS・GCP・Azure認証情報・SSH秘密鍵・データベース認証情報・暗号資産ウォレット等の15種類の認証情報を窃取し、AES-256で暗号化した上で外部サーバーに送信します。Packagistは報告を受けて即座に悪性バージョンを削除し、影響を受けたパッケージの一時的な非公開化を実施しました。
この記事のサマリー
- 攻撃の検出日:2026年5月22日(Aikido Security)
- 悪性タグ公開期間:2026年5月22〜23日(数秒間隔での大量自動公開)
- 影響を受けたパッケージ:
laravel-lang/lang・laravel-lang/http-statuses・laravel-lang/attributes・laravel-lang/actions(4パッケージ) - 侵害バージョン数:233以上のバージョン・700以上のGitHubリポジトリ関連タグが確認
- 攻撃手法:正規リポジトリへの直接コミットではなく、GitHubの悪性フォークへバージョンタグを向けることでリポジトリ監査を回避
- 実行トリガー:Composerの
autoload.filesディレクティブ → PHPリクエストのたびに自動実行 - ペイロードの規模:約5,900行のPHPクレデンシャルスティーラー(15の専門モジュール)
- 窃取対象:AWS・GCP・Azure認証情報・SSH秘密鍵・データベース認証情報・
.envファイル・ブラウザ認証情報・暗号資産ウォレット等 - 外部送信先:
flipboxstudio[.]info/exfil(AES-256暗号化後に送信→実行後に自己削除) - Packagistの対応:報告を受けて悪性バージョンを即座に削除・影響パッケージを一時非公開化
- 対応すべき開発者:2026年5月22〜23日に
laravel-langパッケージを含むLaravelプロジェクトをcomposer updateまたはcomposer installした場合は要確認
目次
laravel-langとは
laravel-langはLaravelフレームワーク向けの多言語対応(ローカライズ)パッケージ群であり、フォームバリデーションメッセージ・HTTPステータスメッセージ・アクション名等を複数の言語で表示するために広く使用されています。Packagistで多数のダウンロード数を持つ信頼性の高いオープンソースパッケージであり、今回の侵害はそれだけ広範な影響範囲を持ちます。
攻撃の仕組み——「正規のリポジトリには触れずに悪性コードを注入する」手口
GitHubのバージョンタグを悪用した新手の注入手法
今回の攻撃の最大の特徴は、正規のlaravel-langリポジトリには一切コミットを行わずに悪性コードを注入した点です。Aikido Securityの研究者が指摘するように「悪性のコードは公式リポジトリには全くコミットされていませんでした」。
GitHubでは、バージョンタグが**同一リポジトリのフォーク(派生版)**上のコミットを指定することができます。攻撃者はこの仕組みを悪用し、laravel-lang/lang等の公式リポジトリのバージョンタグを、攻撃者が管理する悪性フォーク上のコミットへと向けるという手口をとりました。
これにより、通常のリポジトリ監査(コミット履歴の確認等)では悪性コードが発見できない状態となります。開発者がPackagist経由でcomposer require laravel-lang/langを実行すると、表面上は正規のパッケージに見えながら、実際には悪性フォークのコードがインストールされる仕組みです。
自動実行の仕掛け——Composerのオートローダー
悪性コードのエントリポイントは、悪性バージョンタグに埋め込まれたsrc/helpers.phpというファイルです。このファイルはLaravelの標準的なローカライズ関数を装って記述されており、Composerのautoload.filesディレクティブを通じて設定されます。
autoload.filesに登録されたファイルはアプリケーションが処理するすべてのPHPリクエストで自動実行されます。つまり感染した依存関係をインストールしたアプリケーションは、誰かがアクセスするたびに悪性コードが実行される状態となります。
大規模自動攻撃の証拠
Socketの分析によれば、悪性タグは「2026年5月22日と23日に極めて短い間隔——多くの場合、数秒間隔——で大量に公開された」とされており、組織レベルのリリースインフラや認証情報が侵害された上で自動化ツールが使用されたと推測されるとしています。
ペイロードの詳細—15モジュールのクレデンシャルスティーラー
Aikido Securityの研究者Ilyas Makariによる分析では、最終的にダウンロードされるペイロードの詳細が以下の通り明らかになっています。
初期ドロッパー(src/helpers.php)の動作として、各ホストに固有のマーカー(ディレクトリパス・システムアーキテクチャ・inodeを組み合わせたMD5ハッシュ)を生成し、1台のマシンで1回のみ実行されることを保証します。これにより冗長な実行を防ぎ、最初の実行後にマルウェアが検知されにくくなります。外部サーバーからメインのペイロードをフェッチします。
**メインペイロード(約5,900行のPHPコード)**として、15の専門モジュールで構成されるクレデンシャルスティーラーです。WindowsではVisual Basic Scriptランチャーを生成してcscript経由で実行し、Linux・macOSではexec経由で実行します。
**窃取対象の認証情報(15モジュール)**として、AWSアクセスキー・シークレットキー・セッショントークン(AWS IMDSv2含む)、GCPサービスアカウントJSON・アクセストークン、Azureインスタンスメタデータ・認証情報、データベース認証情報(MySQL・PostgreSQL・SQLite・Redis・MongoDB等)、.envファイルおよび環境変数全体、SSH秘密鍵(~/.ssh/以下)、ブラウザの保存済みパスワード・Cookieデータ、暗号資産ウォレットのシードフレーズ・秘密鍵、クラウドAPIキー(Stripe・Twilio・SendGrid等)が対象です。
データの送信と消去として、収集したすべての認証情報をAES-256で暗号化し、flipboxstudio[.]info/exfilに送信します。送信後、スクリプト自身をディスクから削除してフォレンジック調査の証拠を消去します。
Packagistとメンテナーの対応
Aikido Securityからの報告を受けて、Packagistは即座に悪性バージョンを削除し、影響を受けたパッケージを一時的に非公開化しました。laravel-langのメンテナーも報告を受けて対応を進めています。
影響を受ける可能性がある開発者への確認手順
影響確認として、
2026年5月22〜23日の間に以下のパッケージのいずれかについて
composer install・composer update・composer requireを実行した場合は要確認です。laravel-lang/lang・laravel-lang/http-statuses・laravel-lang/attributes・laravel-lang/actionsが対象です。
侵害の確認として、
vendor/laravel-lang/[パッケージ名]/src/helpers.phpが存在するかどうかを確認してください。このファイルが存在する場合、感染した可能性があります。
対応手順として、該当プロジェクトのすべてのクラウド認証情報(AWS・GCP・Azure)・APIキー・データベースパスワード・SSH鍵・.envファイルの内容を直ちにローテーション・無効化してください。そして安全なバージョンのパッケージに更新(または一時的に削除)した上でComposerのキャッシュをクリアしてください。
Indicators of Compromise(侵害の痕跡)
| IoC種別 | 値 |
|---|---|
| 悪性ファイル | vendor/laravel-lang/[pkg]/src/helpers.php |
| C2・外部送信先 | hxxps://flipboxstudio[.]info/exfil |
| 影響パッケージ | laravel-lang/lang・laravel-lang/http-statuses・laravel-lang/attributes・laravel-lang/actions |
| 悪性タグ公開期間 | 2026年5月22日〜23日(数秒間隔での大量自動公開) |
参考情報(1次ソース)
- Supply Chain Attack Targets Laravel-Lang Packages with Credential Stealer(Aikido Security公式ブログ・2026年5月22日)
- Laravel-Lang PHP Packages Compromised to Deliver Cross-Platform Credential Stealer(The Hacker News・Socket Research Team分析)
- 【関連記事】GitHubの5,561リポジトリが6時間で侵害——自動化サプライチェーン攻撃「Megalodon」をSafeDepが公開
- 【関連記事】npmサプライチェーン攻撃「Shai-Hulud」の新たな波——VS CodeやClaude Codeの設定ファイルへのバックドアにも注意
- 【関連記事】2025〜2026年 サイバー攻撃・情報漏洩の最新事例まとめ








