
2026/02/14 13:24
NSA が開発した Ghidra
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
## Summary Ghidraは、NSAが維持管理しているクロスプラットフォームの逆アセンブルフレームワークであり、Windows、macOS、およびLinuxに対応しています。包括的なディスアセンブリ、デコンパイル、グラフィング、スクリプティング機能を備えており、幅広いプロセッサ命令セットと実行ファイル形式をサポートし、Java/Python スクリプトによる対話型または自動実行が可能です。NSA は複雑な SRE タスクにおけるスケーリング、チームワーク、および拡張性の課題を解決するために Ghidra を開発しました;マルウェア解析やネットワーク/システム脆弱性の検出で広く利用されています。 **Installation:** 事前ビルドされたリリース(`ghidra_<version>_<release>_<date>.zip`)をダウンロードし、解凍後に `./ghidraRun`(または `pyGhidraRun`)を実行します。JDK 21(64‑bit)が必要です。 **Building from source:** JDK 21、Gradle 8.5+、Python 3.9–3.13(pip付き)、Linux/macOS では GCC/Clang + make、Windows では Visual Studio 2017+ と MSVC および Windows SDK が必要です。`gradle -I gradle/support/fetchDependencies.gradle` を実行し、その後ビルドして `build/dist/` に配布物を取得します。 **Extending Ghidra:** GhidraDev Eclipse プラグイン(`Extensions/Eclipse/GhidraDev/`)または Visual Studio Code を使用します。CodeBrowser ウィンドウから `Tools → Create VSCode Module project` で新規プロジェクトを作成できます。開発は主に Eclipse で行い、既存プロジェクトとしてソースをインポートし、提供されている実行構成を使ってデバッグします。 **Security:** 一部の Ghidra バージョンには既知の脆弱性が存在するため、使用前に公式の Security Advisories を確認してください。 **Contribution:** バグ修正・改善点・新機能はオープンソースプロジェクトへの Contributor's Guide に沿って提出できます。 この簡潔な概要は、元リストからすべての重要ポイントを把握しつつ、余計な推測を排した明瞭な表現になっています。
本文
Ghidra – ソフトウェアリバースエンジニアリングフレームワーク
Ghidraは、米国国家安全保障局(NSA)の研究部門が開発・保守しているソフトウェアリバースエンジニアリング(SRE)フレームワークです。
Windows、macOS、およびLinux上でコンパイル済みコードを解析できる、ディスアセンブル・アセンブル・デコンパイル・グラフィング・スクリプト化など、多彩な高機能ツールセットが含まれています。
概要
- 幅広いプロセッサ命令セットと実行形式をサポート
- ユーザー対話モードと自動化モードの両方で動作可能
- JavaまたはPythonでカスタム拡張やスクリプトを開発できる
Ghidraは、複雑なSREプロジェクトにおける規模拡大とチームワークの課題を解決し、柔軟かつ拡張可能な研究プラットフォームを提供するために設計されました。NSAでは、Ghidraの機能を活用して悪意あるコードを分析し、脆弱性の深層洞察を得ることで、アナリストが潜在的なリスクをよりよく理解できるよう支援しています。
米国市民でNSA向けにサイバーセキュリティツール開発に興味がある方は、ぜひ当社のキャリアに応募をご検討ください。
セキュリティ警告
注意: Ghidra の特定バージョンには既知の脆弱性があります。
進める前に、Ghidra のセキュリティアドバイザリーを読んで、ご自身の環境への影響を確認してください。
インストール(公式プリビルトリリース)
-
JDK 21 64‑bit をインストール
-
リリースファイルをダウンロード – 公式マルチプラットフォームアーカイブは
という名前で「Assets」ドロップダウンにあります。ghidra_<version>_<release>_<date>.zip
「Source Code」と表示されているファイルはダウンロードしないでください。 -
ZIP を新規ディレクトリに解凍(既存のインストールを上書きしないよう注意)。
-
Ghidra を起動
- Linux/macOS:
./ghidraRun - Windows:
ghidraRun.bat
- Linux/macOS:
-
(任意)PyGhidra を起動
- Linux/macOS:
./support/pyGhidraRun - Windows:
support\pyGhidraRun.bat
- Linux/macOS:
詳細情報とトラブルシューティングは、Ghidra インストールディレクトリ内の Getting Started ドキュメントをご覧ください。
ビルド(ソースから)
-
前提条件
- JDK 21 64‑bit
- Gradle 8.5+(またはインターネットに接続できる場合はラッパーを使用)
- Python 3.9–3.13(pip が同梱されているもの)
- GCC/Clang と make(Linux/macOS のみ)
- Microsoft Visual Studio 2017+ または C++ Build Tools(Windows のみ): MSVC、Windows SDK、C++ ATL
-
ソースを取得
# リポジトリをクローン git clone https://github.com/NationalSecurityAgency/ghidra.git cd ghidra -
ビルド依存関係をフェッチ
gradle -I gradle/support/fetchDependencies.gradle -
開発用ビルドを作成 – 圧縮されたビルドは
に配置されます。build/dist/
詳細手順は Developer's Guide を参照してください。
開発
ユーザー スクリプト & 拡張機能
Ghidra は以下の方法でカスタムスクリプトや拡張をサポートします:
- Eclipse GhidraDev プラグイン –
にあるリリース版、またはオンラインから入手Extensions/Eclipse/GhidraDev/ - Visual Studio Code – スクリプトマネージャ内の VS Code アイコンをクリックして編集
完全な機能を持つプロジェクトは CodeBrowser ウィンドウから作成可能です:
Tools → Create VSCode Module project
両統合とも、完全にビルドされた Ghidra インストール(リリースページからダウンロード可)が必要です。
高度な開発
Ghidra 自体を開発する場合は Eclipse を使用してください(強く推奨)。
-
ソースをビルド(「Build」セクション参照)
-
Eclipse IDE for Java Developers をインストール
-
環境を準備
gradle prepdev eclipse buildNatives -
プロジェクトを Eclipse にインポート
- File → Import… → General → Existing Projects into Workspace
- クローンしたリポジトリのルートディレクトリを選択し、「Search for nested projects」にチェックして Finish。
-
ビルド後、提供される Eclipse のラン構成で Ghidra を起動・デバッグします。
詳細な開発ガイダンスは Developer's Guide に記載されています。
コントリビュート
バグ修正や改善、新機能の追加に貢献したい方は、
Contributor’s Guide をご覧ください。オープンソースプロジェクトへの参加方法がまとめられています。