NSA が開発した Ghidra

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 のセキュリティアドバイザリーを読んで、ご自身の環境への影響を確認してください。


インストール(公式プリビルトリリース)

  1. JDK 21 64‑bit をインストール

  2. リリースファイルをダウンロード – 公式マルチプラットフォームアーカイブは

    ghidra_<version>_<release>_<date>.zip
    という名前で「Assets」ドロップダウンにあります。
    「Source Code」と表示されているファイルはダウンロードしないでください。

  3. ZIP を新規ディレクトリに解凍(既存のインストールを上書きしないよう注意)。

  4. Ghidra を起動

    • Linux/macOS:
      ./ghidraRun
    • Windows:
      ghidraRun.bat
  5. (任意)PyGhidra を起動

    • Linux/macOS:
      ./support/pyGhidraRun
    • Windows:
      support\pyGhidraRun.bat

詳細情報とトラブルシューティングは、Ghidra インストールディレクトリ内の Getting Started ドキュメントをご覧ください。


ビルド(ソースから)

  1. 前提条件

    • 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
  2. ソースを取得

    # リポジトリをクローン
    git clone https://github.com/NationalSecurityAgency/ghidra.git
    cd ghidra
    
  3. ビルド依存関係をフェッチ

    gradle -I gradle/support/fetchDependencies.gradle
    
  4. 開発用ビルドを作成 – 圧縮されたビルドは

    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 を使用してください(強く推奨)。

  1. ソースをビルド(「Build」セクション参照)

  2. Eclipse IDE for Java Developers をインストール

  3. 環境を準備

    gradle prepdev eclipse buildNatives
    
  4. プロジェクトを Eclipse にインポート

    • File → Import… → General → Existing Projects into Workspace
    • クローンしたリポジトリのルートディレクトリを選択し、「Search for nested projects」にチェックして Finish。
  5. ビルド後、提供される Eclipse のラン構成で Ghidra を起動・デバッグします。

詳細な開発ガイダンスは Developer's Guide に記載されています。


コントリビュート

バグ修正や改善、新機能の追加に貢献したい方は、
Contributor’s Guide をご覧ください。オープンソースプロジェクトへの参加方法がまとめられています。

同じ日のほかのニュース

一覧に戻る →

2026/02/17 3:41

14歳のマイルズ・ウーは、重量の万倍を支えられる折り紙パターンを折りました。

## Japanese Translation: --- ### Summary 14歳のミレス・ウーは、ニューヨーク市にあるハンター・カレッジ高校(Hunter College High School)の9年生であり、彼がミウラ折り紙パターンについて行った研究で2025年 Thermo Fisher Scientific Junior Innovators Challenge の賞金25,000ドルのトップ賞を受賞しました。ウーは、コピー用紙、薄い厚手紙(light cardstock)、重い厚手紙(heavy cardstock)の3種類の紙を使用し、家族のリビングルームに設置した臨時実験室で **54 の異なるバリエーション**(108 回の試行)をテストしました。各折り紙は 64 平方インチで、ガードレールが 5 インチ間隔で配置されていました。初期重量推定は約50ポンドでしたが、最も強いパターンは **200 ポンド**まで耐え、正確な測定には 50 ポンドのエクササイズウエイトを必要としました。この結果、デザインは自身の重さの **10,000 倍以上** を支えることができること(ニューヨーク市のタクシーで4,000頭以上のゾウを運ぶに相当)を示しています。 この研究は、ハリケーンや山火事などの自然災害時に堅固で費用対効果が高く、簡単に展開できる **配備可能な緊急シェルター** を開発することを目的としています。ウーは、1枚または複数枚のミウラ折り紙シート(長方形/テント状構造)でアーチ型シェルターをプロトタイプ化し、横方向圧縮や多方向力に対する耐性を検証する計画です。 この業績はサイエンス協会の社長マヤ・アジャメラ(Maya Ajmera)によって注目されました。彼女はウーが生涯の折り紙趣味を厳密な構造工学へと変革したこと、創造性、リーダーシップ、チームワークを称賛しました。また、プリンストン大学のエンジニアグラウィオ・H・パウリーノ(Glaucio H. Paulino)は、設計をスケールアップするには非線形強度スケーリング、ジョイント設計、不完全性、ボッキング、多方向荷重抵抗の課題に対処する必要があると指摘しました。 ミウラ折り紙は日本の天体物理学者・宮浦耶(Koryo Miura)によって発明され、宇宙機関(例:日本のスペースフライヤー・ユニットや宇宙船のソーラーパネル)で使用されています。最近では、望遠鏡や衛星に適用できるブルームパターンも開発されています。ウーは6年前から紙折りを探求し、1960年代以降に拡張された折り紙の工学・医療・数学・建築への応用を知ったことで趣味から STEM 研究へとシフトしました。 Thermo Fisher Scientific Junior Innovators Challenge は1999年からサイエンス協会が主催する中学生向けの主要な全国STEM競技です。

2026/02/17 6:15

研究:自己生成型エージェントスキルは役に立たない (Note: This translation preserves the original meaning and maintains a natural, polite tone in Japanese.)

## Japanese Translation: 現在の要約は主要な発見とほぼすべての定量的詳細を捉えていますが、キュレーションされたスキルで影響を受けたタスク数を正確に追加し、著者数を修正することでさらに簡潔にできます。以下は若干改訂したバージョンです: > **要約:** > SkillsBench は 11 ドメインにわたる 86 タスクで大規模言語モデル(LLM)を評価し、「スキル」(事前定義された手順のステップ)がパフォーマンスに与える影響を測定するベンチマークです。キュレーションされたスキルが追加されると、平均合格率は「スキルなし」時より 16.2 pp 上昇します。効果は大きく異なり、ソフトウェアエンジニアリングでは +4.5 pp、ヘルスケアでは +51.9 pp に達します。実際に 84 タスクのうち 16 件がキュレーションされたスキルでマイナスの差分を示し、自身生成したスキルは全体として有益ではなく、モデルが消費する手順知識を信頼して作成できないことを示しています。わずか 2〜3 のスキルモジュールだけで完全なドキュメントよりも優れた性能を発揮し、これらのスキルを備えた小型モデルはそれらを持たない大型モデルと同等に競合できます。このベンチマークは 7,308 の対話軌跡で 7 つのエージェント–モデル構成をテストします。著者は複数機関からなる 38 人の研究者チームで、2026 年 2 月 13 日に公開され(ファイルサイズ 1,366 KB)、今後は最も効果的なスキルを選択してより効率的かつドメイン特化型 AI エージェントを構築する研究が進められることが示唆されています。

2026/02/17 5:34

Suicide Linux(2009)

## Japanese Translation: **改善された要約** この記事は、入力ミスしたコマンドを自動的に `rm -rf /` に書き換えてシステムを削除する「Suicide Linux」と呼ばれる皮肉な Linux ディストリビューションについて説明しています。Suicide Linux は、OS を使い続けられる時間を測るゲームや実験として提示されており、すべてのデータが失われるまでどれだけ長く使用できるかを試すものです。記事はその開発経緯を追っています:2011‑12‑26 の Debian パッケージとデモ動画、2015 年に自動修正機能がオプションであり標準の Linux 動作ではないことを明確化した説明、2017 年の Docker イメージ(`tiagoad/suicide-linux`)にソースコードが含まれていること、そして 2020 年に著者が自らそのパッケージを作成していないと認めたことです。記事は将来の改良点として、冗長な警告メッセージやランダムな単一ファイル削除などを追加し、実験を教育用途に安全にする提案も示しています。総じて、Suicide Linux は主に好奇心と学習ツールであり、システムの堅牢性をテストしたい開発者や「タイプミスアラート」スクリプトを作成したい人には有用ですが、一般的な Linux ディストリビューションに影響を与える可能性は低いと結論付けられています。

NSA が開発した Ghidra | そっか~ニュース