2026年6月12日、Arch LinuxユーザーリポジトリAUR(Arch User Repository)において408件超のパッケージが侵害され、Linuxのルートキット機能を持つインフォスティーラー「deps」が配布されていることが確認されました。
攻撃者は既存の信頼されたメンテナーのアカウントになりすました偽メンテナーを使い、大量のAURパッケージを「採用(adopt)」してビルドスクリプトに悪意ある変更を加えました。侵害されたパッケージのビルド時に、npmパッケージatomic-lockfile(第1波)またはBunパッケージjs-digest(第2波)がインストールされ、そのpreinstallフックを通じてLinux ELFマルウェアdepsが実行される仕組みです。セキュリティ研究者Whanos氏による技術分析(ioctl.fail)によれば、depsはRustで記述されたクレデンシャルスティーラーであり、Chromium系ブラウザ・Slack・Microsoft Teams・Discord・GitHub・npm・Vault・Docker/Podman・SSH鍵・VPN設定・シェル履歴・OpenAI APIトークンを標的とします。
さらにrootとして実行された場合にはeBPF(extended Berkeley Packet Filter)rootkitを展開し、自身のプロセス・ソケットをシステムから隠蔽します。C2通信にはTorオニオンサービスが使われています。Arch Linuxのメンテナーは**2026年6月12日17:30(UTC)**に悪意あるコミットをすべて削除したと発表しており、AURはパッケージ採用に関する新たな制限も実装しました。本記事では攻撃の全容・マルウェアの技術的詳細・IOC・対応手順を解説します。
サマリー
- 侵害規模:AURパッケージ408件超が侵害
- 攻撃の発覚:セキュリティ研究者Whanos氏が2026年6月11日に初期分析。IFIN(Independent Federated Intelligence Network)が6月12日に報告公開
- 攻撃手法:信頼されたメンテナーになりすましてパッケージを「採用」し、PKGBUILDのpreinstallスクリプトに悪意ある変更を注入
- 2段階の配布経路:①npmパッケージ
atomic-lockfilev1.4.2(134 DL確認・npmユーザー:herbsobering)→②Bunパッケージjs-digest(npmが削除済み) - ペイロード:Linux ELF64マルウェア
deps(Rustで実装) - 標的データ:Chromium系ブラウザ・Electron製アプリ・Slack・Microsoft Teams・Discord・GitHub・npm・Vault・Docker/Podman・SSH鍵・VPN・シェル履歴・OpenAI/ChatGPT APIトークン
- C2:Torオニオンサービス
olrh4mibs62l6kkuvvjyc5lrercqg5tz543r4lsw3o6mh5qb7g7sneid.onion(POST /api/agent) - ファイル窃取先:
temp.sh(POST /upload) - rootkit機能:root権限がある場合にeBPF rootkitを展開。
hidden_pids・hidden_names・hidden_inodesマップでプロセス・プロセス名・ソケットinodeを隠蔽 - 永続化:rootモードはsystemdシステムサービス(
/var/lib/・/etc/systemd/system/)、非rootモードはユーザーsystemdサービス - 現在の状況(2026年6月12日17:30 UTC):Arch LinuxメンテナーがAURから悪意あるコミットをすべて削除完了。パッケージ採用等に新たな制限を実施
AURサプライチェーン攻撃の仕組み
なぜAURはこの攻撃を受けやすかったのか
AUR(Arch User Repository)は、Arch Linux公式リポジトリに含まれないソフトウェアを提供するコミュニティ管理のパッケージリポジトリです。AURにはビルドスクリプト(PKGBUILD)のみが含まれており、ユーザーが自身の環境でソフトウェアをダウンロード・コンパイル・インストールするための手順が記載されています。
Arch Linuxの公式パッケージとは異なり、AURは審査されていない(vetted)空間ではないとArch Linux自身が公式に認めています。今回悪用されたのは「パッケージの採用(adoption)」機能でした。メンテナーが長期間不在のパッケージは「オーファン(孤児)」状態になり、他のユーザーがそれを引き継いで管理できます。攻撃者はこの機能を悪用し、信頼されたメンテナーのアカウントを偽装した上で大量のパッケージを短時間で採用し、悪意あるコミットを追加しました。
2段階の攻撃波
第1波(atomic-lockfile):侵害されたAURパッケージのPKGBUILDにnpm install atomic-lockfileを実行するpreinstallスクリプトが追加されました。インストールされるatomic-lockfileは外見上はTypeScriptの正規パッケージに見えますが、ソースツリーのsrc/hooks/depsに悪意あるLinux ELFバイナリが埋め込まれており、npmのpreinstallライフサイクルスクリプトとして自動実行されます。socket.devでは134回のダウンロードが確認されています。
第2波(js-digest):その後の感染ではBunを使って悪意あるjs-digestパッケージをインストールする手法が使われました。npmはこのパッケージを削除済みです。
マルウェア「deps」の技術的詳細
セキュリティ研究者Whanos氏の詳細なリバースエンジニアリング分析(ioctl.fail)をもとに解説します。
ファイル情報
| 項目 | 内容 |
|---|---|
| ファイル名 | deps |
| ファイルサイズ | 3,040,376バイト(約3MB) |
| ファイル種別 | Linux ELF64、x86-64、PIE、動的リンク |
| 実装言語 | Rust(async状態機械) |
| SHA-256 | 6144D433F8A0316869877B5F834C801251BBB936E5F1577C5680878C7443C98B |
| MD5 | 42B59FDBE1B72895B2951412222EBF40 |
標的とするデータ
depsが窃取を試みるデータは、開発者のワークステーション・ビルド環境にある認証情報のほぼ全域をカバーしています。
| カテゴリ | 標的の詳細 |
|---|---|
| ブラウザ・Electronアプリ | ChromiumファミリーのCookieデータベース・LevelDB・セッショントークン。Electron製アプリのローカルストレージ |
| 開発コラボツール | Slack・Microsoft Teams・Discordのトークン(APIを直接叩いて確認) |
| 開発認証情報 | GitHubトークン・npmトークン・HashiCorp Vaultトークン |
| インフラ認証情報 | Docker/Podman認証情報・VPN設定・SSH秘密鍵 |
| シェル履歴 | シェル実行履歴(パスワードや認証情報が含まれる場合がある) |
| AI関連 | OpenAI/ChatGPT APIトークン |
C2通信の仕組み
C2(指令・制御)エンドポイントはELFバイナリ内にTorオニオンアドレスとしてエンコードされており、実行時にデコードされます。
- C2エンドポイント:
olrh4mibs62l6kkuvvjyc5lrercqg5tz543r4lsw3o6mh5qb7g7sneid.onion(POST /api/agent) - ファイル窃取先:
temp.sh(POST /upload) - ローカル中継:
127.0.0.1のループバック/SOCKSトランスポートを介して通信
eBPF rootkitによる隠蔽
root権限で実行された場合、depsは組み込みのeBPF rootkitを展開します。eBPFはLinuxカーネル内でプログラムを実行できる技術で、rootkitに悪用されると以下のような深刻な隠蔽が可能です。
| eBPFマップ名 | 隠蔽対象 |
|---|---|
hidden_pids |
プロセスID |
hidden_names |
プロセス名 |
hidden_inodes |
ソケットinode(ネットワーク接続) |
eBPF rootkitが展開された場合、一般的なプロセス監視(ps・top等)やネットワーク監視(netstat・ss等)ではマルウェアの痕跡を発見できなくなります。このため、IFIN・ioctl.failは「eBPF rootkitの可能性がある場合はシステムへの信頼を前提とできないため、Archの再インストールを検討すべき」と勧告しています。
永続化の仕組み
| モード | 永続化の方法 |
|---|---|
| root | /var/lib/以下にコピーを設置し、/etc/systemd/system/にsystemdシステムサービスを作成 |
| 非root | ユーザーsystemdサービスとして永続化 |
また/usr/bin/monero-wallet-guiに関連付けられたダウンローダー/ステージャーパスも含まれており、二次ペイロードの可能性があります。
IOC(侵害の痕跡)一覧
ファイルハッシュ
| ハッシュ種別 | 値 |
|---|---|
depsのSHA-256 |
6144D433F8A0316869877B5F834C801251BBB936E5F1577C5680878C7443C98B |
js-digest内ペイロードのSHA-256 |
7883bda1ff15425f2dbe622c45a3ae105ddfa6175009bbf0b0cad9bf5c79b316 |
C2・ネットワーク
| 項目 | 内容 |
|---|---|
| C2オニオンアドレス | olrh4mibs62l6kkuvvjyc5lrercqg5tz543r4lsw3o6mh5qb7g7sneid.onion |
| ファイル窃取先 | temp.sh |
不審なeBPFマップ名(bpftool map listで確認)
hidden_pidshidden_nameshidden_inodes
不審なnpmユーザー・リポジトリ
- npmユーザー:
herbsobering(악意あるパッケージatomic-lockfileのメンテナー) - GitHubコンテナ:
herbsobering430(リバースシェル/プロキシツールの疑い)
今すぐ実施すべき対応手順
① Arch Linuxユーザー向け(最優先)
侵害されたパッケージのリストを確認し、IFINが提供するチェックスクリプトaur_check.shを使って自分の環境への影響を確認してください。
ioctl.failのIOCが確認された場合は、フォレンジック調査のためにシステムを保全してください。感染パッケージが確認された場合は、通常のインシデントレスポンス手順に従い、すべての認証情報をローテーションし、Archの再インストールを検討してください。eBPF rootkitの可能性があるため、システムへの信頼を前提とすることはできません。
② eBPF rootkitの有無を確認
bpftool map list
上記コマンドの出力にhidden_pids・hidden_names・hidden_inodesという名前のマップが存在する場合、eBPF rootkitが稼働している可能性があります。
③ Torアウトバウンドトラフィックの遮断
マルウェアのC2通信はTorオニオンサービスを使用しています。ネットワークレベルでTorアウトバウンドトラフィック(デフォルトポート9050・9150)を遮断することが有効な防御策です。IFINも「念のため全員がTorアウトバウンドを遮断すべき」と推奨しています。
④ 認証情報のローテーション
感染した可能性がある場合は、以下のすべての認証情報を直ちにローテーションしてください。
- GitHubパーソナルアクセストークン(PAT)
- npmトークン
- SSH秘密鍵(GitHubに登録しているものを含む)
- Docker Hub・各種コンテナレジストリの認証情報
- Vault・HashiCorp関連のトークン
- Slack・Microsoft Teams・Discordのセッショントークン
- OpenAI APIキー
- VPN設定・証明書
⑤ Arch Linux以外のユーザーへの影響
IFINは「Archを使っていないのであれば問題ない(If you don’t use Arch btw, you’re fine.)」と述べています。ただし、CI/CDパイプラインやビルド環境でAURパッケージをビルドしている環境(DockerコンテナやVMの中でArch Linuxを使っている場合を含む)は影響を受ける可能性があります。
なぜこの攻撃が「特に危険」なのか
IFINのTaggart氏は「サプライチェーン攻撃がここまでeBPF rootkitを含む段階に達するのは非常に珍しい(rare)」と指摘しています。
今回の攻撃が特に深刻な理由を整理します。
ビルド環境・CI/CD環境を直撃する:depsは「開発者ワークステーションとビルド環境向けに設計された」と技術分析が明示しています。AURパッケージをビルドするエンジニアの環境から、GitHubトークン・SSH鍵・コンテナレジストリ認証情報を根こそぎ窃取することができ、これが二次的なサプライチェーン攻撃(別のリポジトリへの不正コミット等)につながる可能性があります。
eBPF rootkitによる発見の困難さ:eBPF rootkitが展開された場合、標準的なLinuxコマンドではマルウェアのプロセスもネットワーク接続も見えなくなります。感染していても感染に気づけないという最悪のシナリオが発生します。
Torを使ったC2による追跡不能性:C2がTorオニオンサービスであるため、ネットワークレベルでの通信先の特定・遮断が困難です。








