← Cyber Intelligence Review

THREAT BRIEFING · AI × STATE-SPONSORED MALWARE

LAMEHUG:LLM を積んだ初のマルウェア——ただし、実行時に作られていたのはコマンドであってプロンプトではない

CERT-UA による公表(2025年7月17日)と Cato CTRL の検体解析(2025年7月23日公開)を一次情報として、記述を1件ずつ照合した解説

1要点

ウクライナ政府職員を狙ったフィッシングで配られたマルウェアが、外部の LLM に問い合わせて実行コマンドを作らせていた。LLM を攻撃手法に直接組み込んだ、既知で初の事例として記録されている。

2025年7月10日
CERT-UA による発見(17日に公表)
APT28
帰属。ただし確信度は「中程度」
約270
認証に使われた Hugging Face トークン数
PoC
発表者自身による位置づけ
この記事の主題

「AI がマルウェアに組み込まれた」という見出しは強いが、一次情報を読むと制御の所在がはっきりする。プロンプトは人間が事前に書いて base64 で埋め込んだ静的な文字列であり、実行時に生成されているのは、そこから作られるコマンド列のほうである。そして生成されたコマンドは systeminfodsquery の連結——熟練者なら手で書ける水準だった。では LLM 統合は何をもたらしたのか。それを検証するのが本稿の目的である。

発表者の位置づけ

Cato CTRL は、これを「高度な実運用ではなく、APT28 が LLM の新機能を試している PoC」と評価している。根拠として、コードが比較的単純で APT28 に通常伴う高度な回避技術を欠くこと、AI サービスの利用を隠す試みがないこと、opsec が限定的であること、ウクライナが歴史的に試験場とされてきたこと、流出方法の異なる複数バリアントの存在——の5点を挙げている。

この記事の帰属と、時点の注意

事実関係・帰属・標的は CERT-UA、検体の解析(実際のプロンプト、認証トークン数、流出コード、PoC 評価、IoC)は Cato CTRL による。ただし CERT-UA の原文は本稿執筆時点で直接取得できておらず、該当箇所は Cato による引用と複数報道の一致で確認している。また本件は1年以上前の事案であり、その後 LLM が作戦全体を駆動する事例が報告されている。本稿は現在の到達点ではなく起点として読まれるべきものである。なお Cato の推奨対策節は、自社製品名を伴って提示されている。

2攻撃の流れ

省庁関係者を装ったメールに ZIP を添付し、中身は PyInstaller で固めた Python 実行ファイル。ここまでは従来型のフィッシングと変わらない。

① フィッシング 省庁関係者を装ったメール 送信元は侵害されたアカウント 添付「Додаток.pdf.zip」 ② 実行 PyInstaller 製の .pif / .exe 囮の PDF を表示させる、または 画像生成ツールを装う ③ 静的プロンプトを送信 base64 で埋め込まれた記述を Hugging Face API 経由で 約270個のトークンで認証 ④ LLM Qwen2.5-Coder -32B-Instruct コマンド列を返す ⑤ 受け取ったコマンドを即座に実行 検証も承認もなし。結果は %PROGRAMDATA%\info\info.txt へ追記 文書ファイルも同フォルダへ再帰的にコピー ⑥-a SFTP で流出(image.py 系) 144.126.202.227:22 へ。認証情報はコード内に平文 ユーザー名・パスワードとも同一の単純な文字列 ⑥-b HTTP POST で流出(Додаток.pif 系) 侵害されたホスティング資源上の PHP へ バリアント間で方式が異なる=実験の跡
図1:③〜④が本件の「新しい」部分。それ以外は従来型の情報窃取マルウェアと変わらない。画像生成ツールを装うバリアントは、露骨な性的描写を含む画像生成プロンプトを餌に使い、Flux AI の画像生成 API を呼びながら裏で同じ収集・流出処理を走らせていた。

3LLM は何を決めていたのか

「AI がマルウェアを動かした」という表現がどこまで当てはまるか。制御の所在を分解すると、LLM の担当範囲は思ったより狭い。

攻撃の段階 決めていたのは 何を盗むか(目的の設定) 人間(静的な記述としてマルウェアに埋め込み済み) どこを探すか(対象フォルダ) 人間(プロンプト内で Documents / Downloads / Desktop を名指し) それをどのコマンドで実現するか LLM ← ここだけ 実行するかどうかの判断 誰も判断していない(返ってきたものを無条件に実行) LLM が担っているのは「意図をコマンドに翻訳する」一段だけ。状況を見て方針を変える機能はない
図2:CERT-UA の記述も「静的に埋め込まれたテキスト(記述)に基づいてコマンドを生成する」となっている。プロンプトが実行時に作られるわけではない。

実際に使われていたプロンプト

Cato の解析により、base64 で難読化されていたプロンプトの中身が判明している。Додаток.pif バリアントは次の2つを使っていた(要約ではなく趣旨の訳)。

① システム情報の収集

C:\Programdata\info フォルダを作り、コンピュータ情報・ハードウェア情報・プロセスとサービスの情報・ネットワーク情報・AD ドメイン情報を収集して、それぞれの結果を info.txt に追記するコマンドのリストを、1行で実行できる形にせよ。コマンドのみを返せ。markdown は不要

② 文書の収集

「ユーザーの Documents・Downloads・Desktop フォルダから、各種の Office 文書と PDF/TXT を再帰的に c:\Programdata\info\ へコピーするコマンドのリストを、1行で実行できる形にせよ。コマンドのみを返せ。markdown は不要

読み取れること

この2つは、要件定義としてはかなり具体的である。フォルダ名も対象拡張子も収集項目も人間が指定しており、LLM に委ねられているのは「その要件を満たす Windows コマンドを書く」という作業にすぎない。「markdown は不要」という指示は、出力をそのまま実行に流すための整形指定である。

4生成されたコマンドを見る

CERT-UA が記録した、LLM が実際に返したコマンド列。判断の材料として、実物を見るのが早い。

cmd.exe /c "mkdir %PROGRAMDATA%\info
  && systeminfo >> %PROGRAMDATA%\info\info.txt
  && wmic computersystem get name,manufacturer,model >> ...
  && wmic cpu get name,speed >> ...
  && wmic memorychip get capacity,speed >> ...
  && wmic diskdrive get model,size >> ...
  && wmic nic get name,macaddress,ipaddress >> ...
  && tasklist >> ...
  && net start >> ...
  && ipconfig /all >> ...
  && whoami /user >> ...
  && whoami /groups >> ...
  && net config workstation >> ...
  && dsquery user -samid %username% >> ...
  && dsquery computer -name %COMPUTERNAME% >> ...
  && dsquery group >> ...   && dsquery ou >> ...
  && dsquery site >> ...    && dsquery subnet >> ...
  && dsquery server >> ...  && dsquery domain >> ..."

※ 冗長な出力先の繰り返しを ... で省略し、可読性のため改行を入れている。原文は1行。

率直な評価(編集部)

Windows 標準ツールの連結である。systeminfowmictasklistipconfigwhoamidsquery のいずれも古くから偵察に使われてきたもので、攻撃者が手で書ける水準を一歩も出ていない。網羅的ではあるが、それは網羅を求めるプロンプトを人間が書いたからである。LLM がここで発揮した能力は、要件を漏れなくコマンドに落とす作業の代行であって、新しい攻撃技術の考案ではない。

5では LLM 統合は何をもたらしたのか

攻撃能力が上がっていないなら、この設計の利点はどこにあるのか。検体の性質から2つに絞られる。

① バイナリ内に実行コマンドの平文がない

従来の情報窃取マルウェアは、実行するコマンドを文字列として内部に持つ。LAMEHUG が持っているのは base64 化された「やりたいことの記述」だけで、実際のコマンドは実行時に外部から届く。検体の静的解析でコマンド列が見えないという点で、解析と検知の手間が一段増える。

② 通信先が正規ドメインになる

コマンドの取得先が huggingface.co という広く使われている正規サービスである。宛先ドメインの評判や既知 C2 リストに依存する検知では、この通信は素通りする。従来の「怪しいドメインへの定期通信」というパターンに当てはまらない。

「シグネチャ検知は機能しない」は、そのままでは受け取れない

Cato は検知上の課題として「動的なコマンド生成のためシグネチャベース検知は機能しない」と述べている。方向としては理解できるが、同じ記事が固定のファイルハッシュ4件・固定の C2 ドメインと IP・そして静的な base64 プロンプト文字列を IoC として公開している。これらはいずれもシグネチャ化が可能な材料である。

正確に言い直すなら——実行されるコマンド文字列に依存した検知は当てにならない。一方で、埋め込まれたプロンプト・検体ハッシュ・通信先はシグネチャ化できる。 崩れたのは検知手法の一部であって、全部ではない。

当てにならなくなったもの ・実行コマンド文字列そのものへの一致 ・検体内の平文コマンドを前提とした静的解析 ・「怪しいドメインへの定期通信」という前提 = コマンドが実行時に外から来ること、通信先が   正規サービスであることに由来する 依然として有効なもの ・検体ハッシュ(4件が公開済み) ・埋め込まれた静的プロンプト文字列 ・流出先の IP・ドメイン・URL パス ・挙動(大量の wmic/dsquery、文書の一括コピー、   %PROGRAMDATA%\info\ への集約) = 目的が静的である以上、痕跡も静的になる
図3:プロンプトが静的であることは攻撃者にとっての弱点でもある。目的が固定されている限り、その目的を達成するための痕跡も固定される。

6影響と、確認されなかったこと

項目内容評価備考
収集された情報システム・ハードウェア・プロセスとサービス・ネットワーク構成、そして Active Directory 構造の網羅的な列挙後続の侵入に直結する内容
持ち出された文書Documents・Downloads・Desktop 配下の Office 文書と PDF/TXT を再帰的にコピー
標的ウクライナ政府職員国家支援型の作戦
使われた技術の高度さWindows 標準ツールの連結。PyInstaller 製の Python 実行ファイル回避技術をほぼ伴わない
LLM 統合の成熟度静的プロンプト → コマンド化のみ。状況に応じた方針変更はしない初期段階発表者自身が PoC と評価
認証基盤約270個の Hugging Face トークンを認証に使用入手経路は原文に記載がない
一次情報が明示的に限定している/触れていない事項
  • 帰属の確信度は「中程度」。 CERT-UA は APT28 との関連を断定していない
  • 発表者自身がこれを PoC と評価している。 高度な実運用ではないという整理
  • 約270個の Hugging Face トークンの入手経路は書かれていない。 窃取か大量取得かは不明
  • 被害規模・成功率は公表されていない。 何件の端末で実行されたかの記載はない
  • CERT-UA 原文を直接確認できていないため、CERT-UA 由来の記述は Cato の引用に依存している
位置づけの注意

本件は 2025年7月の事案であり、1年以上が経過している。その後、LLM が偵察から破壊まで作戦全体を駆動したとされる事例が報告されており、LAMEHUG はその系譜の最初期にあたる。「これが AI マルウェアの現在地」と読むと実態を見誤る。

7侵害指標(IoC)

Cato CTRL が公開したもの。実務での照合用に転記する。

種別
検体(MD5)abe531e9f1e642c47260fac40dc41f59(Додаток.pif)/3ca2eaf204611f3314d802c8b794ae2c(AI_generator_uncensored_Canvas_PRO_v0.9.exe)/f72c45b658911ad6f5202de55ba6ed5c(AI_image_generator_v0.95.exe)/81cd20319c8f0b2ce499f9253ce0a6a8(Image.py)
流出先144[.]126[.]202[.]227(SFTP)/stayathomeclasses[.]com(侵害されたホスティング資源)/https://stayathomeclasses[.]com/slpw/up[.]php
配布boroda70@meta[.]ua(侵害されたメールアカウント)/192[.]36[.]27[.]37(LeVPN 経由の送信基盤)
LLM APIrouter[.]huggingface[.]co/hyperbolic/v1/chat/completionsrouter[.]huggingface[.]co/nebius/v1/images/generations
ホスト側の痕跡%PROGRAMDATA%\info\(ステージング)/%PROGRAMDATA%\info\info.txt%PROGRAMDATA%\Додаток.pdf(囮文書)

※ LLM API の宛先は正規サービスであり、それ自体は侵害の証拠にならない。他の指標と組み合わせて評価する必要がある。

8示唆

※ 引用で示した箇所は発表者の見解、それ以外は編集部の解釈であり、一次情報に明記された結論ではありません。

「AI マルウェア」を能力の話と読まない

本件で LLM が担ったのは、人間が書いた要件をコマンドに翻訳する一段だけだった。脅威の評価軸は「AI を使っているか」ではなく「どの判断を機械に委ねているか」である。目的設定・標的選定・継続判断のどれかが機械側に移った時に、初めて質が変わる。

正規 AI サービスへの通信が C2 になりうる

これは製品を問わず一般化する論点である。組織の端末から huggingface.co や各種 LLM API への通信が発生することは、今や珍しくない。宛先の善悪で判断できなくなった以上、誰の端末からどのプロセスが AI API を呼んでいるかを把握できているかが問われる。

静的な目的は静的な痕跡を残す

プロンプトが固定されている限り、生成されるコマンドの意図も、ステージングフォルダも、収集ファイル名も固定される。コマンド文字列ではなく「振る舞いの形」で見る検知——短時間に多数の wmic/dsquery が走り、文書が1箇所に集約され、外部へ送出される——は本件に対して有効である。

約270個のトークンという数字(編集部)

認証に約270個の Hugging Face トークンが使われていた。入手経路は原文に書かれていないが、正規に取得したと考えるには多い。開発者の認証情報が漏れれば、それは攻撃インフラの部品になる——自社の CI やリポジトリに置かれた AI サービスのトークン管理は、この観点でも点検の対象になる。

経営層向けの要約(編集部)

国家支援型とされる攻撃者が、マルウェアから外部の LLM を呼んで実行コマンドを作らせた。ただし作らせていたのはありふれた偵察コマンドで、攻撃の腕前が上がったわけではない。発表者自身が実験段階と位置づけている。いま経営判断に効くのは「AI マルウェアが来る」という警告ではなく、正規の AI サービスへの通信が業務トラフィックと見分けがつかなくなったという事実のほうである。端末から外部 AI API への通信を、誰がどのアプリケーションから行っているか把握できているか——そこが実務上の分かれ目になる。