関連インシデント · Composer / Packagist サプライチェーン · 2026年4〜5月
laravel-lang と Packagist のサプライチェーン攻撃(2026年):composer.lock を確認
攻撃者は盗んだ GitHub アクセスで正規パッケージに悪意あるタグを公開しました。laravel-lang の場合、インストール後はすべての PHP リクエストでコードが実行されました。
最終更新
何が起きたか
| パッケージ | 時期 | 実行方法 | 情報源 |
|---|---|---|---|
| laravel-lang/lang、http-statuses、attributes、actions | 2026-05-22〜23 | src/helpers.php を autoload.files に追加し、すべてのリクエストと CLI で実行 | Snyk |
| intercom/intercom-php 5.0.2 | 2026-04-30 | Composer プラグイン化し install/update 時にスクリプトを実行 | Socket |
| devdojo/wave、devdojo/genesis を含む 8 パッケージ(開発ブランチ) | 2026-05-23 報道 | package.json の postinstall で Linux バイナリをダウンロード | The Hacker News |
Packagist によると、攻撃は乗っ取られた GitHub アカウントや盗まれたトークンを使って行われ、チームは検知から数分以内に該当バージョンを削除しました。
自分のアプリは影響を受けるか
# Did a project ever resolve one of the affected packages?
grep -n -E '"name": "(laravel-lang/(lang|http-statuses|attributes|actions)|intercom/intercom-php)"' composer.lock
composer show --locked | grep -E 'laravel-lang|intercom'
composer --version # 2.10+ adds dependency policies for malware-flagged versions
composer audit対処方法
- どこか(開発機、CI、コンテナ、サーバー)に該当バージョンが入っていたら隔離し、証拠を保全し、クリーンなイメージから再構築します。
- PHP プロセスや CI ジョブが読めたシークレット(
.env、クラウドキー、DB パスワード、デプロイトークン、SSH 鍵)をすべて変更します。 - Composer 2.10 以降に更新し、
composer.lockをコミットします。
よくある質問
悪意あるバージョンを取得したかどうかはどう確認しますか?
すべてのブランチとビルド済みイメージの composer.lock でこのページのパッケージ名を検索し、インストール日時が攻撃期間に入っているか確認します。
composer update だけで十分ですか?
いいえ。laravel-lang のペイロードは認証情報窃取プログラムを実行しました。環境を侵害されたものとして扱い、クラウドキー、DB パスワード、CI トークン、SSH 鍵を変更してください。
Packagist は何を変えましたか?
2026年5月27日の記事によると、Aikido のマルウェア判定のメタデータ表示、安定版タグの不変化、マルウェア判定版を扱う Composer 2.10 の依存関係ポリシーが導入されました。
出典
外部リンクは本サイトの外に移動します。本サイトはエクスプロイトコードを掲載しません。
- An update on Composer & Packagist supply chain security (27 May 2026) — Packagist blog
- Laravel Lang supply chain advisory — Snyk
- Mini Shai-Hulud spreads to Packagist: malicious Intercom PHP package — Socket
- Packagist supply chain attack infects 8 packages using GitHub-hosted Linux malware (23 May 2026) — The Hacker News