オープンソースプロジェクト
ainfosec/FISSURE avatar
ainfosec/FISSURE

FISSUREはSDR作業をHIPRFISRとTAKへ集約するRF枠

誰でも使える RF およびリバース エンジニアリング フレームワーク。フォローしてサポートを示してください!

スター 2,046フォーク 143PythonGPL-3.0

ひと目でわかる

これは何?
ainfosec/FISSUREは信号検出からファジングまでを一つのPython枠に載せる。対象は運用者と教室、境界はFracture製品とGPL-3.0。
誰に向いている?
FISSUREはGNU Radio 3.8か3.10とPyQt5を前提に、./installでfullやHIPRFISRを選べる運用者と、レッスンやFISSURE ChallengeでSDRを教える側に向く。検出率やSLAをREADMEの文言だけで決めたい組織、ATAKが完成済みだとして現場へ出す部隊には向かない。
商用利用できる?
条件付きでできます。GPL-3.0 はコピーレフトのライセンスで、これを含むソフトウェアを配布する場合、そのソフトウェアのソースコードを同じライセンスで公開する必要があります。配布せず社内で使うだけなら、この義務は生じません。
今もメンテナンスされている?
されています。最後のコミットは 2 日前です。
何の言語で書かれている?
主に Python です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

AISが運用現場と教室の両方にFISSUREを置く

Assured Information Security(AIS)が公開するainfosec/FISSUREは、README上の正式名称をFrequency Independent SDR-based Signal Understanding and Reverse Engineeringとする。リポジトリ説明はThe RF and reverse engineering framework for everyoneと短く、言語はPython、デフォルトブランチはPython3、ライセンスはGPL-3.0、取得時点のスターは2034、最終pushは2026-01-21と記録されている。

READMEが先に置く対象は二つある。運用側には信号検出、分類、プロトコル発見、ファジング、脆弱性分析、TAKへのリアルタイム接続を、教室と研究側にはSDRとリバースエンジニアリングの学習・実験・手法公開のための共有環境を、それぞれ同じ枠で渡すと書く。デスクトップ、ノート、シングルボード、堅牢化筐体、現場の分散ノードまで同じ手順で動かす、という主張はREADMEの意図表明であり、独立した性能比較は載っていない。

Dual-Use Relevanceの項は対象を四つに分ける。運用者は現場のRFを検出して位置を出し応答する、研究者はアルゴリズムとAI/MLの試験、教育者はSDR・DSP・RFセキュリティ・リアルタイム処理の授業、学生とホビイストは準備コストを抑えてSDR手順を触る、とある。誰向けかをFISSUREのREADME自身が書いているので、対象読者はこの四つから外さない方が早い。

検出からIQ再生までREADMEが並べる作業

Key Capabilitiesは箇条書きで、RF信号の検出・分類・分析、IQデータの収集・再生・操作、プロトコル発見と独自パケット作成、ファジングと脆弱性試験、信号の保管と試験用プレイリスト、分散センサーノードの調整、RF放射源の位置推定、TAKへのアラート・目標・成果物の投入、AI/MLによる手順自動化、を列挙する。別表には信号検出器、IQ操作、信号検索、パターン認識、攻撃、ファジング、プレイリスト、画像ギャラリー、パケット生成、Scapy、CRC計算機、ログ、データセット構築、オンライン保管、第三者ツール、ダークテーマと独自テーマが並ぶ。完成度や対応機種の限定は、この一覧の隣には書かれていない。

導入形態は四つに固定されている。可視化と試作向けのデスクトップGUI、遠隔センシングと自律運用向けのヘッドレスノード、繰り返し導入向けのコンテナ、任務画面向けのTAK接続である。ヘッドレス側の中核はHIPRFISRと呼ばれ、起動コマンドはfissure-hiprfisr、リモート側はfissure-sensor-nodeである。ダッシュボードはfissureコマンドで、READMEはsudoを使わず端末から起動すると明記する。

ノード数の上限は、ローカル1台とリモート最大4台、あるいはリモート5台、と書かれている。上限の根拠も、将来の拡張予定も、README本文にはない。証明書はクライアントとサーバーで一致させる必要があり、設定ファイルはYAML/Sensor_Node_Config/default.yaml、触るキーはnickname、hiprfisr_ip_address、hardwareである。ここを空のままGUIだけ起動しても、分散ノードとしては繋がらない。

Fracture製品とWinTAK経路をFISSURE本体から分ける

Fractureは、オープンソースのFISSUREの上にAISが載せた展開可能な戦術RFシステムだとREADMEは書く。FISSURE側が担うのはRFセンシング、信号分析、プロトコル実験、TAK接続、分散ノード調整、プラグイン開発のソフトウェア環境である。Fracture側は固定サイト、車両、マンパック、小型UAV、固定翼といった筐体構成と、分散センシング、位置推定、RF効果、電子戦手順、WinTAKおよびATAKからの操作に踏み込む。中央ハブがエッジノードをIP網と長距離RFで束ねる、という説明もFracture節に属する。

TAK接続は本文の随所に出る。WinTAKはノード管理、アラート、目標、検出、成果物、プラグイン選択、アクション実行、分散センサー操作を扱うとされ、ATAK側は開発中と明記されている。ローカルTAKサーバーはtak.govのDockerアーカイブを使い、インストーラーでTAK Server項目を実行し、YAMLのユーザー設定でconnect_modeを編集し、FISSUREのエフェクトでTAKアラートを出す、という段取りまで書かれている。最後のステップの具体例は近日公開のままである。

白書は9本ある。概要、Counter-UAS、UASペイロード、海事、車両、境界防御、TAKとモバイル、教育、技術詳細とアーキテクチャ。動画はOperational Overviewとスライド概要、YouTubeプレイリストへのリンクがある。Northern Strike 2025でドローン搭載を示した、というブログ見出しはREADME末尾に残るが、URLが材料取得時に途中で切れており、本稿ではその記事の中身を事実として使わない。

Python3ブランチと./installが分岐する導入

READMEが推奨する追跡先はGitHub ReleasesではなくPython3ブランチである。理由は、リリースが保管用スナップショットで開発から遅れうる、と書いてある点にある。Python3ブランチはPyQt5とGNU Radio 3.8および3.10を対象にする。Python2_maint-3.7は非推奨で、GNU Radio 3.7や古いOSを要求する第三者ツールのためだけに残している。取得時点の最新リリースタグはPython3_20260121、その前は1.0.2-Python3_maint-3.8と1.0.2-Python3_maint-3.10(いずれも2024-07-30)である。

導入の入口はリポジトリをcloneしたあとの./installである。インストーラーはPyQt依存を確認し、OSとモードを尋ねる。モード名はfull、base、Dashboard、HIPRFISR、SensorNode、custom。全部入りが欲しいならfull、ハブだけならHIPRFISR、センサーだけならSensorNode、という切り方になる。Apptainer対応は新しい機能としてUbuntu 24.04向けに説明され、事前構築コンテナとISOは計画中とある。計画中を入手済みイメージと読んではいけない。

対話型ロードマップは毎年7月更新とされ、URLはhttps://ainfosec.github.io/FISSURE/Roadmap/である。優先事項はプラグインとアクションをDashboard・WinTAK・ATAK・センサーへ展開すること、TAK操作と目標管理、インストーラーとApptainer、戦術ノードとStarlinkやメッシュを含む通信経路、位置推定と方向探知と電子支援である。期限も担当者も、この箇条書きには付いていない。

USRPからRSPdxまで統合度が揃わない機器表

対応機器の前置きは「統合の度合いはさまざま」である。列挙はUSRP X3xx、B2xx、B20xmini、USRP2、N2xx、X410、HackRF、RTL2832U、802.11アダプター、LimeSDR、bladeRFとbladeRF 2.0 micro、Open Sniffer、PlutoSDR、SDRplay RSPduo、RSPdx、RSPdx R2。機種ごとの対応機能、サンプリング上限、未対応項目は表にない。HackRFでIQ再生まで行くのか、RTL2832Uは受信専用なのか、READMEのこの段だけでは決まらない。買う前に、自分の機種名がこのリストにあることと、./install後にhardwareキーへその名前を書けること、の二点だけが文書上の手がかりになる。

学習用レッスンは14本ある。OpenBTS、Luaディセクタ、SoX、ESPボード、ラジオゾンデ追跡、RFID、データ型、独自GNU Radioブロック、TPMS、アマチュア無線試験、Wi-Fiツール、ブータブルUSB、Z-Wave、シーリングファン。FISSURE ChallengeはRFリバースエンジニアリングの練習用CTFとして継続開催とされ、コミュニティからの課題投稿を求めている。授業で使うなら、FISSUREレッスン名とFISSURE Challengeの開催状況をリポジトリ側で見る作業が先で、第三者機関による評価結果はREADMEにない。

商用サポートはAISが提供しうると触れているが、応答時間も対象範囲も書かれていない。セキュリティ監査、検出率、誤警報率、連続稼働時間も本文に無い。スター数2034とオープンissue 8件はGitHubメタデータであり、READMEの能力表を裏書きする数字ではない。

GPL-3.0が改変配布に残す義務と無保証

ライセンスはリポジトリメタデータもREADMEもGPL-3.0である。複製、配布、改変は認められる。その代わり、受け取った相手にも同じ自由とソースコードへの到達手段を渡す義務があり、無保証であり、改変版には改変した旨を表示する。FISSUREを社内の閉じた解析端末だけで動かす分には、配布が発生しない限りコピーレフトは動きにくい。改変したFISSUREを顧客へバイナリ配布する、Fracture相当の筐体に載せて外へ出す、という使い方では、ソース提供と改変表示が条件になる。

プラグインとTAK側のプロプライエタリ部品を同じプロセス空間でどう繋ぐかは、READMEが法務判断を書いていない。WinTAKからアクションを蹴る構成を組むなら、GPL-3.0の派生物該当を法務が読む作業が残る。LICENSEファイルそのものと、プラグイン枠の境界をコードで確認する必要があり、READMEの一文では足りない。

確認手順はプロジェクト固有である。Python3ブランチを固定し、./installでDashboardかHIPRFISRを選び、fissureをsudoなしで起動できるか見る。センサーを足すならYAML/Sensor_Node_Config/default.yamlのnicknameとhiprfisr_ip_addressとhardwareを実機に合わせ、fissure-sensor-nodeがハブへ参加するか見る。TAKを試すならconnect_modeをYAMLで変え、WinTAK側にノードが見えるか見る。ATAKは開発中と書いてあるので、完成品として数えない。READMEに無い検出率やSLAは、この手順の結果にも現れない。

編集部の結論

FISSUREはGNU Radio 3.8か3.10とPyQt5を前提に、./installでfullやHIPRFISRを選べる運用者と、レッスンやFISSURE ChallengeでSDRを教える側に向く。検出率やSLAをREADMEの文言だけで決めたい組織、ATAKが完成済みだとして現場へ出す部隊には向かない。最初に確認するのはPython3ブランチをcloneしたあと./installがOSとモードを聞いてくること、fissureをsudoなしで起動できること、YAML/Sensor_Node_Config/default.yamlのhiprfisr_ip_addressが実機と一致すること。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート