新調したばかりのMacBook Airを初期化する羽目になった話|YAAGL導入時のセキュリティトラブルを時系列で振り返る

incident_YAAGL 雑記

ジンです。

先日、約7年ほど使ったMacbookを買い替えまして。買い替えた経緯だとか、選び方、買い方などは別の記事で紹介していこうと思いますが、今回は初期設定時に発生した事件について、インシデントレポートっぽく残しておこうと思います。

⚠️ 概要

MacでWindows向けゲームを遊べる環境を作ろうとして、ツール「YAAGL」を導入しようとしたところ、公式サイトのリンクが偽装ページにリダイレクトされ、難読化されたコマンドをターミナルで実行してしまった。その日のうちにMac内部を一つずつ確認してマルウェアを検出・隔離し、一旦は落ち着いた。ところがその2〜3日後、今度はGoogleアカウントとInstagramで相次いで不正アクセスの通知が届く。因果関係を完全には立証できないまま、最終的にMacを完全初期化することにした。

※ YAAGLとは、Mac上でWindows向けゲームを動作させるための非公式ツール。Wine(Windows用ソフトをMac/Linuxで動かす互換レイヤー)をベースに、ゲーム向けに設定を簡略化したものとして知られている。

環境

  • 機種:MacBook Air M4
  • 主用途:通常業務、書き物、WordPress、AI活用など
  • 状態:旧Macbookからのデータ移行後、新PCとしての設定中

タイムライン(1日目:導入から鎮静化まで)

1. YAAGL導入の相談から開始

ChatGPTにMac上でのWindowsゲーム環境構築について相談したところ、ストレージ状況を確認した上で、YAAGL公式サイトから最新版を取得するよう勧められた。

2. インストールコマンドを実行、ターミナルが応答しなくなる

YAAGL公式サイトのTOPページに記載のあった『Dounload YAAGL』をクリックすると、『Dounload for Mac』と題された別ページへ遷移。

本来GitHubへ遷移するはずで、この時点で異変に気付くべきだったところ、気付かずに画面の案内に沿ってターミナルでコマンドを実行。入力後、ターミナルが動作しなくなる。Macbookの動作自体は問題なく、ターミナルのみが操作できない状態。再起動しての再入力など色々試すも、上手くいかない。この時点ではまだ「インストールがうまくいかない」「よくある導入トラブルだろう」くらいにしか思っていなかった。

3. リダイレクトに気づく

再起動後、あらためてYAAGL公式サイトの「ダウンロード」リンクを確認すると、GitHubのリンクが記載されているにもかかわらず、自分が遷移した先はfileappleengine.comという見知らぬドメインだった。そのページに書かれていたコマンドをすでに実行してしまっている、ここで初めて『フィッシングサイトに引っかかってしまった』事に気付いた。

4. 難読化コマンドだったと判明、即座にパスワード変更

実行したコマンドを見返すと、base64でURLをエンコードし、その場でデコードしてzshに渡す形式のcurlコマンドだった。公式サイトが案内していた「アプリをダウンロードしてApplicationsに入れる」という普通の手順とは明らかに形が違う。しかもsudo権限でパスワードまで入力していたことを思い出し、次の対応をすぐに行った。

  • Wi-Fiをオフにしてネットワークを遮断
  • 別端末(iPhone)からApple IDのパスワードを変更
  • Macのログインパスワードを変更

この段階ではまだ「何が実行されたか」自体は分かっておらず、疑わしい状態のままMacを使い続けないための応急処置という位置づけだった。

5. 見覚えのない「bash」の自動起動に動揺

システム設定のログイン項目を確認すると、起動時バックグラウンドで実行中の項目に「bash」という項目が2つ並び、チェックが入っていた。その前に確認した際には見当たらなかった項目だった。慌てて削除する前に、その項目の詳細(実行パス)を確認。

開いてみると、実行パスは/bin/bash——つまりmacOS標準のシェルそのもののようだった。chatgptによると「今回の不審なコマンドが新たに仕込んだものではなく、元から存在する正常な項目」という結論ではあったが、真偽は不明。

6. LaunchAgents・LaunchDaemonsを一つずつ確認

bashの件が正常?と確認後も、次の項目を順番に確認。

  • ~/Library/LaunchAgents の一覧を出力し、見慣れないファイルがないか確認 → 該当なし
  • /Library/LaunchAgents も同様に確認 → 該当なし
  • /Library/LaunchDaemons も確認 → 該当なし

ここまでで「常駐している本体のようなものは見当たらない」という一定の安心材料は得られた。ただし、実行したスクリプトの中身自体はまだ分からないままだった。ターミナルの履歴(history | grep curl)も確認し、実行したURLをいつでも見返せるようにしておいた。

7. Malwarebytesでスキャン、検出内容を確認してから隔離

続いてウィルススキャンソフト『Malwarebytes』を導入し、フルスキャンを実行。結果に「Threats found」の表示が出たが、すぐに「Remove」を押すのではなく、まず検出の詳細(ファイル名・場所・検出名)を確認することにした。Malwarebytesは不要ソフトやアドウェアの残骸にも反応することがあるので、実際に何が検出されたのかを見極める必要があった。

詳細を確認した結果、検出名は次の通り。

stealer.nova

検出名:MacOS.Stealer.Nova
種別:Malware(情報窃取型)

これまでの調査で常駐項目や自動起動ファイルに異常が見つかっていなかったこともあり、「常駐している本体」というより「先ほどのスクリプトが一時的に落としたファイルの残骸」の可能性が高いと判断し、Quarantine(隔離)を実行した。

8. 遷移経路の全体像が判明

この過程で、リダイレクトの経路がより具体的に見えてきた。YAAGL公式サイトからのリンクがfileappleengine.comに飛ばされ、そこからさらにhaven-10.comがホストするスクリプトが実行されるという多段構成。公式の配布経路としては明らかに不自然な流れで、YAAGLを装った偽装ページか、広告経由の偽インストーラーだった可能性が高いという見方で一致した。

9. 仕上げの確認

隔離後も、再度次の項目をひとつずつ確認した。

  • Malwarebytesで再スキャンし、検出0件を確認
  • YAAGL関連のファイルがダウンロードフォルダやホーム以下に残っていないか(find ~ -iname "*yaagl*"など)を確認 → 該当なし
  • インストール済みアプリケーション一覧を確認し、見覚えのないアプリがないか確認 → 該当なし
  • ログイン項目を再確認 → Dropboxのみで正常
  • Apple IDに登録されているデバイス一覧を確認 → 見覚えのない端末なし
  • 「フルディスクアクセス」の許可アプリを確認 → 不審なものなし

ここまで確認して、常駐している本体や自動起動する不審なファイルは無し。パスワード変更・スキャン・常駐確認まで行ったことで、一旦対応完了とした。


数日後:アカウントへの不正アクセスが発覚

Mac内部の調査が一段落し、その日は収まったように見えた。ところが、その日から2〜3日の間、次はSNSアカウント側で立て続けに異常が発覚することになる。

10. 旧Googleアカウントに不審なアクティビティ通知

以前Macで業務用として使用していたGoogleアカウントに、見覚えのないログインを知らせる通知が届いた。内容には、他デバイスからの不審なログイン、検知後の強制ログアウトを行ったという報告、そしてアクセス元(東京港区)の地域表示が含まれていた。このアカウントはもう使っていないものだったため、状態を確認した上で削除することにした。

11. Instagramでも不正アクセスが発覚

Googleアカウントの件とほぼ同時期に、Instagramでも不正アクセスが発覚。メッセージのやり取りのあるフォロワーへメッセージの送信が行われていた。その場で以下の対応を行った。

  • パスワードの変更
  • ログイン中の他デバイスを全てログアウト
  • 2段階認証の設定

Mac・Google・Instagramという3つの異なる場所で、数日という短い期間の中に不審な出来事が重なったことになる。YAAGL導入時のスクリプトとこれらの不正アクセスを明確な証拠でつなぐことはできないが、流石にこのタイミングに起こった事象として、あのスクリプトに起因するものであるとしか思えなかった。

アカウント全体のセキュリティ強化

Google・Instagramの個別対応に加えて、この一連の出来事を受けて、主要なアカウント全体を対象にセキュリティの見直しを行った。

  • パスワード変更:Google、Apple ID、各種SNSアカウントのパスワードを一通り変更
  • ログイン中デバイスの一斉ログアウト:各サービスでログイン中の他デバイスをすべてログアウトし、セッションをリセット
  • 2段階認証の設定確認:設定済みのサービスは有効になっているか再確認し、未設定のサービスは新たに設定

個別に発覚した被害への対処だけで終わらせず、「他にも気づいていない侵入経路が残っていないか」という前提で、関連するアカウントをまとめて洗い直した形になる。


初期化を決断

Mac内部の調査では常駐する不審なファイルは見つからず、技術的には「感染の証拠は薄い」という状態だった。それでも、次のような理由から、最終的にMacを完全初期化することにした。

  • Malwarebytesで実際に情報窃取型マルウェアが検出された事実は消えない
  • その後数日のうちにGoogle・Instagram双方で不審なアクセスがあった
  • 因果関係を完全に否定できない以上、気持ちが悪いままそのMacを使い続けたくなかった
  • 購入直後で初期状態に近い状態であり、初期化のコストが比較的低かった

「この時点での因果関係は見当たらないが、どうせならスッキリして使いたい」——この思いから初期化を。

12. 初期化前のバックアップ

感染の可能性がある状態のデータをそのまま復元してしまっては意味がないので、「復元」ではなく「必要なデータだけを選んで退避、初期化後入れ直す」方針にした。

  • iCloud上のデータ
  • Dropbox上のデータ
  • その他、必要な個人データのみ

13. 初期化・再構築

Macを完全に初期化し、OSをアップデートした上で、新規セットアップを行った。

  • ❌ Time Machineからの復元
  • ❌ 移行アシスタントの使用
  • ✅ 新規Macとしてゼロからセットアップ

過去の状態を引き継がず、必要なものだけを一つずつ入れ直すことにしたのは、「見えない何かを一緒に連れてこない」ことを最優先としたため。

14. 再構築後の環境

必要最低限のところから、以下のアプリを一つずつ導入し直した。

  • ChatGPT
  • Claude
  • Notion
  • Dropbox
  • Chrome

結果として、当初の目的だった「Windowsゲームのプレイ環境構築」は断念する事になった。それでも、安心して使えるMacを取り戻すことを優先した形。


わかっていること/わかっていないこと

✅ 事実として確認できたこと

  • YAAGL公式サイトからのリンクがfileappleengine.comという第三者ドメインへリダイレクトされ、さらにhaven-10.comがホストする難読化スクリプトを実行する構成だった
  • 実行時、sudo権限での認証が発生していた
  • Malwarebytesでマルウェア(MacOS.Stealer.Nova、情報窃取型)が検出され、隔離済み
  • Mac内部の常駐項目・自動起動ファイル(LaunchAgents/LaunchDaemons)には異常が見つからなかった
  • その数日後、Google・Instagram両方で不正アクセスがあった

❓ 断定できないこと

  • YAAGL公式サイト自体に問題があったのか、リダイレクト先だけの問題か
  • 実行したスクリプトと、数日後のGoogle・Instagramの不正アクセスとの直接的な因果関係
  • マルウェア検出とアカウント不正アクセスが同一原因によるものか、たまたま時期が近かっただけか

技術的な調査だけを見れば「常駐する本体は見つからなかった」という一定の安心材料はあった。それでも、その後のアカウント被害までを含めて振り返ると、証拠として立証できるかどうかとは別に、安心して使い続けられるかどうかという基準で判断せざるを得なかった。


教訓

一番の反省点

ChatGPTが案内したサイト・リンクだからといって、それ自体を無条件に信用してしまったこと。AIは案内した先のサイトが安全かどうかを保証してくれるわけではなく、「AIが勧めた」という事実は安全の根拠にならない。最終的にリンク先やコマンドの中身を確認するかどうかの判断は、自分自身の目で行う必要がある

加えて、Macの操作自体にあまり慣れておらず、「ターミナル」がWindowsでいうコマンドプロンプトに相当する、システムに直接命令を出すツールだという認識が薄かったのも大きい。「知らないサイトの指示でターミナルにコマンドを貼って実行する」という行為が、実はかなり踏み込んだ操作だという危険性に、すぐには気づけなかった。使い慣れないOSだからこそ、見た目以上に強い操作をしている可能性があると意識しておく必要がある。

  • 公式サイトのリンクでも、クリック後に表示されるURLのドメインが変わっていないか、その場で確認する習慣を持つ
  • 「ターミナルにコピペして実行」という指示があるダウンロード手順は、有名ツールの導入手順として紹介されていても一呼吸置く。公式GitHubのReleasesなど、中身が見える配布経路を優先する
  • 見慣れない自動起動項目を見つけても、名前だけで判断せず、実行パスまで確認してから対応を決める(standard bash と偽装ファイルは名前だけでは区別できない)
  • マルウェア対策ソフトが「Threats found」と表示しても、即座に削除・隔離せず、まず検出名とパスを確認し、何が検出されたのかを把握してから対応する
  • Mac内部の技術的な調査で「異常なし」という結果が出ても、それだけで安全と断定せず、紐づく主要なオンラインアカウント(Google、SNSなど)のログイン履歴も数日単位で注視する
  • 証拠として因果関係を立証できなくても、気持ちよく使い続けられないと感じたら、初期化という選択肢を優先してよい。特に購入直後でデータ移行前のタイミングは、そのコストが一番低い

最後に

以上、新調したばかりのMacで僕が遭遇したセキュリティインシデントの話でした。

正直自分は「こんなものに引っかからない」なんて甘く考えていたものの、本当に何の気もなく、気付いたらしっかりフィッシュオン。経緯や注意点は本文に記載した通りですが、同じようにMacに乗り換えたばかりの人、AIに質問して作業するのが当たり前になってきている人など、このブログを読んでくださっている方、または検索で『YAAGL』を調べて行き着いた方などが同じような罠に引っかからないよう、注意喚起になればいいなと願っております。

ではでは、また。

コメント

タイトルとURLをコピーしました