北からのジョブオファー: ソフトウェア開発者を狙う Contagious Interview | セキュリティ研究センターブログ By 竹内 寛 Published: 2025-02-05 · Archived: 2026-04-05 13:45:05 UTC はじめに LinkedInなどのソーシャル・ネットワーキング・サービスや人材マッチングプラットフォームでソフト ウェア開発者に好条件の求人を提示し、インタビューの中でマルウェア "BeaverTail"、"InvisibleFerret"に感染させて暗号資産やソースコードなどの開発関連ファイルを窃取する 攻撃キャンペーンが観測されています。その攻撃キャンペーンは"Contagious Interview"と呼ばれ、昨年 分析記事が公開されました [1] 。 Contagious Interviewは北朝鮮(DPRK)が関与していると考えられており、CrowdStrike社は攻撃グルー プを"Famous Chollima"と呼称し [2] 、その活動を追跡しています。Contaigious Interviewにより多大な被 害が発生した事案(US $72,000相当の暗号通貨を窃取。日本円で約1,000万円) [3]も発生しています。暗 号資産の窃取が目的の一つであるため、ブロックチェーン、Decentralized Finance (DeFi)などのWeb3 関連のソフトウェア開発者が特に狙われる傾向がみられます。 Contagious Interviewは現在でも続いており、BeaverTail、InvisibleFerretを改良し日本を含め世界各国の開 発者が狙われているのを観測しています。実際に日本国内でも感染事案を確認しています。 本記事ではContagious Interviewの最近の手口とBeaverTail、InvisileFerretの変更点について解説します。 最近の攻撃手口 攻撃者は企業のリクルーターを装い、ソフトウェア開発者にLinkedInで求人のメッセージを送ります。 実際に攻撃者から送られてきたメッセージも公開されています [4]。 そして技術インタビューに誘い、コードレビューのためにBitBucketからNode Package Manager (NPM) パッケージをダウンロードするよう依頼します。 このNPMパッケージを実行すると、パッケージの中に含まれているBeaverTailが実行されて、端末の情 報がアップロードされます。その後、攻撃のステージが進むにつれて、より多くのリモート操作・情 報窃取が可能となる第2ステージのInvisibleFerret、第3ステージのAnyDesk(正規のリモートアクセスツ ール)が実行されます。 https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 1 of 15 図1. 攻撃の流れ 最近のBeaverTailは、NPMパッケージだけでなく、Qtで開発された偽のビデオ会議アプリのインストー ラー[5]やElectronで開発されたアプリケーションの中に埋め込まれているものも観測しています。 Windows、Linux、macOSで動作するクロスプラットフォームアプリケーションを容易に開発すること ができるため、NPMパッケージに加えてQt、ElectronもBeaverTailの開発に使われたと考えています。 図2. BeaverTailが埋め込まれていたElectronアプリケーション https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 2 of 15 BeaverTail BeaverTailの目的は、感染機器の情報収集とInvisibleFerretを感染機器に設置することです。NPMパッケ ージの形態では、BeaverTailは、パッケージに含まれるjavascriptファイルの一つに難読化されたコード で埋め込まれています。 "chesshub" パッケージでは、routesディレクトリ配下にあるapi.jsにBeaverTailが埋め込まれていました。 図3. BeaverTailが埋め込まれているapi.js ファイルを開いた時に見つからないよう1行目のコメントの後ろに215個のスペースを入れた後に難読 化されたスクリプトが記述されています。 https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 3 of 15 図4. api.jsに埋め込まれているBeaverTail Electronで開発されたアプリケーションでは、Atom Shell Archive Format (ASAR) アーカイブのapp.asarフ ァイルに含まれているmain.jsにBeaverTailが埋め込まれていました。 図5. Electronアプリに埋め込まれているBeaverTail BeaverTailはホスト名などの感染機器の基本情報、OS、ブラウザで保有している認証情報やブラウザ拡 張機能としてインストールされている暗号資産ウォレット関連ファイルも窃取し、C2サーバへアップ ロードします。 https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 4 of 15 図6. BeaverTail 認証情報窃取処理 図7. BeaverTail 暗号資産ウォレット関連ファイル窃取処理 最近観測されたBeaverTailでは、窃取対象であるブラウザ拡張機能の暗号資産ウォレットの種類が9から 21に増え、攻撃者が暗号資産の窃取に強い関心があることを示しています。 No ブラウザ拡張機能ID 拡張機能名 ブラウザ 1 nkbihfbeogaeaoehlefnkodbefgpgknn MetaMask Wallet Chrome 2 ejbalbakoplchlghecdalmeeeajnimhm MetaMask Wallet Microsoft Edge 3 fhbohimaelbohpjbbldcngcnapndodjp BNB Chain Wallet Chrome 4 ibnejdfjmmkpcnlpebklmnkoeoihofec TronLink Wallet Chrome 5 bfnaelmomeimhlpmgjnjophhpkkoljpa Phantom Wallet Chrome 6 aeachknmefphepccionboohckonoeemg Coin98 Wallet Chrome https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 5 of 15 7 hifafgmccdpekplomjjkcfgodnhcellj Crypto.com Wallet Chrome 8 jblndlipeogpafnldhgmapagcccfchpi Kaikas Wallet Chrome 9 acmacodkjbdgmoleebolmdjonilkdbch Rabby Wallet Chrome 10 dlcobpjiigpikoobohmabehhmhfoodbb Argent X - Starknet wallet Chrome 11 mcohilncbfahbmgdjkbpemcciiolgcge OKX Wallet Chrome 12 agoakfejjabomempkjlepdflaleeobhb Core | Crypto Wallet Chrome 13 omaabbefbmiijedngplfjmnooppbclkk Tonkeeper - wallet for TON Chrome 14 aholpfdialjgjfhomihkjbmgjidlcdno Exodus Web3 Wallet Chrome 15 nphplpgoakhhjchkkhmiggakijnkhfnd TON Wallet Chrome 16 penjlddjkjgpnkllboccdgccekpkcbin OpenMask -TON wallet Chrome 17 lgmpcpglpngdoalbgeoldeajfclnhafa SafePal Extension Wallet Chrome 18 fldfpgipfncgndfolcbkdeeknbbbnhcc MyTonWallet Chrome 19 bhhhlbepdkbapadjdnnojkbgioiodbic Solflare Wallet Chrome 20 gjnckgkfmgmibbkoficdidcljeaaaheg Atomic Wallet Chrome 21 afbcbjpbpfadlkmhmclhkeeodmamcflc Math Wallet Chrome https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 6 of 15 感染機器の情報とウォレットの情報をアップロードした後にPythonで開発された2次ペイロードの InvisibleFerretのダウンローダをダウンロードします。InvisibleFerretはPythonスクリプトであるため、感 染機器のOSがWindowsである場合は、Pythonがインストールされていないケースを想定して InvisibleFerretが実行できるようPython実行ファイルとライブラリをダウンロードします。 ダウンロードURL) http[:]//:1224/pdown ダウンロードしたPython関連のファイルは、感染機器のユーザホームディレクトリに".pyp"ディレクト リを作成し、その中に保存します。 図8. BeaverTail ダウンロード処理 今年の10月に観測したBeaverTailは、ダウンロードしたInvisibleFerretのダウンローダを感染機器のユー ザホームディレクトリに".sysinfo"という名称で保存・実行します。 注意すべき点としてはBeaverTailが実行された時点でmacOSのキーチェーンデータベースファイル、ブ ラウザに保存されてた認証情報(ID、パスワード)、ブラウザ拡張機能ウォレットの秘密鍵が攻撃者 のサーバにアップロードされます。そのため、次のInivisbleFerretがエンドポイントセキュリティ製品に よってブロックされたとしても認証情報とウォレットの秘密鍵が盗まれた前提での対応が必要です。 https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 7 of 15 InvisibleFerret InvisibleFerretは、Pythonで開発されているマルウェアで、複数のPythonスクリプトで構成されていま す。 1. ダウンローダ 2. バックドア 3. ブラウザ情報を窃取するスティーラー 4. キーロガー 5. AnyDesk  ダウンローダとバックドア、キーロガーのコードは難読化されています。 昨年観測されたInvisibleFerretは、XOR -> base64で難読化されていましたが、今年10月に観測したもの は、zlib -> base64 -> 文字列の順序を逆順に並べ替える これを50回繰り返す難読化に変更されていまし た。 図9. 難読化されたコード https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 8 of 15 図10. 難読化を解除したコード 難読化を解除するスクリプトはGitHub上で公開しています。こちらでご確認下さい。  1. ダウンローダ (.sysinfo) ダウンローダは、感染機器のOSに応じてファイルをダウンロード・実行します。 最初に、バックドアをダウンロードし、感染機器のユーザホームディレクトリ内に作成された".n2"デ ィレクトリの中に"pay"という名前で保存・実行します。 感染機器がWindowsである場合、.n2ディレクトリ内にブラウザの情報窃取を行うスティーラーとキー ロガーをダウンロードし、それぞれ"bow"、"mlip"という名前で保存・実行します。 https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 9 of 15 図11. ダウンロードされたInvisibleFerret関連ファイル 図12. InvisibleFerret関連プロセスツリー 2. バックドア (pay) キーロギングとクリップボードデータの取得をし、8つの遠隔操作コマンドをサポートしています。 1 ssh_cmd 全てのpython.exeプロセスを終了 https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 10 of 15 2 ssh_obj コマンド実行 3 ssh_clip キーロギングとクリップボードデータをC2サーバーへ送信 4 ssh_run ブラウザ情報を窃取するスティラーをダウンロード・実行 5 ssh_upload C2サーバへファイルをアップロード 6 ssh_env C, D, E, F, Gドライブでnode_modulesなど 特定のディレクトリを除いた.envファイル一覧をC2サーバへアップロード 7 ssh_kill ChromeとBraveブラウザのプロセスを終了 8 ssh_any AnyDesk をダウンロード・実行 C2サーバのIPアドレスとポート番号は、スクリプトの中に定義されています。 図13. バックドア C2とポート番号 C2サーバとの通信は、TCPプロトコル上でJSON形式のデータでやりとりをします。 https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 11 of 15 図14. C2通信データ 3. ブラウザ クレデンシャルスティーラー (bow) Chrome、Brave、Opera、Yandex、Microsoft Edgeブラウザからログイン情報などを窃取し、C2サーバへ アップロードします。 https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 12 of 15 図15. bow 4. ブラウザ キーロガー (mlip) mlipは、昨年観測されたInvisibleFerretから新しく追加されたファイルです。感染機器上の全てのキー入 力を保存するのではなく、Chrome、Braveブラウザに入力したキー情報とペーストしたクリップボード データをC2サーバにアップロードします。 図16. mlip 5. AnyDesk (adc) 正規リモート操作ツールであるAnyDeskの設定ファイルを取得、攻撃者がリモートアクセスできるよう に設定を書き換えてAnyDeskの再起動を行います。Windows環境では、Anydeskが存在していない場合 は、C2サーバからダウンロードします。 https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 13 of 15 図17. AnyDesk 終わりに 本攻撃キャンペーンは、ソフトウェア開発者を標的としているため、企業の従業員が通常使用する Windows以外のmacOS、Linuxで実行可能なNPMやQt、Electronなどのクロスプラットフォームアプリケ ーション開発フレームワークでマルウェアを開発していることが特徴的です。これによりマルウェア が動作可能な攻撃対象領域を拡大させています。 NPMパッケージはサンドボックス製品で実行できない、NPMパッケージやElectronアプリケーション は、スクリプトの難読化手法の変更が容易であるなどの理由で、VirusToal上では検知率が高くない検体 も見受けられるためアンチウイルス製品などで検知されない可能性があることも考慮する必要があり ます。 BeaverTail、InvisibleFerretは、パーシステンス(機器再起動後に自動起動する設定)の作成はしないた め、感染させた後に迅速にできるかぎりの情報を窃取する手口であると考えています。  感染防止、暗号資産保護、被害拡大防止の3点の対策について考察します。 感染防止 ・会社から貸与されている機器を私用利用しない。 ・身元が明らかでない人物からのソフトウェアをダウンロード・実行しない、実機ではなく仮想マシ ン上での実行を検討する。 ・ビデオ会議ツールは、普段自身が使用しているものを使うようにする。 暗号資産保護 https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 14 of 15 ・暗号資産ウォレットの鍵を端末ではなくハードウェアウォレット(HWW)に保管することを検討す る。 ・秘密鍵を複数の鍵に分割し、分散保管するMulti-Party Computation(MPC)ウォレットを提供するサ ービスを利用することを検討する。 被害拡大防止 感染を防ぐために検討しなければ課題が複数あります。 ・SNSを介したメッセージのやり取り、ファイルの転送はメールとは異なり機器に到達する前の検知・ ブロックが難しく機器に到達する可能性が高い。 ・正規サービスであるGitHubやBitBucketからコードをダウンロードするため、通信での検出も難し い。 ・NPMパッケージのインストールする振る舞いを不審であると判断しづらい。 そのため、万が一InvisibleFerretが実行されたとしても迅速な検出・ブロックを実現するEDRのようなエ ンドポイントセキュリティ対策も重要になります。 また、国内では観測されていませんが、メールセキュリティ製品を回避するためにSkype, WeChatなど のインスタントメッセージング アプリケーション系由でマルウェアが配布されるのを中国語圏で多く 観測されています。海外拠点を持つ日本企業の方々もメール以外でのマルウェア配送に注視頂ければ と考えています。 Indicators of Compromise (侵入痕跡) GitHub上に公開しています。こちらでご確認ください。 参考情報 [1] Hacking Employers and Seeking Employment: Two Job-Related Campaigns Bear Hallmarks of North Korean Threat Actors [2] Famous Chollima [3] https://x.com/DaKingLawson/status/1843508343903801425 [4] https://x.com/DaKingLawson/status/1843508373951778977 [5] Contagious Interview: DPRK Threat Actors Lure Tech Industry Job Seekers to Install New Variants of BeaverTail and InvisibleFerret Malware Source: https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html https://security.macnica.co.jp/blog/2024/10/-contagious-interview.html Page 15 of 15