Arch Linux - October 2025 (Portuguese)
写真: Breno Martins de Oliveira Vasconcelos / CC0 / Wikimedia Commons

yayとparuに似せた名前でAURへ登録

Arch User Repository(AUR)は、Arch Linuxの利用者が管理するパッケージ索引です。公式リポジトリ以外のソフトウェアなどを扱い、パッケージのビルド手順を記したPKGBUILDを提供します。

10月13日、ユーザー名「marchos1as」が、AURヘルパーのyayやparuに似せた名前の悪意あるパッケージを登録しました。AURヘルパーは、利用者がAURのパッケージを取得・導入する作業を簡略化するコマンドラインツールです。

Arch Linuxのメーリングリストへの投稿をきっかけに、コミュニティの利用者がパッケージを調べました。パッケージには、正規の上流コードに加えて悪意あるインストールスクリプトが含まれていました。

ビルド後のインストール時にroot権限で実行

PKGBUILDを使ったビルドでは、makepkgがソースの取得と検証、依存関係の確認、ビルド、パッケージ化を行います。完成したパッケージはpacmanで扱える形式になり、makepkgの--installオプションは、ビルド成功後にpacmanでインストールまたは更新します。

makepkgの--syncdepsオプションは、不足している依存パッケージをpacmanで導入します。通常のビルド工程とは別に、今回の偽装パッケージにはインストール用スクリプトが含まれ、外部から取得したシェルスクリプトをroot権限で実行する仕掛けがありました。

AURメンテナーのAndreas Reichelは、偽装パッケージのインストールスクリプトが、インストール時と更新時に任意のコードをroot権限で実行すると警告しました。実際の処理はスクリプトの関数の外に置かれ、インストールや更新のたびに無条件で実行される構造でした。

正規のyayと同じソースを装う

問題の「yyay」は、正規のyayと同じ上流URLとソースアーカイブを使いながら、パッケージ名とインストールスクリプトで正規品になりすましていました。スクリプトは、GitFlic上の「hellscripter/install-scripts」からコードを取得する設定でした。

このURLはWayback Machineを経由していましたが、特定の保存時点を指定していませんでした。また、取得するスクリプトはPKGBUILDのソース配列に含まれず、チェックサムによる検証対象にもなっていませんでした。

一方、パッケージのpost_installとpost_upgrade関数はtrueだけを実行する形にされていました。Reichelは、この構造がスクリプトを一見無害に見せるための偽装だと指摘しています。

関連が疑われる別のマルウェア活動

アプリケーションセキュリティ企業SafeDepが報告したnpmキャンペーン「DirtyBlanket」も、「hellscripter/install-scripts」からコードを取得していました。その調査では、Linuxワームがフォントサービスを装ったCHAOSリモートアクセス型トロイの木馬を展開し、AURパッケージにローダーを注入したとされています。

今回と同じWayback MachineとGitFlicのドメインは、OSVの勧告にも記載されています。ただし、両者が同じ攻撃者による活動だと確認されたわけではありません。

AURチームは「marchos1as」のアカウントを停止し、悪意あるパッケージをリポジトリから削除しました。不審なパッケージをダウンロードしたArch Linux利用者には、端末が侵害されたものとして直ちに対処するよう警告されています。