- > この実習の目標は、悪性JavaScriptを「実行」することではなく、ネットワークが切断されたPodmanサンドボックスで静的分析を行い、LLMが作成した仮説をPCAP証拠で再検証することです。
Malware-Traffic-Analysis.netの2026年2月2日の資料は、正規ウェブサイトに挿入されたKongTuke JavaScriptが訪問者を識別し、偽のCAPTCHAに誘導した後、ClickFixを通じてMintsLoaderとGhostWeaver RAT感染に繋がった痕跡を含んでいます。
LAB-ONLY malicious JavaScript sample
WARNING: This archive contains the original KongTuke 1d2g.js. Do not open or execute it on Windows, in a browser, or with Node.js. Read README-SAFETY.md first and perform static analysis only in a disposable Podman container with –network=none and –read-only.
Sample SHA-256: fd78199a75a96c6475f7c95400be3bfc3b07651c7de9785a05c293292cdfba54
特にこの事例はLLM実習によく合います。難読化された1d2g.jsをLLMに与え、構造と意図を仮説として作成させた後、人間が元のコードと比較し、Wiresharkで実際のパケットを確認できるからです。受講生はコードを最初から直接作成するのではなく、この記事の段階的なプロンプトでLLMに分析手順と静的変換スクリプトを作成させます。

Podman隔離、LLM静的分析、PCAPクロス検証を一つの実習フローで表現したイメージ
実習する前に正すべき事実
公式ページは最終的なマルウェアを当初Async RATと判断しましたが、後にGhostWeaver RATに訂正しました。したがって、この記事の感染フローはKongTuke → ClickFix → MintsLoader → GhostWeaver RATと整理します。LLMが過去の情報や一つの手がかりに引きずられてAsync RATと答えた場合、その回答はむしろ「訂正事項を確認する必要がある理由」を示す実習資料となります。
この実習では、公式資料のうち次の2つのみを使用します。
| | | |
| — | — | — |
| 資料 | 用途 | 注意点 |
| 全体PCAP圧縮 | DNS・HTTP・TLS・ポート挙動検証 | PCAP内部に悪性コンテンツが含まれる可能性あり |
| HTTPS traffic leading to ClickFix page圧縮 | 1d2g.js, js.php応答静的分析 | ブラウザで開いたりJavaScriptを実行しない |
files from infection圧縮は実行ファイルを含むため、この実習ではダウンロードしません。Malware-Traffic-Analysis.netも、圧縮ファイルとPCAPに悪性サンプルが含まれる可能性があり、Windowsホストで取り扱う際に感染リスクがあると警告しています。
サンドボックスは「勧告」ではなく実習条件である
サンプルを扱う間、ホストのホームディレクトリ、SSHキー、ブラウザプロファイル、Podmanソケットをコンテナにマウントしてはいけません。入力ディレクトリは読み取り専用、結果ディレクトリのみ書き込み可能に分けます。実行中はネットワークを完全に切断し、ルートファイルシステムも読み取り専用にしておく必要があります。

図:LLMには静的テキストのみを渡し、最終的な判定は元のコードとパケット証拠を見た人間が行います。Podman run公式ドキュメントを基に再構成
Podmanの–network=noneはコンテナ用のネットワークネームスペースのみを作成し、インターフェースを構成せず、–read-onlyはコンテナのルートファイルシステムへの書き込みを禁止します。この2つの条件を省略した実習は行わない方が良いでしょう。
0段階:LLMに隔離実習室を作成させる
まず、公式事例ページから先に選定した2つの圧縮ファイルのみをkongtuke-lab/inputフォルダに保存します。圧縮ファイルをホストで解凍せず、次のプロンプトをLLMに入力します。
プロンプト0 — Podmanサンドボックス設計
`
あなたはマルウェア静的分析実習の料理人です。
現在のフォルダのinput/内にはMalware-Traffic-Analysis.net 2026-02-02
KongTuke事例のPCAP zipとHTTPS transcript zipのみがあります。
次の条件をすべて満たすContainerfileと実行コマンドを作成してください。
- Debian 12 slimベース
- p7zip-full, tshark, Python 3, python3-jsbeautifier, ripgrep, jqのみインストール
- イメージビルド時にはサンプルをマウントしないこと
- 分析実行は–network=none, –read-only, –read-only-tmpfs=falseを使用
- /tmpのみnoexec,nosuid,nodev tmpfsとして許可
- inputは/input:ro, outputは/output:rwに分離
- –cap-drop=all, –security-opt=no-new-privilegesを使用
- JavaScript, PowerShell, PEファイルは絶対に実行しないこと
- 圧縮解除はコンテナ内でのみ実行
- 解除前後のSHA-256とファイルリストを出力
コマンド実行前に各安全オプションが何を阻止するのかを一行ずつ説明してください。
`
LLMが作成した回答には、少なくとも次のパターンが含まれている必要があります。
`
podman run –rm
–network=none
–read-only –read-only-tmpfs=false
–tmpfs /tmp:rw,noexec,nosuid,nodev
–cap-drop=all
–security-opt=no-new-privileges
-v “$PWD/input:/input:ro”
-v “$PWD/output:/output:rw”
kongtuke-static-lab:2026.02 …
`
イメージを作成するpodman buildには、パッケージインストール用のネットワークが必要です。ただし、その段階ではサンプルをマウントしません。サンプルがマウントされる分析実行時のみネットワークを切断します。Apple Siliconでx86イメージ警告が出る場合は、podman build –platform linux/arm64 …でアーキテクチャを明示します。
全体実習フロー

図:紫色の段階はLLMが作成する仮説であり、緑色の段階はWireshark/tsharkの観測証拠です。KongTuke公式事例とMalware-Traffic-Analysis.net: 2026-02-02 KongTuke ClickFix activity
コメントを残す