# FISSURE **Repository Path**: mirrors_trending/FISSURE ## Basic Information - **Project Name**: FISSURE - **Description**: The RF and reverse engineering framework for everyone. Follow and ★ to show your support! - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: Python3 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-30 - **Last Updated**: 2026-10-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FISSURE - The RF Framework **Frequency Independent SDR-based Signal Understanding and Reverse Engineering** ## Overview
FISSURE GRCon26 Conference Talk
GRCon26 Conference Talk
FISSURE Tactical Workflow Demo
Tactical Workflow Demo
GRCon26 Presentation Slides
GRCon26 Presentation Slides
## Introduction FISSURE is an **open-source framework for RF analysis, automation, and distributed operations**. It connects SDR hardware, signal processing, Sensor Nodes, geolocation, protocol analysis, targeting, and situational awareness within a single extensible environment. FISSURE can run as a standalone workstation or scale across distributed Sensor Nodes connected over IP networks. GNU Radio and other tools provide the underlying RF processing, while FISSURE coordinates hardware, data, context, plugins, Actions, and operator workflows across local and remote systems. The framework is designed for experimentation, research, education, capability development, and operational integration without locking users to a single protocol, sensor, platform, or use case.

FISSURE distributed architecture

## Workflow Overview FISSURE organizes RF workflows around connected workspaces that share Sensor Nodes, SOIs, Targets, Detections, Artifacts, Findings, and plugin Actions. - **Tactical:** Monitor distributed Sensor Nodes, detections, SOIs, Targets, geolocation results, and other RF activity on a shared operational map. - **Signal Analysis:** Move from survey and detection through capture, inspection, conditioning, feature extraction, classification, and protocol discovery. - **Targets & Actions:** Manage Targets and execute reusable plugin Actions through focused, sequential, fuzzing, and packet-crafting workflows. - **Sensor Nodes:** Configure local and remote nodes, manage hardware, transfer files, automate startup behavior, and monitor node status. - **Library:** Maintain reusable protocol information, packet definitions, archived signals, replay content, datasets, and RF reference material. - **Plugins & Actions:** Add, deploy, and execute capabilities across supported nodes and interfaces without modifying the FISSURE core.

FISSURE signal analysis workflow

## Core Information Model FISSURE connects workflows through a shared information model rather than treating each tool or tab as an isolated function. SOIs anchor signal analysis, Targets anchor operational context, Detections capture sensor observations, Artifacts and Findings preserve data and results, and Alerts and Action Recommendations surface information that may require attention or follow-on action.

FISSURE core information model

## Key Capabilities - Detect, classify, capture, and analyze RF signals - Record, inspect, replay, and manipulate IQ data - Discover protocols, build packets, and perform RF/cyber experimentation - Execute fuzzing, vulnerability analysis, and reusable test workflows - Coordinate local and distributed Sensor Nodes, SDRs, sensors, and tools - Geolocate emitters and maintain persistent Targets, detections, and observations - Share RF-derived awareness, alerts, artifacts, and target information through TAK - Extend capabilities through deployable plugins, Actions, and reusable Operations - Automate multi-step workflows across local and remote systems - Integrate custom analysis, external tools, and emerging AI/ML capabilities

FISSURE Tactical Dashboard
FISSURE Tactical view connecting distributed Sensor Nodes, detections, SOIs, Targets, and operational context.

## FISSURE and Fracture Fracture is AIS's deployable tactical RF system built on the open-source FISSURE framework. FISSURE provides the software foundation for RF sensing, signal analysis, distributed Sensor Nodes, geolocation, TAK integration, automation, and plugin-based capability development. Fracture packages that foundation into purpose-built hardware and software configurations designed for operational deployment. Fracture combines SDRs, compute, networking, plugins, and mission-specific integrations around fixed-site, vehicle, manpack, sUAS, and other distributed deployments while preserving the flexibility and extensibility of FISSURE.

### Fracture System Architecture

## Deployment Options FISSURE supports multiple deployment models depending on the intended workflow and operating environment: - **Standalone Workstation:** Run the Dashboard, HIPRFISR, and a local Sensor Node on a single system for development, analysis, and experimentation. - **Distributed Sensor Nodes:** Run RF and plugin capabilities on remote systems while coordinating tasking, results, and data through a central hub. - **Headless Hub:** Run HIPRFISR and supporting services without the Dashboard for remote operations, TAK integration, and distributed deployments. - **Containerized Deployment:** Use Apptainer to build repeatable Dashboard, HIPRFISR, Sensor Node, Base, Full, or custom environments. - **TAK-Integrated Operations:** Share targets, detections, alerts, geolocation results, artifacts, and other operational information through ATAK, WinTAK, and TAK Server.

FISSURE deployment options

## What's New ![NEW](https://img.shields.io/badge/NEW-Feature-brightgreen) **Connected Signal Analysis Workflows:** FISSURE now connects survey, detection, capture, inspection, conditioning, feature extraction, classification, and protocol discovery through SOI-centered workflows with associated Artifacts and Findings. ![NEW](https://img.shields.io/badge/NEW-Feature-brightgreen) **Tactical View & Target Awareness:** The Dashboard now provides an operator-focused Tactical view for Sensor Nodes, detections, SOIs, Targets, geolocation results, and other RF activity on a shared map. ![NEW](https://img.shields.io/badge/NEW-Feature-brightgreen) **Plugin & Action Architecture:** Capabilities can be packaged as plugins and exposed through reusable Actions and Operations for local or remote execution without modifying the FISSURE core. ![NEW](https://img.shields.io/badge/NEW-Feature-brightgreen) **Distributed Geolocation:** Multi-node workflows support coordinated RF observations, target tracking, geolocation, and persistent operational context across distributed Sensor Nodes. ![NEW](https://img.shields.io/badge/NEW-Feature-brightgreen) **TAK Integration:** FISSURE supports sharing Sensor Nodes, Targets, detections, geolocation results, alerts, tracks, artifacts, and other RF-derived information through TAK workflows. ![NEW](https://img.shields.io/badge/NEW-Feature-brightgreen) **Remote RF Workflows:** GNU Radio and other graphical capabilities can run on remote Sensor Nodes while their interfaces are streamed back to the operator through Xpra. ![NEW](https://img.shields.io/badge/NEW-Deployment-brightgreen) **Apptainer Deployment:** Role-specific Apptainer environments support repeatable Dashboard, HIPRFISR, Sensor Node, Base, Full, and custom deployments. ## Who FISSURE Is For - **Operators:** Monitor, analyze, geolocate, and respond to RF activity across local and distributed systems. - **Researchers:** Develop and evaluate new RF, cyber, automation, AI/ML, and signal-processing techniques. - **Educators:** Teach SDR, DSP, wireless security, protocol analysis, reverse engineering, and distributed systems. - **Students and Hobbyists:** Explore real RF workflows using accessible hardware, open tools, and reusable examples. ## Roadmap FISSURE continues to evolve through operational testing, research, customer needs, and community feedback. - [View Interactive Roadmap](https://ainfosec.github.io/FISSURE/Roadmap/) ### Current Priorities - **End-to-End Workflows:** Connect discovery, signal analysis, targeting, actions, artifacts, findings, and sharing into clearer repeatable workflows. - **Plugins, Actions & Operations:** Expand the plugin ecosystem across protocols, hardware, sensors, analysis, automation, and third-party integrations. - **Distributed Deployment & Packaging:** Improve installer reliability, Apptainer support, role-specific deployments, remote Sensor Nodes, and repeatable system configuration. - **Geolocation, Targets & TAK:** Continue improving multi-node geolocation, target awareness, operator workflows, mapping, and ATAK/WinTAK integration. - **Automation, Provenance & AI/ML:** Strengthen traceable execution, structured context, workflow automation, and interfaces between RF data and emerging AI/ML capabilities. ## Resources & Publications ### Videos - [FISSURE Development YouTube Channel](https://www.youtube.com/@FissureRF) - [FISSURE Video Playlist (AIS)](https://www.youtube.com/playlist?list=PLs4a-ctXntfjpmc_hrvI0ngj4ZOe_5xm_) - [FISSURE Operational Overview](https://youtu.be/vUJakWBVnwY) - [FISSURE Overview (Slides)](https://youtu.be/Xgc8u7hLBfk) - [AIS YouTube Channel](https://www.youtube.com/@assuredinformationsecurity/featured) ### White Papers FISSURE is supported by a series of white papers covering technical architecture, operational use cases, deployment models, and integration topics. 1. [FISSURE Overview](/docs/White_Papers/FISSURE_Overview.pdf) 2. [FISSURE for Counter-UAS](/docs/White_Papers/FISSURE_CUAS.pdf) 3. [FISSURE for UAS Payloads & Aerial Operations](/docs/White_Papers/FISSURE_UAS_Payload_Aerial_Ops.pdf) 4. [FISSURE for Maritime](/docs/White_Papers/FISSURE_Maritime.pdf) 5. [FISSURE for Vehicle & Mobility Systems](/docs/White_Papers/FISSURE_Vehicle_Mobility_Systems.pdf) 6. [FISSURE for Perimeter & Infrastructure Defense](/docs/White_Papers/FISSURE_Perimeter_Infrastructure_Defense.pdf) 7. [FISSURE for TAK & Mobile](/docs/White_Papers/FISSURE_TAK_Mobile_Integration.pdf) 8. [FISSURE for Training & Education](/docs/White_Papers/FISSURE_Training_Education.pdf) 9. [FISSURE Technical Details & Architecture](/docs/White_Papers/FISSURE_Technical_Details_Architecture.pdf) ### Blog Posts AIS has published several articles covering FISSURE development, demonstrations, and operational use cases: - [Demonstrating FISSURE as a Drone Payload at Northern Strike 2025](https://www.ainfosec.com/fissure-demo-at-northern-strike) - [A Recap of My DEF CON 2024 Presentation on FISSURE Updates](https://www.ainfosec.com/a-recap-of-my-def-con-2024-presentation-on-fissure-updates) - [FISSURE: Navigating the Open-Source Realm](https://www.ainfosec.com/fissure-navigating-the-open-source-realm) - [FISSURE: The RF Framework for Everyone](https://www.ainfosec.com/fissure-the-rf-framework-for-everyone) [See all AIS blog posts](https://www.ainfosec.com/blog/) ### Upcoming and Recent Events ![Conference](https://img.shields.io/badge/Event-Conference-darkgray) **September 21-24, 2026**: GNU Radio Conference 2026 - Raleigh, NC [FISSURE: Tactical RF Operations and Situational Awareness with GNU Radio](https://events.gnuradio.org/event/28/contributions/859/) - Presentation slides and workflow demonstration video available on the conference page. ![Exhibition](https://img.shields.io/badge/Event-Exhibition-darkgray) **May 5-8, 2025**: SOF Week - Assured Information Security, Inc. (AIS) booth ![Conference](https://img.shields.io/badge/Event-Conference-darkgray) **September 17, 2024**: GNU Radio Conference 2024 - [Description/Slides](https://events.gnuradio.org/event/24/contributions/649/), [Live Recording](https://youtu.be/5UYhUi8SiK4?t=27282) ![Conference](https://img.shields.io/badge/Event-Conference-darkgray) **August 10, 2024**: DEF CON 32 - RF Village - [Prerecorded Video](https://www.youtube.com/watch?v=5nYiVR-PsOc), [Live Recording](https://www.youtube.com/watch?app=desktop&v=mhbJHOGrCik) ### Additional Resources - [FISSURE Info Sheet](https://www.ainfosec.com/wp-content/uploads/2023/04/AIS-FISSURE.pdf) - [AIS FISSURE Page](https://www.ainfosec.com/technologies/fissure/) ## Documentation

User Manual Installation Hardware Components Operation Development About and Credits

- [FISSURE Documentation](https://fissure.readthedocs.io/en/latest/) ## Hardware FISSURE has integrated with a wide range of SDRs, wireless adapters, and protocol-specific RF hardware over the life of the project. Hardware support is currently being migrated into the new plugin architecture, so not every legacy integration is available through every current workflow or deployment mode yet. Existing and previously integrated hardware includes: ### Software Defined Radios - USRP X3xx, B2xx, B20xmini, USRP2, N2xx, X410 - HackRF - RTL2832U - LimeSDR - bladeRF and bladeRF 2.0 micro - PlutoSDR - SDRplay RSPduo, RSPdx, RSPdx R2 ### Wireless Adapters - 802.11 adapters used for monitoring, discovery, injection, and other Wi-Fi workflows ### Protocol-Specific and Specialized Radios - Open Sniffer - Additional protocol-oriented radios and interfaces integrated for specific workflows Support varies by plugin, operating system, driver availability, GNU Radio version, and individual FISSURE capability. ## Getting Started ### Supported Platforms The `Python3` branch contains the current FISSURE codebase and supports PyQt5 with GNU Radio 3.8 and 3.10 depending on the operating system. The legacy `Python2_maint-3.7` branch is deprecated and retained only for select older tools and environments. GitHub releases are periodic snapshots of the project and may not contain the latest fixes or features. For the most current version of FISSURE, use the `Python3` branch. FISSURE is most extensively tested on Ubuntu and related Ubuntu-based environments. Operating System | FISSURE Branch | Default GNU Radio Version :-------------------------:|:-------------------------:|:-------------------------: | DragonOS Noble (24.04) | Python3 | maint-3.10 | | Kali | Python3 | maint-3.10 | | Raspberry Pi OS | Python3 | maint-3.10 | | Ubuntu 18.04 | Python2_maint-3.7 | maint-3.7 | | Ubuntu 20.04 | Python3 | maint-3.8 | | Ubuntu 22.04 | Python3 | maint-3.10 | | Ubuntu 24.04 / Ubuntu ARM (Orange Pi) / Ubuntu for Raspberry Pi | Python3 | maint-3.10 | | Windows 11 WSL2 | See Supported Linux Version | See Supported Linux Version | ### In-Progress (Beta)
Beta operating systems The following operating systems are still being tested and may have missing functionality, installer conflicts, or unsupported third-party tools. Operating System | FISSURE Branch | Default GNU Radio Version :-------------------------:|:-------------------------:|:-------------------------: | BackBox Linux | Python3 | maint-3.10 | | KDE neon | Python3 | maint-3.10 | | Parrot Security 6.1 | Python3 | maint-3.10 | Some third-party tools are not available on every operating system. Refer to [Known Conflicts and Third-Party Software](https://fissure.readthedocs.io/en/latest/pages/installation.html#known-conflicts) for details.
### Apptainer Installs FISSURE supports Apptainer-based deployment on Ubuntu 24.04 for more repeatable installation, testing, and deployment. The installer can build role-specific environments using the following modes: - `full` - Complete FISSURE installation - `base` - Complete standalone workstation - `Dashboard` - Dashboard client without a local database or Sensor Node - `HIPRFISR` - Headless hub and database services - `SensorNode` - Remote Sensor Node execution environment - `custom` - User-defined installer selection Ubuntu 24.04 hosts with Ubuntu 24.04 containers are the primary tested configuration. Other host, container, and mode combinations may work but have not been fully validated. See **Apptainer Setup** below for build and launch instructions. ### Installation Clone FISSURE with HTTPS: ```bash git clone https://github.com/ainfosec/FISSURE.git cd FISSURE git checkout Python3 ./install ``` For contributors using SSH: ```bash ssh-keygen -t ed25519 cat ~/.ssh/id_ed25519.pub ``` Add the public key to GitHub under **Settings > SSH and GPG keys**, then clone with: ```bash git clone git@github.com:ainfosec/FISSURE.git cd FISSURE git checkout Python3 ./install ``` The installer will detect the operating system when possible and prompt for any required PyQt dependencies and optional third-party software. After installation, reboot or log out and back in so that user group and device permission changes take effect. ### Installer Notes FISSURE is easiest to install on a clean operating system to reduce conflicts with existing packages and third-party software.
Installation details and screenshots - Run the installer and FISSURE from a user-owned directory such as your home directory. Do not run `./install` or `fissure` with `sudo`. - The installer will automatically detect the operating system when possible and select the closest supported configuration. - Choose the installation mode that matches the intended role: - `Full` for the broadest installation - `Base` for a complete standalone workstation - `Dashboard`, `HIPRFISR`, or `Sensor Node` for role-specific systems - `Custom` for a user-defined selection - Radio drivers, out-of-tree modules, and optional third-party tools can be installed as needed for the desired hardware and workflows. - Some installer items are unchecked by default because they may be unsupported, conflict with other software, or require additional setup. - Items with a Verify step are checked after installation and highlighted based on whether the verification command succeeds. - GNU Radio flow graphs may need to be recompiled when moving between GNU Radio versions. - Third-party software is generally downloaded to and installed from `~/Installed_by_FISSURE`. - Make sure the system clock is correct before installing to avoid package repository errors.

FISSURE installer operating system and installation mode selection
Select the operating system and installation mode.

FISSURE installer software, hardware, and component selection
Select software, hardware support, optional components, and review the installation commands.

### Remote Sensor Node Installation Install FISSURE on the remote system using the normal installation process. For now, install FISSURE in the same directory location on both the local and remote systems to avoid filepath issues with certain Actions.
Remote Sensor Node configuration and certificates Configure the remote Sensor Node in: `./YAML/Sensor_Node_Config/default.yaml` Update the following fields: - `nickname` - Use a unique name other than `Local Sensor Node` - `hiprfisr_ip_address` - IP address of the HIPRFISR / Hub - `hardware` - Configure the hardware available on the node - `autorun` - Set to `true` to automatically launch the default Autorun playlist when the Sensor Node starts Autorun provides unattended execution of saved plugin Action sequences without requiring the Dashboard to remain connected. Playlists can include per-Action timing and optional detector gating. #### Certificates Remote Sensor Nodes use certificates generated during installation to authenticate with the client. The Sensor Node requires: - `server.key_secret` - `client.key` The client requires: - `client.key_secret` - `server.key` If the certificate directory was generated on the Sensor Node, copy the required client files to the Dashboard system before connecting.
### Local Dashboard Usage After installation, open a new terminal and launch FISSURE with: ```bash fissure ``` Run FISSURE as your normal user, not with `sudo`. Launching from a terminal is recommended because it provides useful status and diagnostic output. A local Sensor Node can be started from the top controls in the Dashboard, allowing a single workstation to run the Dashboard, HIPRFISR, and Sensor Node together. FISSURE no longer enforces a fixed Sensor Node count. Deployments can scale to the number of remote Sensor Nodes supported by the available compute, network, and operational workload. If FISSURE does not close cleanly, the following command will stop the remaining FISSURE processes: ```bash sudo pkill python3 && sudo pkill -9 -f fissure ``` For troubleshooting or more targeted process control: ```bash sudo ps -aux | grep fissure sudo pkill python3 sudo kill -9 ``` ### Headless Hub FISSURE can run HIPRFISR without the Dashboard GUI for distributed deployments, TAK integration, remote Sensor Node coordination, and other headless workflows.
Launch and usage Launch the hub with: ```bash fissure-hiprfisr ``` The hub will start its configured services, connect to TAK when enabled, and accept connections from remote Sensor Nodes without requiring the Dashboard to remain open.
### Remote Sensor Node Usage Remote Sensor Nodes can be launched independently and connect to the configured HIPRFISR / Hub for distributed operation.
Launch and usage After configuring the Sensor Node, launch it from a terminal with: ```bash fissure-sensor-node ``` The Sensor Node will connect to the configured HIPRFISR / Hub and remain active until `Ctrl+C` is applied. Once connected, the node will appear in FISSURE and can be selected and tasked through the Dashboard and supported workflows. Multiple remote Sensor Nodes can be connected simultaneously, with individual workflows determining whether operations run on a single node or coordinate across multiple nodes.
### Windows 11 WSL2 Instructions FISSURE can run in Windows 11 using WSL2 for supported Linux operating systems. Expand the sections below for setup and troubleshooting commands.
Install WSL2 1. Open PowerShell as Administrator. 2. Install WSL: ```powershell wsl --install ``` 3. Enable virtualization in BIOS and verify it in **Task Manager > Performance > CPU > Virtualization**. 4. Set WSL2 as the default version: ```powershell wsl --set-default-version 2 ``` 5. List available Linux distributions: ```powershell wsl --list --online ``` 6. Install a supported Ubuntu distribution. For example: ```powershell wsl --install -d Ubuntu-24.04 ``` 7. Open the Start Menu, search for Ubuntu, and launch it. 8. To uninstall a distribution: ```powershell wsl --unregister Ubuntu-24.04 ```
Enable USB Passthrough 1. Open PowerShell as Administrator and install `usbipd`: ```powershell winget install usbipd ``` 2. Add `usbipd` to the Windows System PATH: ```text C:\Program Files\usbipd-win ``` Use **Start Menu > Environment Variables > Edit the system environment variables > System Properties > Environment Variables > System Variables > Path > Edit > New**. 3. Close and reopen PowerShell as Administrator. 4. List available USB devices: ```powershell usbipd wsl list ``` 5. Attach a USB device using its BUS ID: ```powershell usbipd wsl attach --busid ``` Or attach it to a specific WSL distribution: ```powershell usbipd wsl attach --busid --wsl ``` 6. To detach the device: ```powershell usbipd wsl detach --busid ```
Install FISSURE in WSL Install Git: ```bash sudo apt-get install git ``` Then clone FISSURE and install it using the normal installation instructions above.
### TAK Setup FISSURE can connect to a local or remote TAK Server for sharing Sensor Nodes, Targets, detections, geolocation results, alerts, tracks, artifacts, data packages, video connections, and other operational information. TAK settings are configured in: ```text FISSURE/YAML/User Configs/default.yaml ``` For current builds, use `auto` when TAK connectivity is desired or `disabled` when TAK should remain disconnected.
TAK Configuration Fields The relevant settings are under the `tak:` section: ```yaml tak: cert: /path/to/takserver.pem connect_mode: disabled ip_addr: localhost external_ip: 192.168.1.128 key: /path/to/takserver.key port: 8089 tak_on_startup: false webadmin_cert: /path/to/webadmin.p12 ``` - `ip_addr` - The TAK Server address used directly by HIPRFISR. FISSURE uses this address for the TLS CoT connection on `port` and for TAK Server HTTPS data-package uploads on port `8443`. Use `localhost` when TAK Server is running on the same system as HIPRFISR, or the reachable TAK Server IP address/hostname for a remote server. - `external_ip` - The address advertised to TAK clients when FISSURE creates resources that must be reached from another system. It is currently used in TAK data-package download URLs and as the fallback advertised host for video originating from a local Sensor Node. In a typical local TAK deployment, set this to the FISSURE/TAK host address reachable by ATAK, WinTAK, and other clients. - `port` - The TAK TLS CoT port used by PyTAK. The default is `8089`. The TAK HTTPS API used for data packages uses port `8443` separately. - `connect_mode` - Controls whether HIPRFISR starts its TAK client. Use `auto` to connect at startup and automatically reconnect after an outage. Use `disabled` to leave TAK disconnected. - `tak_on_startup` - When `true`, HIPRFISR attempts to start locally installed TAK Server Docker database and server containers during startup. Leave this `false` when using a remote TAK Server or when managing the local containers separately. - `cert` - Certificate path passed to PyTAK as its TLS CA/trust file. - `key` - Private key path passed to PyTAK for the TLS CoT connection. - `webadmin_cert` - Client certificate used by the current TAK integration. FISSURE also reads this PKCS#12 (`.p12`) file when authenticating HTTPS data-package uploads to the TAK Server. > **Note:** The configuration still contains a `manual` connection mode, but the current Dashboard does not provide a complete manual-connect workflow. Use `auto` or `disabled` for current deployments.
Local TAK Server 1. Register and download the TAK Server Docker `.zip` from [tak.gov](https://tak.gov/products/tak-server). 2. Create the FISSURE third-party software directory if it does not already exist: ```bash mkdir -p ~/Installed_by_FISSURE ``` 3. Place the downloaded TAK Server `.zip` file in: ```text ~/Installed_by_FISSURE ``` 4. Run the **TAK Server** item in the FISSURE installer. 5. For local WebTAK access, import the generated Web Admin certificate into the browser: ```text ~/Installed_by_FISSURE/takserver-docker-#.#-RELEASE-##/tak/certs/files/webadmin.p12 ``` 6. Configure the TAK settings in: ```text FISSURE/YAML/User Configs/default.yaml ``` For a TAK Server running on the same system as HIPRFISR: ```yaml tak: ip_addr: localhost external_ip: port: 8089 connect_mode: auto tak_on_startup: true ``` `ip_addr: localhost` keeps HIPRFISR's connection local. Set `external_ip` to the LAN, VPN, or other address that ATAK, WinTAK, and other TAK clients can actually reach. 7. If you do not want HIPRFISR to start the TAK Docker containers automatically, use: ```yaml tak: tak_on_startup: false ``` The containers can also be started manually from the FISSURE Dashboard: ```text TAK > Start Docker Containers ``` 8. Open WebTAK from the FISSURE **TAK** menu and verify that the map loads. 9. Run a FISSURE Action or workflow that generates TAK output to verify the connection.
Remote TAK Server 1. Configure the remote TAK Server in: ```text FISSURE/YAML/User Configs/default.yaml ``` For example: ```yaml tak: ip_addr: external_ip: port: 8089 connect_mode: auto tak_on_startup: false ``` `ip_addr` is the address HIPRFISR uses to reach the TAK Server. `external_ip` is the address placed into client-facing TAK resource URLs and may be the same address or a different externally reachable address. 2. Update the TAK certificate paths in the same `tak:` section: ```yaml tak: cert: /path/to/takserver.pem key: /path/to/takserver.key webadmin_cert: /path/to/webadmin.p12 ``` 3. Leave local TAK container startup disabled: ```yaml tak: tak_on_startup: false ``` 4. Run a FISSURE Action or workflow that generates TAK output to verify the connection.
### Apptainer Setup Apptainer can be used to containerize most of the FISSURE software environment for more repeatable installation, testing, and deployment. Several components still remain on the host system: - Docker containers, including PostgreSQL and TAK Server - Apptainer itself - udev rules and device permissions - Hardware drivers and other host-level interfaces required for SDRs, Wi-Fi adapters, and peripherals Ubuntu 24.04 hosts with Ubuntu 24.04 containers are the primary tested configuration. Prebuilt Apptainer containers and ISO images are planned for future releases.
Build an Apptainer Environment 1. Clone FISSURE using the normal installation instructions above. 2. Open the Apptainer installer script: ```text FISSURE/Installer/install_apptainer.sh ``` 3. Review the configuration variables near the top of the script and enable or disable the desired hardware and software options. 4. Choose the desired FISSURE installation mode: - `full` - Complete FISSURE installation with supported SDR software, network tools, and utilities - `base` - Complete standalone workstation capable of running the Dashboard, HIPRFISR, and a local Sensor Node - `Dashboard` - Dashboard client without a local database or Sensor Node - `HIPRFISR` - Headless HIPRFISR hub with database services - `SensorNode` - Remote Sensor Node runtime with supported hardware, GNU Radio modules, and compiled flow graphs - `custom` - User-defined installer selection configured in `Installer/Modes/custom.py` 5. Run the installer: ```bash cd FISSURE/Installer ./install_apptainer.sh ``` The installer builds a writable Apptainer sandbox in the user's home directory and installs the selected software inside the container and on the host where required.
Launch and Run FISSURE Launch the configured Apptainer environment with: ```bash fissure-apptainer ``` This opens a shell inside the FISSURE container with graphics, audio, udev information, and hardware device access configured by the launcher. Once inside the container, run FISSURE normally: ```bash fissure ``` For a remote Sensor Node environment: ```bash fissure-sensor-node ```
Troubleshooting Information When reporting an Apptainer issue, include: - Host operating system - Apptainer version - Selected FISSURE install mode - Affected hardware - Relevant installer or launch output Because some drivers, Docker services, permissions, and hardware interfaces remain on the host, problems may originate either inside the container or from the host configuration.
## Lessons FISSURE includes hands-on lessons for learning RF, SDR, protocol analysis, supporting tools, and related technologies. Many lessons use software and workflows that are integrated directly into FISSURE. - [Lesson 1: OpenBTS](/docs/Lessons/Markdown/Lesson1_OpenBTS.md) - [Lesson 2: Lua Dissectors](/docs/Lessons/Markdown/Lesson2_LuaDissectors.md) - [Lesson 3: Sound eXchange](/docs/Lessons/Markdown/Lesson3_Sound_eXchange.md) - [Lesson 4: ESP Boards](/docs/Lessons/Markdown/Lesson4_ESP_Boards.md) - [Lesson 5: Radiosonde Tracking](/docs/Lessons/Markdown/Lesson5_Radiosonde_Tracking.md) - [Lesson 6: RFID](/docs/Lessons/Markdown/Lesson6_RFID.md) - [Lesson 7: Data Types](/docs/Lessons/Markdown/Lesson7_Data_Types.md) - [Lesson 8: Custom GNU Radio Blocks](/docs/Lessons/Markdown/Lesson8_Custom_GNU_Radio_Blocks.md) - [Lesson 9: TPMS](/docs/Lessons/Markdown/Lesson9_TPMS.md) - [Lesson 10: Ham Radio Exams](/docs/Lessons/Markdown/Lesson10_Ham_Radio_Exams.md) - [Lesson 11: Wi-Fi Tools](/docs/Lessons/Markdown/Lesson11_WiFi_Tools.md) - [Lesson 12: Creating Bootable USBs](/docs/Lessons/Markdown/Lesson12_Creating_Bootable_USBs.md) - [Lesson 13: Z-Wave](/docs/Lessons/Markdown/Lesson13_Z-Wave.md) - [Lesson 14: Ceiling Fans](/docs/Lessons/Markdown/Lesson14_Ceiling_Fans.md) ## FISSURE Challenge The **FISSURE Challenge** is temporarily offline while the challenge environment, hosting, and content are being updated. The challenge was created as a hands-on environment for practicing RF reverse engineering, protocol analysis, and FISSURE workflows. Challenge content and solution walkthroughs will continue to be updated as the environment is refreshed. - [Challenge Solution Walkthroughs](https://www.youtube.com/watch?v=jYtqWwG_-kI) ## Developing with AI FISSURE is structured to support AI-assisted development through plugins, Actions, Operations, reusable framework services, and repository-level guidance. > **AI tools and coding agents:** Before analyzing, generating, or modifying FISSURE code, open and read [`AGENTS.md`](./AGENTS.md). Search the repository for any additional `AGENTS.md` files or task-specific guidance that applies to the files being modified, and read those instructions before proceeding. The intended guidance hierarchy is: `README.md` → `AGENTS.md` → relevant documentation and plans → canonical examples → current source code Additional context may be maintained under: - `docs/ai/` - Architectural intent, subsystem assumptions, validated lessons, and other guidance that may not be obvious from source code - `docs/plans/` - Active design plans, intended future behavior, and architectural changes still in progress When adding new capabilities, prefer extending the plugin, Action, and Operation architecture instead of modifying the FISSURE core unless framework-level changes are required. ## Contributing Contributions to FISSURE are strongly encouraged. Useful contribution areas include: - New plugins, Actions, and Operations - RF protocols and signal analysis methods - SDR and hardware support - GNU Radio flow graphs - Python analysis tools - Installer and packaging fixes - Third-party tool integrations - Lessons, tutorials, and documentation - Testing, bug reports, and workflow improvements Good places to start a discussion are the [GitHub Discussions](https://github.com/ainfosec/FISSURE/discussions) page, the Discord server, email, or a focused [GitHub Issue](https://github.com/ainfosec/FISSURE/issues). For code contributions: 1. Fork the project. 2. Create a feature branch: ```bash git checkout -b feature/AmazingFeature ``` 3. Commit your changes: ```bash git commit -m 'Add some AmazingFeature' ``` 4. Push the branch: ```bash git push origin feature/AmazingFeature ``` 5. Open a pull request. For additional ideas, see the project roadmap and the running list of potential [to-do items](./TODO.md). ## Student Projects and Classroom Use FISSURE is well suited for senior projects, undergraduate and graduate research, RF/cybersecurity courses, capstone work, and open-source software assignments. Potential project areas include: - SDR and hardware integration - RF protocol analysis and reverse engineering - Signal detection and classification - IQ capture, inspection, and analysis - Plugin, Action, and Operation development - Geolocation and distributed sensing - TAK integration and situational awareness - Visualization and operator workflows - Lessons, tutorials, and documentation Students, instructors, research groups, and organizations interested in using FISSURE for hands-on RF, SDR, cybersecurity, or reverse engineering work are encouraged to reach out. ## Testimonials > “FISSURE is a powerful and versatile RF software platform suitable for both education and practical applications. It supports a wide range of commonly used hardware and offers intuitive IQ data analysis tools. These features enable us to visualize, interpret, and directly modify RF signal messages in our project.” > – Dylan R. > “We really enjoyed using FISSURE in our engineering project. This software is an incredibly comprehensive collection of tools to manipulate radio frequencies and was an amazing aid to our studies involving wireless communications.” > – University Senior Project Team ## Commercial Support and Collaboration Assured Information Security, Inc. (AIS) provides commercial support, integration, and capability development for organizations using FISSURE and Fracture. AIS can support: - Integration of FISSURE into existing platforms, networks, and workflows - Development of custom plugins, Actions, Operations, and protocol-specific capabilities - Support for new SDRs, sensors, hardware, and communications systems - TAK integration and distributed Sensor Node architectures - RF sensing, geolocation, signal analysis, and electronic warfare workflows - Mission-specific software and operator interfaces - Fracture hardware and deployment configurations - Training, testing, field evaluation, and long-term sustainment Fracture provides a path for organizations that need supported, deployable systems built around FISSURE. Configurations can be tailored for fixed-site, vehicle, manpack, sUAS, fixed-wing, and other distributed deployments. Whether the goal is research, prototyping, operational integration, or development of a mission-specific capability, AIS can help adapt the FISSURE framework to the intended environment while preserving its flexibility and extensibility. For commercial inquiries, contact AIS Business Development at `bd@ainfosec.com`. ## License FISSURE is released under the GNU General Public License v3.0 (GPL-3.0). See the [LICENSE](./LICENSE) file for the full license terms. ## Contact For questions, collaboration, support, or project discussion: - **Discord:** [Join the FISSURE Discord Server](https://discord.gg/JZDs5sgxcG) - **YouTube:** [FISSURE Development](https://www.youtube.com/@FissureRF) - **Facebook:** [Fissure - The RF Framework](https://www.facebook.com/profile.php?id=61595019597985) - **LinkedIn:** [FISSURE - The RF Framework](https://www.linkedin.com/company/fissure-the-rf-framework) - **Bluesky:** [@fissurerf.bsky.social](https://bsky.app/profile/fissurerf.bsky.social) - **Twitter/X:** [@FissureRF](https://twitter.com/fissurerf) and [@AinfoSec](https://twitter.com/ainfosec) - **FISSURE Contact:** Chris Poore - `poorec@ainfosec.com` - **Commercial / Business Development:** `bd@ainfosec.com` ## Acknowledgments Special thanks to Dr. Samuel Mantravadi and Joseph Reith for their contributions to FISSURE.

FISSURE logo

## Assured Information Security FISSURE is developed and maintained by [Assured Information Security, Inc. (AIS)](https://www.ainfosec.com/). Explore other AIS open-source projects at: - [ainfosec.dev](https://ainfosec.dev/) Interested in signals, reverse engineering, cybersecurity, or related work? - [View AIS Career Openings](https://recruiting.paylocity.com/recruiting/jobs/All/4cc515ee-a8ad-4e3a-ac7d-c105c5d24074/ASSURED-INFORMATION-SECURITY-INC) - [Join the AIS Talent Community](https://recruiting.paylocity.com/Recruiting/PublicLeads/New/4cc515ee-a8ad-4e3a-ac7d-c105c5d24074) - [Try the Can You Hack It?® Challenge](https://www.canyouhackit.com)

Assured Information Security