セキュリティ
Show HN: AnalystAIPack – マルウェア解析とリバースエンジニアリングのための118の実行可能なエージェントスキル
Show HN: AnalystAIPack – 118 runnable agent skills for malware analysis and RE (meltedinhex.com)
要約
AnalystAIPackは、マルウェア解析、リバースエンジニアリング、脅威ハンティングのための118の実行可能なエージェントスキルを提供するオープンソースライブラリです。従来のAIエージェントが苦手とする、アナリストの実践的な知識のギャップを埋めることを目的としており、GitHub Copilotなどの互換性のあるエージェントに直接組み込むことができます。各スキルはテスト済みのスクリプトを含み、静的で読み取り専用の解析を実行することで安全性を確保し、MITRE ATT&CKなどのフレームワークにマッピングされています。
全文翻訳
目次
AnalystAIPackとは
実例: サンプルから検出まで
使用方法
安全性に関する注意
試してみる
一般的なAIエージェントに不審な実行ファイルを分析するように依頼しても、自信ありげな、しかし曖昧な答えしか返ってきません。「ファイルに悪意のあるものがないか確認してください」と気軽に言ったり、存在しないプラグインを提案したり、実際に重要なステップをスキップしたりします。モデルはマルウェア分析について多くの知識を持っていますが、アナリストの実務知識が欠けています。例えば、メモリイメージに対してどのVolatility 3プラグインを実行すべきか、パッカーのオリジナルエントリーポイントに到達する方法、回復されたC2設定をSigmaルールに変換する方法、そして同様に重要なこととして、いつ結果を信頼しないか、といった知識です。
そのギャップを埋めるために私が構築したのがAnalystAIPackです。これは、マルウェア分析、リバースエンジニアリング、脅威ハンティングのための118のエージェントスキルを収めたオープンなApache-2.0ライブラリで、現在GitHubで公開されています。
AnalystAIPackとは
#AnalystAIPackは、agentskills.ioのSKILL.md形式で、すぐにロードできるスキルのライブラリです。そのため、GitHub Copilot、Claude Code、Cursor、Codex CLI、Gemini CLI、または互換性のある任意のエージェントに直接組み込むことができます。意図的に深掘り型で、すべてを浅く触れる広範なカタログではなく、アナリストが実際に作業する方法に合わせた、厳密にスコープされた4つのサブドメインをカバーしています。
ライブラリは、実際の分析ワークフローに基づいて構成された、厳密にスコープされた4つのサブドメイン、合計118の厳選されたスキルに分かれています。
サブドメイン
カバー範囲
lab-foundations
安全な取り扱い、ラボセットアップ、トリアージ、ハッシュ化、ファイルID、IOC形式、レポート作成
malware-analysis
静的、動的、行動、メモリ分析; ドキュメントとスクリプトマルウェア; ファミリー
reverse-engineering
逆アセンブリと逆コンパイル、アンパック、難読化解除、アンチ分析回避、言語固有のリバースエンジニアリング
threat-hunting
仮説主導のハント、エンドポイント、ネットワークおよびアイデンティティテレメトリ、検出エンジニアリング
AnalystAIPackが単なるプロンプトのフォルダと異なる3つの点があります。
すべてのスキルが実行可能です。118のすべてのスキルは、分析を実行するテスト済みのscripts/analyst.pyを同梱しており、単なる説明ではありません。Python標準ライブラリに依存し、オプションの依存関係が欠けている場合は gracefully degrade し、リポジトリ全体のスモークテストハーネスとCIゲートでカバーされています。ツールは実際に機能し、読みやすいだけではありません。
構造的に安全です。スクリプトは静的で読み取り専用の分析を実行し、サンプルを実行することはありません。IOCは無害化されて出力され(hxxp://, 1[.]2[.]3[.]4)、すべてのサンプル処理スキルには、隔離されたラボを前提とした明示的な「安全性と取り扱い」セクションが含まれています。このリポジトリにはライブマルウェアは同梱されていません。
防御側のフレームワークレンズ。スキルはMITRE ATT&CK、MITRE D3FEND、そしてハントにはMITRE CARにマッピングされます。これらは、リバースエンジニアリング、マルウェア分析、脅威ハンティングにコンプライアンスチェックリストよりもはるかに適しているため選択されました。このマッピングにより、エージェントはカバレッジを報告し、発見を検出エンジニアリングに組み込むことができます。
各スキルは同じ契約条件に従います。「使用時期」(明示的な「使用しない時期」を含む)、ワークフロー、検証、および落とし穴。これにより、エージェントはテクニックの境界を常に認識し、盲目的に適用することはありません。
各スキルは、厳密なSKILL.mdプロシージャと、テスト済みの読み取り専用analyst.pyをペアにしており、構造化された、無害化されたJSONを出力します。
実例: サンプルから検出まで
#深掘り型ライブラリの利点は、スキルが連鎖することです。各スキルは1つのステップであり、それらをつなぎ合わせることで完全なアナリストループをカバーします。不審な実行ファイルをエンドツーエンドでトリアージする例を次に示します。
8つのスキルを連鎖: 未知のsuspicious.exeから永続的な検出まで、各スクリプトのJSONが次のステップに供給されます。
#ステージ
スキル
1
未知のファイルをトリアージする
triaging-an-unknown-sample
2
静的PE検査
performing-static-pe-analysis
3
エントロピーによるパッキングの特定
measuring-section-entropy-to-detect-packing
4
OEPまでアンパックする
manually-unpacking-a-packed-binary
5
C2設定を回復する
extracting-cobalt-strike-beacon-config
6
IOCを無害化してパッケージ化する
defanging-and-sharing-iocs
7
トラフィック内でIOCをハントする
hunting-cobalt-strike-traffic
8
永続的な検出ルールを作成する
writing-sigma-detection-rules
CLIから駆動される、機械的な手順は以下のとおりです:
# 1. トリアージし、次に 5. ビーコン設定を回復する (読み取り専用、サンプルは実行しない)
python tools/analyst-pack.py run triaging-an-unknown-sample -- triage suspicious.exe
python tools/analyst-pack.py run extracting-cobalt-strike-beacon-config -- parse beacon.bin
# 7. プロキシ/Zeekログで回復されたインジケーターをハントし、8. Sigmaルールを出力する
python tools/analyst-pack.py run hunting-cobalt-strike-traffic -- hunt http.csv
各スクリプトは構造化された、無害化されたJSONを出力するため、あるステップの出力が次のステップ、レポート、またはSIEMに直接供給されます。調査は実際のものと同じように流れます。トリアージ、静的分析、アンパックとリバース、設定とIOCの抽出、無害化、テレメトリ全体のハント、そして検出ルールの作成。
使用方法
#ライブラリ全体は単一のフロントドア、analyst-pack CLIの背後にあります:
python tools/analyst-pack.py list --subdomain threat-hunting # スキルを閲覧する
python tools/analyst-pack.py search kerberos # 全文検索
python tools/analyst-pack.py show hunting-lolbin-abuse-on-windows
python tools/analyst-pack.py run identifying-cryptographic-routines-in-binaries -- scan a.bin
GitHub Copilotを使えばさらに簡単です。VS Codeでリポジトリを開くと、Copilot Chatがバンドルされているcopilot-instructions.mdを自動的に読み込み、スキルが存在することと安全な実行方法をすでに認識しています。エージェントモードでは、平易な言葉で尋ねるだけです:
「events.csvでLOLBin悪用をハントしてください」はhunting-lolbin-abuse-on-windowsに連鎖します
「この未知のファイルをトリアージし、IOCを抽出してください」はトリアージをIOC抽出に連鎖させます
または特定のスキルを指して、それに任せることもできます:
#file:skills/extracting-cobalt-strike-beacon-config/SKILL.md このスキルを使用してbeacon.binを分析してください
スクリプトはプレーンなPythonなので、既存のエージェント以外は何も必要ありません。ゼロから始めるには、リポジトリをクローンして、エージェントをそれに向けます:
git clone https://github.com/meltedinhex/analyst-ai-pack.git
cd analyst-ai-pack
AIエージェントはAGENTS.mdを最初に読むべきです。そこにはスキルを見つけ、実行し、安全に連鎖させる方法が説明されています。
安全性に関する注意
#これらのスキルは実際の悪意のあるコードのテクニックを記述しているため、安全性は後付けではなく、組み込まれています。サンプル処理スキルは、隔離された分析ラボを前提とし、安全な取り扱い、暗号化されたストレージ、IOCの無害化について文書化しています。スクリプトは静的で読み取り専用であり、このプロジェクトにはライブマルウェアサンプルは同梱されていません。目標は、エージェントにアナリストの判断力、つまり何をすべきでないかについての規律を含めて与えることです。
試してみる
#AnalystAIPackはApache-2.0の下でオープンソースであり、現在公開されています:
リポジトリ: github.com/meltedinhex/analyst-ai-pack
すべてのスキルを閲覧する: CATALOG.md
ATT&CKカバレッジ: mappings/
もしこれがあなたの時間を節約するなら、星を付けることは他の人がそれを見つけるのに役立ちます。しかし、あなたが最もできることは、実際のサンプルで試してみて、どこで問題が発生するかを教えてもらうことです。それがライブラリを改善するためのまさにフィードバックです。もしスキルが現場で遭遇したケースを見逃している場合は、イシューを開くかプルリクエストを送信してください。貢献ガイドには、執筆チェックリストとコンテンツが真に独自のものであることを維持するための独自性ルールが記載されています。
これは個人的な、独立したプロジェクトであり、個人的な立場で維持されており、いかなる雇用主とも提携または承認されていません。