PentHertz/RF-Swift

GitHub: PentHertz/RF-Swift

跨平台容器化射频安全工具箱,无需专用操作系统即可快速部署无线、电信及硬件安全工具。

Stars: 287 | Forks: 15

# 🚀 RF Swift 📡
RF Swift logo

linux supported windows supported macOS supported
amd64 arm64 riscv64

Docker Podman

Black Hat Europe 2024 Spectrum 24 FOSDEM 2025 CyberOnBoard PraSec

Twitter FlUxIuS Twitter Penthertz

Join us on Discord

https://github.com/user-attachments/assets/518c5045-4380-48d0-a731-6ec0273a02c5 ## 🔍 什么是 RF Swift? RF Swift 是一个革命性的工具箱,无需专用操作系统即可将任何计算机转变为强大的 RF 测试实验室。🔄 与强迫你牺牲主操作系统的传统方法不同,RF Swift 将容器化的 RF 工具带入你现有的环境中。🏠 ### ⚡ 为什么 RF Swift 优于专用 OS 方案 | 特性 | RF Swift | 专用 OS | |---------|---------|------------------------------| | **🏠 主机 OS 保留** | ✅ 保留现有 OS | ❌ 需要专用分区或 VM | | **🛡️ 工具隔离** | ✅ 工具被容器化,不影响系统 | ❌ 工具可能破坏系统稳定性 | | **⚡ 部署速度** | ✅ 秒级部署 | ❌ 完整安装需数小时 | | **💾 磁盘空间** | ✅ 仅安装所需工具 | ❌ 至少需要 20-50GB | | **🔄 更新** | ✅ 无风险更新单个工具 | ❌ 系统级更新可能破坏功能 | | **🌐 多架构** | ✅ 支持 x86_64, ARM64, RISCV64 等! | ❌ 架构支持有限 | | **🔁 可复现性** | ✅ 环境处处一致 | ❌ 安装之间存在系统漂移 | | **💼 工作环境** | ✅ 可与生产力工具并存使用 | ❌ 需在系统间切换上下文 | | **📹 会话录制** | ✅ 内置录制功能用于文档记录 | ❌ 需手动设置 | | **🎨 易于定制** | ✅ 简单的 YAML 配方用于自定义镜像 | ❌ 复杂的 OS 修改 | ## ✨ 核心特性 ### 核心能力 - **🏠 非侵入式集成**:在继续使用你偏好的 OS 进行日常工作的同时,运行专业的 RF 工具 - **🧩 模块化工具选择**:仅在需要时部署所需的工具 - **🛡️ 容器化隔离**:防止 RF 工具影响系统稳定性或安全性 - **🌍 跨平台兼容性**:在 Linux、Windows 和 macOS 上无缝运行 - **🔌 动态硬件集成**:无需重启即可连接和断开 USB 设备 - **⚡ GPU 加速**:提供支持 Intel 和 NVIDIA GPU 的 OpenCL 专用镜像 - **💾 空间效率**:仅占用专用 OS 方案所需磁盘空间的一小部分 ### 🐳🦭 Container Engine 支持 RF Swift 支持 **Docker 和 Podman** 两种容器引擎,让你可以自由选择最适合你环境的运行时: | | Docker | Podman | |---|---|---| | **架构** | Client-server daemon | Daemonless, fork-exec | | **Root 权限要求** | 是(daemon 以 root 运行) | 否(默认 rootless) | | **兼容性** | 行业标准 | OCI 兼容,可直接替换 | | **适用场景** | 广泛生态系统,Windows/macOS | 安全优先,离线环境,嵌入式 | #### 自动检测 RF Swift 在启动时**自动检测**可用的容器引擎。如果两者都安装了,默认使用 Docker。可通过以下方式覆盖: ``` rfswift --engine podman run -n mycontainer -i penthertz/rfswift_noble:sdr_light rfswift --engine docker run -n mycontainer -i penthertz/rfswift_noble:sdr_light ``` #### Podman 支持示例 https://github.com/user-attachments/assets/14b6d50f-5250-420e-94e4-474991113372 #### Podman 亮点 - **Rootless 容器**:无 daemon,无 root — 非常适合锁定的环境和共享实验室机器 - **OCI 兼容镜像**:所有现有的 RF Swift 镜像均可与 Podman 开箱即用 - **无缝设备直通**:USB SDR dongle、串口适配器和 GPU 在两种引擎上均可工作 - **自动 cgroup 处理**:RF Swift 检测 cgroup v1/v2 并相应配置设备访问规则 #### 快速设置 ``` # 使用交互式安装程序安装(提供 Docker、Podman 或两者) curl -fsSL "https://raw.githubusercontent.com/PentHertz/RF-Swift/refs/heads/main/get_rfswift.sh" | sh # 或者手动安装 Podman sudo apt install podman # Debian/Ubuntu sudo dnf install podman # Fedora/RHEL sudo pacman -S podman # Arch Linux brew install podman # macOS ``` ## 🎬 演示视频 ### 🐧 在 Linux 上 https://github.com/PentHertz/RF-Swift/assets/715195/bb2ccd96-b688-4106-8fba-d82f84ff1ea4 ### 🪟 在 Windows 上(使用 GQRX) https://github.com/PentHertz/RF-Swift/assets/715195/25a4a857-aa5a-4daa-9a08-28fa53d2f799 ### 🖥️ 使用 Intel 或 NVIDIA GPU 的 OpenCL ![OpenCL recipe in action](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/ae2598448b101413.png) ## 📦 可用的专用镜像 RF Swift 的容器方法允许针对特定任务优化的专用环境。所有镜像均为 **OCI 兼容**,并可与 **Docker 和 Podman** 配合使用。 ``` graph TD; A[corebuild]-->B[sdrsa_devices]; A-->C[rfid]; A-->D[automotive]; A-->E[reversing]; A-->H[network]; B-->I[sdr_light]; B-->J[bluetooth]; B-->K[telecom_utils]; B-->L[hardware]; H-->M[wifi]; I-->N[sdr_full]; K-->P[telecom_2Gto3G]; K-->Q[telecom_4G_5GNSA]; K-->R[telecom_4Gto5G]; K-->S[telecom_5G]; ``` | 类别 | 镜像 | 核心工具 | |----------|--------|-----------| | 📻 **SDR** | `sdr_light`, `sdr_full` | GNU Radio, GQRX, SDR++, SDRangel, SigDigger, CyberEther, Inspectrum, URH, rtl_433, dump1090, GNSS-SDR, SatDump, Jupyter + 50+ GNU Radio OOT modules (gr-gsm, gr-lora, gr-satellites, gr-ieee802-11, gr-droneid, gr-tempest, …) | | 📡 **SDR 设备** | `sdrsa_devices` | Drivers for USRP (UHD), RTL-SDR, HackRF, BladeRF, Airspy, LimeSDR, PlutoSDR, XTRX, RFNM, HydraSDR, LiteX M2SDR, SignalHound, Harogic, LibreSDR, SoapySDR | | 📱 **电信** | `telecom_utils`, `telecom_2Gto3G`, `telecom_4G_5GNSA`, `telecom_4Gto5G`, `telecom_5G` | PySIM, pycrate, srsRAN 4G/5G, Open5GS, UERANSIM, YateBTS, OpenBTS, OsmoCom BTS Suite, SigPloit, PyHSS, SCAT, jSS7, 5Greplay | | 📶 **蓝牙** | `bluetooth` | BlueZ, WHAD, Mirage, Sniffle, Bluing, bdaddr, ice9-bluetooth, esp32 BT Classic sniffer | | 📡 **Wi-Fi** | `wifi` | Aircrack-ng, hcxdumptool, Reaver, Bully, Pixiewps, EAPHammer, Airgeddon, Wifite2, WPA3 attack suite (Dragonslayer/Dragonforce/Wacker), Hostapd-mana, Wifiphisher | | 🏷️ **RFID** | `rfid` | Proxmark3 (RRG/Iceman), libnfc, mfoc, mfcuk, RFIDler, miLazyCracker | | 🚗 **汽车** | `automotive` | can-utils, CANtact, Caring Caribou, SavvyCAN, Gallia, V2GInjector | | 🔧 **硬件** | `hardware` | PulseView, DSView, Logic 2 (Saleae), Arduino IDE, Flashrom, OpenOCD, esptool, openFPGALoader, MTKClient, ngscopeclient, dfu-util, SeerGDB, AVRDUDE | | 🔍 **逆向** | `reversing` | Ghidra, Radare2, Cutter, ImHex, Binwalk (v2+v3), Unblob, AFL, Honggfuzz, Semgrep, Joern, Kaitai Struct, Qiling, Unicorn/Keystone | | 🌐 **网络** | `network` | Nmap, Wireshark, Metasploit, Burp Suite, Caido, Impacket, NetExec, Responder, Hashcat, John the Ripper, Kismet, Bettercap, SIPVicious, MBTget | 包含详细工具清单的完整镜像列表可在 [rfswift.io/docs/guide/list-of-tools/](https://rfswift.io/docs/guide/list-of-tools/) 查看 ## 🌟 真实用例 ### 👔 为专业人士 - **🧰 快速评估部署**:在几分钟内在客户现场部署完整的 RF 实验室 - **🔄 环境一致性**:消除“在我机器上能跑”的问题 - **⚙️ 并行测试**:同时运行多个隔离的评估任务 - **📹 文档记录**:内置会话录制用于客户报告 - **🛠️ 定制工具集**:为特定项目创建专用容器 ### 🔬 为研究人员 - **📊 可复现研究**:随论文共享精确的工具环境 - **🧪 实验隔离**:保持实验配置相互独立 - **🌐 跨平台协作**:跨 Linux、Windows 和 macOS 工作 - **🔢 版本控制**:使用特定工具版本进行测试以确保复现性 - **⚡ 资源优化**:根据研究需求分配资源 ### 👨‍🏫 为教育工作者 - **🏫 课堂部署**:为所有学生提供一致的环境 - **💻 无需重装 OS**:学生保留现有操作系统 - **🖥️ 低配置要求**:可在标准实验室计算机上运行 - **📚 专注学习**:针对特定课程定制容器 - **🔄 快速重置**:在课次间轻松重置环境 ### 🏭 为制造与 QA - **🔍 生产测试**:一致的 RF 测试环境 - **📡 设备验证**:测试无线产品合规性 - **🔧 固件分析**:隔离的固件测试环境 - **📊 质量保证**:可复现的测试配置 ### 🔒 为安全敏感环境 - **🦭 Rootless with Podman**:无需特权 daemon — 非常适合 SOC 合规和加固系统 - **🏔️ 离线实验室**:预拉取镜像,利用 Podman 的 daemonless 架构在离线状态下部署 - **🛡️ 最小攻击面**:无需保护长期运行的 daemon socket ## 📖 文档 综合文档可在 [rfswift.io](https://rfswift.io/) 获取,包括: - 🚀 [入门指南](https://rfswift.io/docs/getting-started/) - 🏁 [快速入门教程](https://rfswift.io/docs/quick-start/) - 📘 [用户指南](https://rfswift.io/docs/guide/) - 📝 [YAML 配方指南](https://rfswift.io/docs/development/yaml-recipe-guide/) - 👨‍💻 [开发文档](https://rfswift.io/docs/development/) - 🧰 [包含工具列表](https://rfswift.io/docs/guide/list-of-tools/) - 🛡️ [安全准则](https://rfswift.io/docs/security/) ## 🎓 培训与研讨 RF Swift 被 Penthertz 用于专业培训课程: - 📻 软件定义无线电评估 - 📱 移动网络安全测试 - 🚗 汽车安全分析 - 🏭 IoT 和嵌入式设备测试 [联系我们](https://penthertz.com/) 获取定制培训计划。 ## 👥 社区与支持 - 💬 [加入我们的 Discord](https://discord.gg/NS3HayKrpA) 获取社区支持和讨论 - 🐛 在 GitHub 上 [报告问题](https://github.com/PentHertz/RF-Swift/issues) - 💡 通过 GitHub Discussions [请求功能](https://github.com/PentHertz/RF-Swift/discussions) - 🐦 在 X (Twitter) 上关注我们:[@FlUxIuS](https://x.com/FlUxIuS) 和 [@Penthertz](https://x.com/Penthertz) - 📧 商业咨询:[penthertz.com](https://penthertz.com/) ## 🤝 贡献 我们欢迎贡献!以下是你可以提供帮助的方式: ### 代码贡献 - 🧰 **工具集成**:添加新工具或改进现有工具 - 🐞 **Bug 修复**:提交 PR 以修复已报告的问题 - ✨ **新功能**:实现新功能 - 📝 **文档**:改进指南和示例 ### 社区贡献 - 📝 **YAML 配方**:分享你的自定义镜像配方 - 🎓 **教程**:为特定工具或工作流创建指南 - 🐛 **Bug 报告**:报告你遇到的问题 - 💡 **功能请求**:提出改进建议 ### 开始贡献 1. Fork 仓库 2. 创建功能分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 打开 Pull Request ## ⚖️ 许可证 RF Swift 基于 GNU General Public License v3.0 发布。详见 [LICENSE](LICENSE) 文件。 ## 🙏 致谢 特别感谢: - 所有帮助改进 RF Swift 的贡献者和客户 - 其工作被我们集成的开源 RF 和安全工具开发者 - 提供反馈、Bug 告和功能请求的社区 - 邀请我们进行演讲的会议组织者
标签:Apple Silicon, ARM64, Black Hat Arsenal, BladeRF, Docker容器, EVTX分析, EVTX分析, GNU Radio, HackRF, IoT安全, JA3, Linux安全工具, macOS安全工具, RF Swift, RISC-V, RTL-SDR, SDR工具集, SDR软件无线电, Windows安全工具, 便携式工具箱, 信号分析, 多架构支持, 射频安全, 射频渗透测试, 嵌入式安全, 攻击面发现, 无线安全评估, 无线渗透, 无线电工具箱, 无线电监测, 日志审计, 电磁频谱, 硬件黑客, 请求拦截, 通信安全, 防御绕过, 频谱分析