本文へスキップ
動画

北朝鮮の偽求人マルウェア:私のアンチウイルスが黙っていた 4 つの理由

偽の仕事のコーディングテストを 2 回実行し、XProtect もアンチウイルスも何の反応もしませんでした。53 秒の解説動画:自分で実行した、信頼されたツールを使っていた、新しかった、そして盗まれたセッションは 2 要素認証をすり抜ける。そのうえで対策:コードが初めて実行される前に、何をするのかを確かめる。

公開
読了時間
5 分
タグ
  • security
  • macos
  • explainer
目次
  1. 2 回とも、沈黙
  2. 1. 自分で実行した
  3. 2. 信頼されたツール
  4. 3. 新しいから、シグネチャがない
  5. 4. 盗まれたセッションは 2 要素認証をすり抜ける
  6. 専門家でもだまされる
  7. 対策
  8. 出典

要点: 私は Upwork の偽の仕事に 2 回やられ、アンチウイルスはどちらのときも何も言いませんでした。出典を見ると、アンチウイルスが反応する理由がなかったことについて 4 つの理由が挙がっています。私が自分でコードを実行したので Mac のチェックが脇にどいたこと。node、curl、bash のような信頼されたツールを使っていたこと。亜種が新しく、シグネチャが後から来たこと。そして盗まれたログインセッションは 2 要素認証をすり抜けられること。出典が指し示す対策は、あらゆるインストールをコードとして扱うこと、ターミナルのコマンドを実行させようとする人を警戒すること、そしてコードが初めて実行される前に何をするのかを確かめることです。

2 回とも、沈黙

これは私自身の話です。2 回の出来事は Upwork の偽案件 2 件と、感染した Mac 1 台:北朝鮮の Contagious Interview に遭った話 にまとめました。いちばん引っかかったのはこの点です:"neither macOS's built-in XProtect nor traditional antivirus made a sound, either time."(macOS 標準の XProtect も従来のアンチウイルスも、2 回とも何の反応もしなかった。)

だからといって、アンチウイルスが役に立たないわけではありません。以下の出典が言っているのは、遅れることがあり、回避されることがあるということで、価値がないということではありません。

1. 自分で実行した

Microsoft Threat Intelligence は、北朝鮮のアクター Sapphire Sleet による macOS を狙った攻撃キャンペーンについて、それが "that relies on social engineering rather than software vulnerabilities."(ソフトウェアの脆弱性ではなく、ソーシャルエンジニアリングに頼っている)と説明しています。

Microsoft の言葉では:"By persuading users to manually execute AppleScript or Terminal‑based commands, Sapphire Sleet shifts execution into a user‑initiated context, allowing the activity to proceed outside of macOS protections such as Transparency, Consent, and Control (TCC), Gatekeeper, quarantine enforcement, and notarization checks."(ユーザーを説得して AppleScript やターミナルのコマンドを手動で実行させることで、Sapphire Sleet は実行をユーザーが開始した文脈に移し、透明性・同意・制御(TCC)、Gatekeeper、隔離の強制、公証のチェックといった macOS の保護の外で活動を進められるようにしている。)

2. 信頼されたツール

ふたたび Microsoft:"This activity demonstrates how threat actors continue to rely on user interaction and trusted system utilities to bypass macOS platform security protections, rather than exploiting traditional software vulnerabilities."(この活動は、脅威アクターが従来のソフトウェアの脆弱性を突くのではなく、ユーザーの操作と信頼されたシステムユーティリティに頼って macOS プラットフォームのセキュリティ保護を回避し続けていることを示している。)

これは私が見たものと一致します:"These attacks come in new packaging every time and use the most ordinary tools there are, like node, curl and bash, so traditional antivirus has no reason to find them suspicious."(こうした攻撃は毎回新しい包装でやって来て、node、curl、bash のようなごくありふれたツールを使うので、従来のアンチウイルスには怪しいと判断する理由がない。)

3. 新しいから、シグネチャがない

キャンペーンが知られれば、シグネチャは確かに来ます。Microsoft はこう記しています:"Apple has also deployed XProtect signatures to detect and block the malware families associated with this campaign—macOS devices receive these signature updates automatically."(Apple もこのキャンペーンに関連するマルウェアファミリーを検出・ブロックする XProtect のシグネチャを配布しており、macOS デバイスはこのシグネチャ更新を自動的に受け取る。)

しかし、新しい亜種は見つかった時点では見逃されることがあります。SentinelOne は 2025 年初めに "newly discovered samples that we have labelled 'FlexibleFerret' and which remain undetected by XProtect at the time of writing."(新たに発見され、私たちが「FlexibleFerret」と名付けたサンプルで、執筆時点では XProtect に検出されていない)を報告しました。

パッケージを削除しても終わりません。Socket:"Since our July 14, 2025 update, we have identified and analyzed more than 338 malicious packages with over 50,000 cumulative downloads."(2025 年 7 月 14 日の更新以降、私たちは 338 を超える悪意あるパッケージを特定・分析しており、累計ダウンロード数は 50,000 を超える。)さらに:"We continue to see weekly upload bursts, rapid re-uploads after takedowns, and iterative changes to loaders and postinstall scripts."(毎週の集中的なアップロード、削除後の素早い再アップロード、ローダーや postinstall スクリプトの度重なる変更が、今も続いている。)

4. 盗まれたセッションは 2 要素認証をすり抜ける

Microsoft は 2022 年、フィッシングについてこう書いています:"Once the attacker obtains the session cookie, they can inject it into their browser to skip the authentication process, even if the target's MFA is enabled."(攻撃者はセッション Cookie を手に入れると、それを自分のブラウザに注入して認証の手続きを飛ばせる。標的が MFA を有効にしていてもだ。)

Bybit の件では、FBI によれば "North Korea was responsible for the theft of approximately $1.5 billion USD in virtual assets from cryptocurrency exchange, Bybit"(暗号資産取引所 Bybit から約 15 億ドル相当の仮想資産が盗まれた件は北朝鮮によるものだった)。The Hacker News が引用した Safe{Wallet} の説明では:"The attack involved the compromise of a Safe{Wallet} developer's laptop ('Developer1') and the hijacking of AWS session tokens to bypass multi-factor authentication ('MFA') controls."(攻撃では、Safe{Wallet} の開発者のノートパソコン(「Developer1」)が侵害され、多要素認証(「MFA」)の制御を回避するために AWS のセッショントークンが乗っ取られた。)

専門家でもだまされる

FBI:"Given the scale and persistence of this malicious activity, even those well versed in cybersecurity practices can be vulnerable to North Korea's determination to compromise networks connected to cryptocurrency assets."(この悪意ある活動の規模と執拗さを考えると、サイバーセキュリティに精通した人でさえ、暗号資産につながるネットワークを侵害しようとする北朝鮮の執念に対して無防備になりうる。)

対策

  1. コードが初めて実行される前に、何をするのかを確かめる。 名前ではなく中身を見る。これが、2 回の出来事から私が得た教訓です。
  2. あらゆるインストールはコードである。 Socket:"Treat every npm install as code execution and block risky behavior before it reaches developer machines or pipelines."(すべての npm install をコードの実行として扱い、危険な振る舞いが開発者のマシンやパイプラインに届く前にブロックする。)
  3. 知らない人のコマンドは決して貼り付けない。 Microsoft はこう助言しています:"Educate users about social engineering threats originating from social media and external platforms, particularly unsolicited outreach requesting software downloads, virtual meeting tool installations, or execution of terminal commands."(ソーシャルメディアや外部のプラットフォームから来るソーシャルエンジニアリングの脅威について、ユーザーを教育する。特に、ソフトウェアのダウンロード、オンライン会議ツールのインストール、ターミナルのコマンドの実行を求める一方的な連絡に注意する。)

2 回の出来事のあと、私は Tsuba をつくりました。発想は 1 つだけの無料 Mac アプリです:"before unfamiliar code runs for the first time, it takes a look for you."(見知らぬコードが初めて実行される前に、代わりにひと目確認する。)

出典

動画はコードでアニメーションを作り、台本は AI の手を借りて書きました。上の引用はすべて出典で確認しています。「脅威なし」の盾、脇に開くゲート、スキャナーとその X 線、シグネチャのタイムライン、セッション Cookie はイメージです。この記事が説明しているのはリスクと対策で、マルウェアの仕組みではありません。動画は英語です。制作には Shotloop を使いました。コードで解説動画をつくり、1 ショットずつ直せる、私の無料 Mac アプリです。

フォローする

つくったもの、実験、学んだことを随時シェアしています。

新しい動画は YouTube に、短いメモは X に。ここの記事はすべて両方にリンクしています。

YouTube