SafeDepのキャンペーンページとコミュニティが集約したリストによると、最終的に1,937個の影響を受けたAURパッケージ名が列挙されており、攻撃の甚大な規模が浮き彫りになりました 。なお、公式のArch Linuxリポジトリ(
core、extra、community)は一切影響を受けておらず、本件はAURのみに限定されたインシデントです 。
Atomic Arch攻撃は、Archのインフラに対する侵害ではありませんでした。その代わりに、AURの孤立パッケージ(orphaned packages)の引き継ぎワークフロー、つまりコミュニティメンバーが放棄されたパッケージの所有権を主張できる仕組みを、外科的に悪用したものです 。
攻撃は検出回避のために手口を巧妙化させながら、明確に異なる二つの波で展開されました。
攻撃者はまず、孤立パッケージを組織的に引き継ぎました。メンテナ権限を取得した後、彼らが改変したのはソフトウェアのソースコードそのものではありません。ソースコードの変更はチェックサムを破綻させ、警告を発する可能性があるからです。代わりに、彼らはビルドスクリプトであるPKGBUILDファイルに、悪意のあるnpm依存関係を注入しました。使用されたのは atomic-lockfile (v1.4.2) と js-digest (v4.2.2) です 。これらは
makepkgプロセスの途中で自動的に実行されるように設定されました。悪意のあるコードは、.installスクリプトにも埋め込まれ、シェルの文字列分割、引用符の混在、16進数エスケープなどを使って隠蔽され、手動レビューを回避しようとしました 。
わずか1日後、第2波が出現しました。今回は、npmのインストールパスがBunベースのインストールプロセスに置き換えられ、lockfile-js (v1.4.2) という別の悪意あるパッケージが使用されました 。この変化は検出を複雑にしました。第一波の兆候(IoC)の多くがnpmレジストリに注目していたため、セキュリティツールは新しいランタイムと依存関係を監視するために更新が必要になったのです
。
ソフトウェア自体ではなくビルド手順だけを汚染することで、攻撃者は従来の完全性チェックを巧みに回避しました。上流のソースコードはクリーンに見え、マルウェアはビルド時に初めて取得・実行されるため、PKGBUILDスクリプトを手動で検査しないユーザーには見えなかったのです 。
侵害されたパッケージをビルドしたマシンには、スパイ活動と永続化のために設計された2段階のペイロードが配信されました。
psやhtopといった標準の検出ツールから隠蔽できました。このルートキットは /sys/fs/bpf/ を永続化に利用するため、削除が極めて困難です 認証情報スティーラーとカーネルレベルのルートキットという組み合わせは、特に重要なアクセスキーや機密データを保持することの多い開発者のワークステーションにとって、深刻な脅威となりました。
Arch Linuxコミュニティとセキュリティ業界は迅速に対応しましたが、その対応は攻撃の規模によって複雑化しました。
aur-malware-check など)を公開しました 対応における主要な摩擦点の一つは、公式のArchチームが影響を受けた全パッケージの単一かつ正規のリストを即座に公開しなかったことでした。このため、ユーザーはSafeDepやCorgeaといった第三者によるマニフェストに頼らざるを得ませんでした 。
Atomic Arch攻撃は、ボランティアによるメンテナンスに依存する信頼ベースのコミュニティリポジトリが持つ構造的な弱点を露呈させました。
セキュリティ研究者とArchコミュニティのガイダンスは一致しています。これは、単一のパッケージを削除するだけでは不十分なケースです。
pacman -Qmatomic-lockfile、lockfile-js、js-digestといった痕跡がビルドキャッシュにないか、また /sys/fs/bpf/ 配下に不審なエントリがないかを検索してください