Laravel-Lang PHPパッケージが侵害され、クロスプラットフォームの認証情報窃盗ツールを配信
Laravel-Langの複数のPHPパッケージが新たなソフトウェアサプライチェーン攻撃の標的となり、包括的な認証情報窃盗フレームワークを配信することが確認されました。影響を受けたパッケージには、laravel-lang/lang、laravel-lang/http-statuses、laravel-lang/attributes、laravel-lang/actionsが含まれます。攻撃者は、組織のリリースプロセスに対する広範な侵害を示唆する急速なタグの公開を行い、700以上のバージョンが特定されました。悪意のある機能は「src/helpers.php」に埋め込まれており、感染したホストを指紋認識し、外部サーバーからPHPベースのペイロードを取得します。このペイロードは、Windows、Linux、macOSで実行され、さまざまなデータを収集して外部サーバーに送信します。
メトリクス
このニュースのスケール度合い
インパクト
予想外またはユニーク度
脅威に備える準備が必要な期間が時間的にどれだけ近いか
このニュースで行動が起きる/起こすべき度合い
主なポイント
- ✓ Laravel-Langのパッケージが侵害され、700以上のバージョンが悪意のあるコードを含むことが確認されました。
- ✓ 攻撃者は、感染したシステムから多様な認証情報を収集し、外部サーバーに送信する仕組みを構築しています。
社会的影響
- ! この攻撃により、多くの開発者や企業が重要なデータを失うリスクが高まっています。
- ! サプライチェーン攻撃は、信頼性の高いソフトウェアに対する信頼を損なう可能性があります。
編集長の意見
解説
Laravel-LangのPHPパッケージがサプライチェーン侵害、オートローダー経由でクロスプラットフォーム窃取ペイロードが展開されます
今日の深掘りポイント
- 依存管理の“安全操作”だと思われがちな翻訳系ライブラリを起点に、オートローダーで自動実行される窃取フレームワークが配布されました。CI/CD・本番・開発端末のどこでも踏み台になります。
- 700超のタグ乱発は、リリースプロセスの広範な侵害と、バージョン解決の上位を強制的に取りに行く“圧殺”戦術を示唆します。更新自動化(Dependabot/Renovate)を使う組織ほど巻き込まれやすい設計です。
- 悪性コードはsrc/helpers.phpに埋め込まれ、ホスト指紋採取→外部からPHPペイロード取得→各OSで認証情報収集→送信という、最短距離の一連動線で成立します。
- 影響はクラウドIAM、CI用トークン、.env、ウォレット情報にまで及ぶ可能性があり、単一リポジトリの衛生管理を超えて、資産横断の秘匿情報ローテーションが初動になります。
- 現場で効く対策は“更新凍結→スコープ特定→資格情報ローテーション→ビルドの再現性とネットワーク最小化”です。Composer特有の“スクリプト実行点”と“ロックファイル運用”の見直しが即効薬になります。
はじめに
オープンソースの翻訳・定数化パッケージ群「Laravel-Lang」の複数パッケージが改ざんされ、包括的な認証情報窃取フレームワークの配布に悪用された事案です。報道によれば、laravel-lang/lang、laravel-lang/http-statuses、laravel-lang/attributes、laravel-lang/actionsのタグが短時間に大量に公開され、700超のバージョンが確認されたとされています。悪性機能はsrc/helpers.phpに埋め込まれ、感染ホストの指紋採取と外部サーバーからのPHPペイロード取得を起点に、Windows/Linux/macOSで機能する認証情報収集が行われます。サプライチェーン攻撃としての作法を踏み切った設計で、実務の更新習慣に突き刺さる型の案件です。
出所として公表情報は限られており、一次情報の完全性は今後の開示に依存しますが、現時点でのリスク評価としては“即応が必要な高確率の実害リスク”とみなすのが妥当です。特に、自動アップデート、セマンティックバージョニングの緩い許容範囲、CIでのcomposerスクリプト実行など、現場の“便利な慣行”が攻撃面の拡大要因になり得ます。
参考(公開情報):
- The Hacker News: “Laravel-Lang PHP Packages Compromised to Deliver Cross-Platform Credential Stealer” https://thehackernews.com/2026/05/laravel-lang-php-packages-compromised.html
深掘り詳細
事実関係(公開情報の整理)
- 影響パッケージ: laravel-lang/lang、laravel-lang/http-statuses、laravel-lang/attributes、laravel-lang/actionsに悪性変更が混入したと報じられています。
- タグ乱発: 短期間に700超のタグが公開され、組織のリリースプロセスが広範に侵害された可能性が示唆されています。
- 実装位置: 悪性コードはsrc/helpers.phpに埋め込まれ、オートローダーの実行タイミングで動く導線になっています。
- 動作概要: 感染ホストを指紋採取し、外部サーバーからPHPベースのペイロードを取得して実行、認証情報などを収集して外部送信します。Windows、Linux、macOSで動作することが確認されています。
- 収集対象(報道記載の例): クラウドサービスの認証情報、IAMロール由来情報、暗号資産ウォレットのシードフレーズなどが含まれる可能性があります。
出典: 上掲リンクの報道に基づく要約です。一次資料のハッシュやIOCなどは現時点で一般公開情報として明示されていないため、本記事では推測を交えず記述を限定しています。
編集部のインサイト(なぜ刺さるか)
- タグ“圧殺”は、セマンティックバージョニングの上限に寄せる更新習慣と、自動アップデータの提案キューを同時に踏みにじる戦術です。結果として“安全そうな翻訳パッケージ”が、広い範囲の環境に静かに入り込みます。
- PHPのエコシステムでは、post-install/post-updateなどのスクリプトフックや、オートローダー経由コードの実行が“いつのまにか”発火点になります。今回のようにhelpers.php直下に導火線を置かれると、特別なトリガー不要で初回アクセスやCLI起動時に動いてしまいます。
- クロスプラットフォームの窃取は、Webアプリ本体だけでなく、CI/CDエージェント、開発端末、ジョブワーカー、バッチ環境の“環境変数と設定ファイル”に突き刺さります。影響はGitトークン、クラウド資格情報、DB接続、サードパーティAPIキー、さらにはウォレットまで横断します。
- 実務への含意は単純で、“更新は善”の原則が揺らぎます。更新そのものを止めるのではなく、「ロック」「監査」「実行面の最小化」「外向き通信の最小化」を以後の標準運用に格上げするタイミングです。
脅威シナリオと影響
以下は公開情報に基づく仮説シナリオです。個別環境での再現性は異なるため、調査結果に応じて補正してください。
-
シナリオA(CI/CD踏み台化):
- きっかけ: Renovate/Dependabot提案を取り込み“composer update”がCIで実行されます。
- 導線: vendor配下のhelpers.phpがロードされ、外部からPHPペイロードを取得して実行します。
- 影響: CIランナー上の環境変数(クラウド鍵、レジストリ・Gitトークン、署名鍵のパス)やチェックアウト済みリポジトリの秘匿情報が吸い上げられます。
- 二次被害: ソース改ざん、リリース署名のなりすまし、他リポジトリへの横展開が起き得ます。
-
シナリオB(本番環境での資格情報流出):
- きっかけ: デプロイ工程で“composer install/update”を実行し、初回リクエストで悪性コードが発火します。
- 影響: .envや構成ファイル、実行ユーザーのホームディレクトリ配下のクラウドCLI資格情報、サービスアカウント鍵の窃取が起き得ます。
- 二次被害: クラウドコンソールやAPI経由での横展開、データベースやオブジェクトストレージからのデータ引き抜きが懸念されます。
-
シナリオC(開発者端末のハイジャック):
- きっかけ: ローカルで“composer update”を実行した開発者端末で即時実行されます。
- 影響: SSH鍵、Gitクレデンシャル、ブラウザ保存トークン、ウォレット関連情報が収集される可能性があります。
- 二次被害: 組織内のプライベートリポジトリやクラウドへの不正アクセスが連鎖します。
MITRE ATT&CKマッピング(仮説)
- 供給網侵害: Supply Chain Compromise(T1195)に相当すると考えられます。
- 実行: Command and Scripting Interpreter(T1059)に分類可能です(PHP経由の実行)。
- ツール受け渡し/C2通信: Ingress Tool Transfer(T1105)、Application Layer Protocol/Web(T1071.001)を想定します。
- 発見: System Information Discovery(T1082)。
- 認証情報アクセス/収集: Unsecured Credentials(T1552)、Credentials from Password Stores(T1555)、Data from Local System(T1005)。
- 防御回避: Indicator Removal on Host(T1070、特にファイル削除の側面)。
- 流出: Exfiltration Over C2 Channel(T1041)。 注: テクニックIDはフレームワーク更新で変更される可能性があるため、最新のATT&CKを確認してください。上記は報道から推測した仮配置です。
影響評価の含意
- 即応性の高さと被害発生の確度が目立ち、更新オペレーションの“どこにでも潜る”性格が厄介です。単発のマルウェア駆除ではなく、資格情報ローテーションとアセット横断のスコーピングが不可欠です。
- 新規性は“タグ圧殺+オートローダー発火”の合わせ技にあります。平時の改善項目(ロック運用・スクリプト制御・外向き通信)を勝ち筋として制度化する好機でもあります。
セキュリティ担当者のアクション
初動(48時間以内)
- 更新フリーズと範囲特定
- CI/CDと本番でcomposer updateを一時停止します(installはロック固定前提で許可の是非を判断します)。
- 組織内全リポジトリのcomposer.lockを横断検索し、laravel-lang/*の参照有無とバージョンを棚卸しします。
- ベンダーミラー(社内リポジトリ)を運用中なら、当該ネームスペースの解決を一時ブロックします。
- 侵害有無のトリアージ
- 直近で当該パッケージを更新したCI実行履歴を抽出し、当該ジョブのアウトバウンド通信(HTTP/HTTPS)ログを確認します。
- 本番のphp-fpm/php-cliプロセスが外部ホストへ直接通信した痕跡(プロセス通信、FWログ、プロキシログ)を捜索します。
- vendor/配下の当該パッケージ内src/helpers.phpの差分を取得し、不審な外部接続・エンコード・動的includeを確認します(自動実行ロジックに注目します)。
- 資格情報の一括ローテーション
- 対象範囲の環境変数・設定ファイル・キーストアに格納された機密(クラウドAPIキー、IAM/サービスアカウント、VCS・パッケージリポジトリ用トークン、DB/メッセージング/キャッシュ、サードパーティAPIキー、署名鍵のパスフレーズ)を優先度順にローテーションします。
- ローテーション後は、旧資格情報の失効確認とアクセス監査(CloudTrail等ログ)を即実施します。
恒久対策(1〜4週間)
- 依存管理のガードレール
- composer.lockの厳格運用を徹底し、本番・CIでの“composer update”を禁止します(更新はPR経由のみ)。
- composer installは--no-scriptsをデフォルトにし、必要なスクリプトは許可リスト方式で明示的に実行します。
- Composerプラグインは“allow-plugins”で組織許可リストに限定します。
- 供給網の内製化
- 社内ミラー(Private Packagist/Satis相当)を用いて、外部パッケージの取り込みを一次収容し、検疫(静的解析・YARA・依存監査)後に配布します。
- バージョン範囲は最小許容にし、自動アップデータのマージは二名承認+SCA通過を必須化します。
- ビルドの再現性と監査性
- SBOM生成を標準化し(Composer用SBOMの生成手段を組織標準に統一)、変更検知をゲートにかけます。
- 署名付きアーティファクトと変更不可のアーティファクトリ(immutability)を採用します。
- 実行面の最小化
- 本番とCIのアウトバウンド通信は許可リスト方式にし、php-fpm/php-cliからの直接外向きHTTPを原則禁止します(プロキシ強制+DNS egress制御)。
- .envや資格情報ファイルの配置は原則KMS/シークレットマネージャ+短寿命トークンに置換します。
- 検知エンジニアリング
- ルール化例: “php-fpm/php-cliの外向きHTTP POST”“vendor配下の改変(デプロイ外タイミング)”“CIエージェント上でのPHP子プロセスのネットワーク接続”を高優先度で監視します。
- ATT&CK準拠のハント: System Information Discovery(T1082)、Ingress Tool Transfer(T1105)、Exfiltration Over C2(T1041)の連続ヒット時にインシデント自動エスカレーションします。
- 教育と手順
- “便利な更新”と“安全な更新”の違いを開発者へ具体例で周知し、PRテンプレートに「依存更新のリスクチェックリスト」を常設します。
リスクコミュニケーションの要点
- 今回の肝は、無害に見える依存が“オートローダーで自動実行される攻撃面”に変わったことです。技術的対策と同時に、更新プロセスの設計思想を改めることが、長期的なコスト圧縮につながります。
参考(公開情報)
- The Hacker News: “Laravel-Lang PHP Packages Compromised to Deliver Cross-Platform Credential Stealer” https://thehackernews.com/2026/05/laravel-lang-php-packages-compromised.html
本稿のMITREマッピングや一部シナリオは公開情報からの仮説に基づくもので、環境差分で当てはまりが変わる可能性があります。一次情報やベンダーの公式アドバイザリが出次第、運用ルールとハントクエリの見直しを速やかに行うことを強く推奨します。
背景情報
- i サプライチェーン攻撃は、ソフトウェアの配布プロセスを悪用して、悪意のあるコードを正規のソフトウェアに埋め込む手法です。Laravel-Langのパッケージがこの攻撃の標的となり、攻撃者は組織のリリースプロセスにアクセスしたと考えられています。
- i 攻撃者は、PHPのオートローダー機能を利用して、悪意のあるコードを自動的に実行させる仕組みを構築しました。これにより、ユーザーがパッケージを使用する際に、特別なトリガーなしにペイロードが実行されます。