Show HN:AnalystAIPack – マルウェア解析とリバースエンジニアリングのための118の実行可能なエージェントスキル
AnalystAIPack は、マルウェア解析、リバースエンジニアリング、脅威ハンティングのための118のスキルを備えたオープンソースのエージェントスキルライブラリです。汎用AIエージェントが実践的な知識不足から不正確なアドバイスをする問題に対処し、実際のアナリストのワークフローに沿った深さ重視の実行可能スクリプトを提供します。各スキルにはテスト済みのPythonスクリプト、安全設計(読み取り専用解析、無害化IOC)、およびMITRE ATT&CK、D3FEND、CARへのマッピングが含まれています。記事では、チェーンされたスキルを使用したトリアージから検出までのエンドツーエンドの例を示しています。
汎用AIエージェントに疑わしい実行可能ファイルを分析させると、自信に満ちた中身のない回答が返ってくることがよくあります。エージェントは「ファイルに悪意のあるものがないか確認してください」と喜んで提案したり、存在しないプラグインを勧めたり、実際に重要なステップを飛ばしたりします。モデルはマルウェア解析について多くの知識を持っていますが、欠けているのはアナリストの実務知識です。メモリイメージに対してどのVolatility 3プラグインを実行するか、パッカーの元のエントリポイントに到達する方法、回復したC2設定をSigmaルールに変換する方法、そして同様に重要なこととして、いつ結果を信頼すべきでないかという判断です。このギャップを埋めるために、私はAnalystAIPackを構築しました。これはオープンソースのApache-2.0ライセンスのライブラリで、マルウェア解析、リバースエンジニアリング、脅威ハンティングのための118のエージェントスキルを提供し、現在GitHubで公開されています。
AnalystAIPackは、agentskills.ioのSKILL.md形式で提供される、すぐに読み込み可能なスキルのライブラリであり、GitHub Copilot、Claude Code、Cursor、Codex CLI、Gemini CLI、または互換性のある任意のエージェントに直接組み込むことができます。これは意図的に深さ優先のアプローチを採用しており、広範で浅いカタログではなく、アナリストが実際に作業する方法にマッピングされた4つの緊密にスコープされたサブドメインをカバーしています。これらのサブドメインは、ラボ基盤(安全な取り扱い、ラボ設定、トリアージ、ハッシュ、ファイル識別、IOC形式、報告)、マルウェア解析(静的、動的、行動、メモリ分析;ドキュメントおよびスクリプトマルウェア;ファミリー)、リバースエンジニアリング(逆アセンブルと逆コンパイル、アンパック、難読化解除、アンチ分析対策、言語固有のRE)、脅威ハンティング(仮説駆動型ハント、エンドポイント、ネットワーク、アイデンティティテレメトリ、検出エンジニアリング)です。
このライブラリを単なるプロンプトのフォルダから際立たせる3つの特徴があります。第一に、すべてのスキルが実行可能であることです。118のスキルすべてにテスト済みのscripts/analyst.pyが付属しており、分析を説明するだけでなく実際に実行します。これらはPython標準ライブラリに依存し、オプションの依存関係が欠けている場合は優雅に機能を低下させ、リポジトリ全体のスモークテストハーネスとCIゲートによってカバーされています。ツールは実際に動作し、単に読みやすいだけではありません。第二に、設計上安全であることです。スクリプトは静的な読み取り専用分析を実行し、サンプルを決して実行しません。IOCは無害化された形式(hxxp://、1[.]2[.]3[.]4)で出力され、すべてのサンプル処理スキルには、隔離されたラボを前提とした明示的な「安全と取り扱い」セクションが含まれています。リポジトリには生きたマルウェアは含まれていません。第三に、防御側のフレームワークレンズを提供することです。スキルはMITRE ATT&CK、MITRE D3FEND、そしてハント用のMITRE CARにマッピングされています。これらのフレームワークは、コンプライアンスチェックリストよりもリバースエンジニアリング、マルウェア解析、脅威ハンティングに適しているため選択されました。このマッピングにより、エージェントはカバレッジを報告し、発見を検出エンジニアリングに組み込むことができます。各スキルは同じ本文契約に従い、「使用するタイミング」(明確な「使用しない場合」を含む)、ワークフロー、検証、落とし穴を提供するため、エージェントは常にテクニックの境界を認識し、盲目的に適用することを避けられます。
記事では、スキルを連鎖させることによるサンプルから検出までのエンドツーエンドの例を示しています。8つのスキルが連鎖し、未知のsuspicious.exeから持続可能な検出に至り、各スクリプトのJSONが次の入力となります。ステップは次のとおりです:未知ファイルのトリアージ、静的PE検査、エントロピーによるパッキングの検出、OEPへの手動アンパック、C2設定の回復、IOCの無害化とパッケージ化、トラフィック内でのIOCハンティング、Sigma検出ルールの作成。CLIから駆動され、機械的な手順は簡単です。例えば、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 などのコマンドを実行します。AnalystAIPackの目標は、汎用AIと専門アナリストの間の知識ギャップを埋め、エージェントが漠然としたアドバイスではなく実際に役立つ分析タスクを実行できるようにすることです。このライブラリはGitHubで公開されており、Apache-2.0ライセンスのもと、さまざまなエージェント環境に直接統合できます。