lukeswitz/AntiHunter
GitHub: lukeswitz/AntiHunter
基于 ESP32-S3 的开源无线传感器节点固件,通过分布式 LoRa Mesh 网络实现 WiFi/BLE 频谱感知、周界防御和无人机检测等安全监控能力。
Stars: 378 | Forks: 61
[](https://github.com/lukeswitz/AntiHunter/actions/workflows/lint.yml)
[](https://github.com/lukeswitz/AntiHunter/actions/workflows/platformio.yml)
[](https://github.com/lukeswitz/AntiHunter/actions/workflows/github-code-scanning/codeql)
[](https://github.com/lukeswitz/AntiHunter/releases)
[](https://github.com/lukeswitz/AntiHunter/tree/main/Antihunter/src)
DIGI 检测节点 2.4GHz WiFi/BLE 固件
### 新闻: `2026年1月` - 收录于 [2025年20佳 XIAO 项目](https://www.seeedstudio.com/blog/2026/01/29/best-xiao-projects/) ## 目录 1. [概述](#overview) 2. [功能特性](#features) 3. [检测模式](#detection-modes) 4. [传感器集成](#sensor-integration) 5. [安全数据销毁](#secure-data-destruction) 6. [RF 配置](#rf-configuration) 7. [系统架构](#system-architecture) 8. [硬件](#hardware) 9. [入门指南](#getting-started) 10. [Mesh 命令](#mesh-commands) 11. [API 参考](#api-reference) 12. [致谢](#credits) 13. [免责声明](#legal-disclaimer) ## 概述 - 用于周边防御和频谱感知的开源无线传感器节点。 - 采用 ESP32-S3,支持 WiFi/BLE 扫描、GPS、SD 卡日志记录和 LoRa mesh 联网。 - 可部署单个节点或分布式网络——每个节点独立扫描,并通过 Meshtastic 进行协同。
## 功能特性
| 功能 | 作用 | 扫描模式 |
|---------|-------------|------------|
| **目标扫描** | MAC/OUI/SSID 监控列表,带即时 mesh 告警 | WiFi、BLE 或两者 |
| **设备扫描器** | 捕获附近所有 WiFi 和 BLE 设备的 RSSI、信道、名称 | WiFi、BLE 或两者 |
| **探测请求扫描器** | 被动嗅探——揭示设备正在搜索的 SSID | WiFi、BLE 或两者 |
| **幽灵 SSID 检测** | 标记被探测但没有附近 AP 响应的 SSID | 探测 / 设备扫描 |
| **基线异常检测** | 先学习后告警:发现新增、丢失和发生变化的设备 | WiFi + BLE |
| **MAC 随机化关联** | 通过行为签名将随机化的 MAC 与固定身份关联起来 | WiFi + BLE |
| **Deauth 攻击检测** | 实时检测解除认证/取消关联帧,并跟踪来源 | WiFi 混杂模式 |
| **无人机 RID 检测** | 识别广播远程 ID(ODID/ASTM F3411,法国 ID)的无人机 | WiFi beacon/NAN |
| **三角定位** | 通过 mesh 基于多节点 RSSI 的位置估算(实验性) | WiFi、BLE |
| **Mesh 网络** | 通过 Meshtastic 的 LoRa mesh——告警、远程命令、协同 | UART 串口 |
| **安全数据销毁** | 触发式或远程擦除,擦除后带混淆处理 | 震动 / mesh |
| **隐私模式** | 一键 MAC/GPS/SSID 脱敏,用于截图 | Web UI 按钮 |
| **省电模式** | 80MHz CPU,轻度休眠,降低 GPS 频率,仅保留 mesh 心跳 | Mesh 命令 |
| **白名单** | 全局设备白名单——在所有扫描模式中被忽略 | Web UI / API |
| **数据浏览器** | 查看发现结果、设备日志和扫描数据 | Web UI / API |
### 使用场景
- 周边安全和入侵检测
- 渗透测试和无线安全审计
- 反无人机行动和空域监控
- 监视检测和 OPSEC 审计
- 跨 MAC 随机化的设备指纹识别
- 探测分析和非法设备检测
- 活动安保与监控
## 检测模式
### 1. 目标扫描
维护一个 MAC 地址(完整或 OUI 前缀)、SSID 或身份 ID(`T-XXXX`)的监控列表。扫描 WiFi 信道和 BLE 频率,一旦检测到即通过 Web UI、mesh 和指挥中心发出告警。
- 仅 WiFi、仅 BLE 或组合扫描
- 全局白名单过滤已知设备
- 将 RSSI、信道、GPS 和设备名称记录到 SD 卡
- 通过 mesh 网络发送实时告警
### 2. 三角定位(实验性)
多个节点同时扫描同一目标。每个节点记录 RSSI 和 GPS 坐标。数据通过 mesh 汇总,并通过卡尔曼滤波进行加权三边测量。
- 输出:GPS 坐标、置信度、估算误差(米)、平均 HDOP
- 通过 mesh 发送 Google Maps 链接
- 每个目标的距离调整系数(0.1x - 5.0x)
RF 环境校准
路径损耗模型:`distance = 10^((RSSI0 - RSSI) / (10 * n))` | 环境 | WiFi n | BLE n | WiFi RSSI0 | BLE RSSI0 | 使用场景 | |-------------|--------|-------|------------|-----------|----------| | 开阔天空 | 2.0 | 2.0 | -23 dBm | -60 dBm | 清晰的视距,障碍物极少 | | 郊区 | 2.7 | 2.5 | -24 dBm | -62 dBm | 稀疏植被,分散建筑 | | 室内 | 3.2 | 2.9 | -25 dBm | -65 dBm | 标准室内,少量墙壁 | | 密集室内 | 4.0 | 3.5 | -27 dBm | -69 dBm | 办公区域,大量隔断 | | 工业区 | 4.8 | 4.0 | -30 dBm | -73 dBm | 重度障碍物,机械设备 |
两阶段扫描:首先建立已知设备的基线,然后监控异常情况——新设备出现、设备消失、重现以及显著的 RSSI 变化。持久化存储在重启后依然保留。
- RAM 缓存:200-500 台设备,SD 溢出:1K-100K 台设备(无 SD 卡时默认为 1500)
- RAM 与 SD 之间的自动分层
### C. Deauth 攻击检测
WiFi 解除认证/取消关联帧嗅探器,具备实时检测功能。集成随机化跟踪以进行来源识别。
### D. 无人机 RID 检测
检测符合 FAA/EASA 标准广播远程 ID 的无人机。支持 ODID/ASTM F3411(NAN 动作帧,beacon 帧)和法国无人机 ID(OUI 0x6a5c35)。提取 UAV ID、飞手位置和飞行遥测数据。支持 Mesh 告警和 SD 日志记录。
### E. MAC 随机化关联(实验性)
使用行为签名将随机化的 MAC 地址与固定的设备身份关联:IE 指纹识别、信道序列、时序、RSSI 模式和序列号关联。分配带有 SD 持久化的身份 ID(`T-XXXX`)。
- 最多 30 个同时存在的身份,每个身份可关联 50 个 MAC
- 双重签名支持(完整和最小 IE 模式)
- 基于置信度的关联及自适应阈值
- 检测全局 MAC 泄漏和 WiFi-BLE 关联
### F. 探测请求扫描器
超越了单纯的探测请求捕获:关联所有三个 802.11 地址字段以检测幽灵 SSID(仅存在于设备历史记录中的网络),识别哪些 AP 进行了响应,并通过目标地址匹配捕获静默设备。
- **三字段关联**:探测请求(addr2=源)、探测响应(addr1=客户端,addr2=AP,addr3=BSSID)以及目标地址匹配,全部汇入单一的每设备记录中
- **目标地址(addr1)匹配**:检测发往目标 MAC 的探测请求——捕获从不发送自身身份的静默或休眠设备
- **幽灵 SSID 检测**:将探测请求与探测响应进行交叉比对,标记没有附近 AP 响应的 SSID。幽灵 SSID 显示时带有 `~` 前缀(例如,`~"HomeNetwork"` 与 `"CoffeeShop"`),并揭示设备在其他地方连接过的网络——位置历史、家庭/工作网络、出行轨迹
- SSID 监控列表:将 SSID 与 MAC 和 OUI 一起添加到目标列表中
- OUI 供应商识别(68 个供应商表)
- MAC 随机化检测(本地管理位检查)
- 监控列表命中的 Mesh 告警(60 秒去重冷却)
- RSSI 最小/最大/当前值跟踪,每台设备最多 4 个被探测的 SSID
## 传感器集成
| 传感器 | 接口 | 描述 |
|--------|-----------|-------------|
| **GPS** | UART2 (RX=GPIO44, TX=GPIO43) 9600 波特率 | TinyGPS++ NMEA 解析。位置、高度、卫星数据。API 位于 `/gps`。 |
| **SD 卡** | SPI | 记录至 `/antihunter.log`,包含时间戳、MAC、RSSI、GPS。Web 界面显示存储统计信息。 |
| **震动/防拆** | SW-420 (中断) | 中断驱动,带 3 秒速率限制。附带 GPS 和时间戳的 Mesh 告警。 |
| **RTC** | DS3231 via I2C | Flash 写入时 NTP 同步,回退到系统时间和 GPS。漂移修正。所有时间戳均为 UTC。 |
## 安全数据销毁
防拆检测和紧急数据擦除。
- **篡改自动擦除**:震动触发的销毁(默认禁用)
- **部署延迟**:启用后用于部署的宽限期
- **手动安全擦除**:通过 Web 界面
- **远程强制擦除**:带有令牌认证(5 分钟有效期,设备特定)的 Mesh 命令
- **混淆处理**:擦除后植入虚假的物联网气象站配置
自动擦除配置
| 参数 | 范围 | 描述 | |-----------|-------|-------------| | 部署延迟 | 30s - 10min | 自动擦除激活前的宽限期 | | 触发震动次数 | 2-5 | 触发所需的移动次数 | | 检测窗口 | 10-60s | 震动检测的时间范围 | | 擦除延迟 | 10-300s | 销毁前的倒计时 | | 冷却期 | 5-60min | 防拆尝试之间的最短时间 | **使用方法:** 1. 通过 Web 界面启用带部署延迟的自动擦除 2. 根据您的环境配置阈值 3. 部署设置期间离开 4. 监控 mesh 告警以获取防拆事件 5. 远程擦除:使用 `@NODE ERASE_REQUEST` 生成令牌,然后执行 `@NODE ERASE_FORCE:参数调优
- **WiFi 信道时间**:每个信道的持续时间(50-300ms)。越短 = 覆盖越快。 - **WiFi 扫描间隔**:扫描周期之间的时间(1000-10000ms)。 - **BLE 扫描间隔**:BLE 周期之间的时间(1000-10000ms)。 - **BLE 扫描时长**:每个周期的活动扫描时间(1000-5000ms)。越长越能改善发现率,但会降低 WiFi 扫描频率。 - **RSSI 阈值**:全局信号过滤器(-100 至 -10 dBm)。三角定位不受此限制。 - **WiFi 信道**:逗号分隔(1,6,11)或范围(1..14)。默认:1,6,11。
节点独立运行,并通过 Meshtastic mesh 网络进行协同。
**工作流:** 检测 -> 数据收集(RSSI、GPS、时间戳)-> Mesh 广播 -> 指挥中心聚合
**[AntiHunter 指挥中心](https://github.com/TheRealSirHaXalot/AntiHunter-Command-Control-PRO):** 汇总所有节点的数据,提供实时映射和可视化。
## 硬件
### 组装 PCB
- 插图版[组装手册](https://github.com/lukeswitz/AntiHunter/blob/main/hw/Prototype_STL_Files/Antihunter-DIGINODE-AssemblyManual.pdf)
### 核心组件
- **Seeed XIAO ESP32-S3**(至少 8MB 闪存)
- **Meshtastic 板**:Heltec v3.2(推荐)或 T114。备选方案见[讨论](https://github.com/lukeswitz/AntiHunter/discussions)。
- **GPS、SDHC、震动和 RTC 模块**
物料清单
核心组件 - 1x Seeed Studio XIAO ESP32-S3 - 1x Heltec WiFi LoRa 32 V3.2(兼容 T114,首选 V3.2) - 1x ATGM336H GPS 模块 - 1x Micro SD SDHC TF 卡读取器模块 - 1x SD 卡(FAT32,推荐 16GB) - 1x SW-420 震动传感器 - 1x DS3231 实时时钟模块 - 1x KSD9700 常开型热敏线传感器(30-40C) 连接器与紧固件 - 6x JST 2.54 2 针端子(也适用于 2.0mm JST) - 10x M3 嵌件螺母 - 2x M3x15mm 黄铜六角铜柱 - 1x 1/4" 三脚架螺母 - 1x JST 电源公头线(用于开关到主板的连接) - 8x M3 平头螺丝(用于外壳) - 6x M3 螺丝(用于 PCB 和电源板) 天线与线缆 - 3x U.FL 转 SMA 馈线(SMA 座,10-20cm) - 1x 6dBi 天线 2.4GHz(WiFi/BLE) - 1x 6dBi 天线 LoRa(视地区而定:868MHz 欧盟 / 915MHz 美国 / 923MHz 亚洲) - 1x GNSS 螺旋天线(L1/L5) 电源与散热 - 1x 30mm 5V 风扇 - JST(也适用于 2.0mm JST) - 1x 3 针迷你开/关开关 - 1x Type-C 15W 3A 5V 快充 UPS 电源 (2S 18650 充电模块 DC-DC 升压转换器,88x41x22mm) 外壳 - 1x 防水外壳(可 3D 打印) - STL 文件:[hw 文件夹](https://github.com/lukeswitz/AntiHunter/tree/main/hw/Prototype_STL_Files) - 组装手册:[PDF](https://github.com/lukeswitz/AntiHunter/blob/main/hw/Prototype_STL_Files/Antihunter-DIGINODE-AssemblyManual.pdf)引脚定义参考
XIAO ESP32S3 [引脚图](https://camo.githubusercontent.com/29816f5888cbba2564bd0e0add96cd723a730cb65c81e48aa891f0f9c20471cd/68747470733a2f2f66696c65732e736565656473747564696f2e636f6d2f77696b692f536565656453747564696f2d5849414f2d455350333253332f696d672f322e6a7067) | 功能 | GPIO | 描述 | |----------|------|-------------| | 震动传感器 | 2 | SW-420 防拆检测(中断) | | RTC SDA | 6 | DS3231 I2C 数据 | | RTC SCL | 3 | DS3231 I2C 时钟 | | GPS RX | 44 | NMEA 数据接收 | | GPS TX | 43 | GPS 发送(未使用) | | SD CS | 1 | SD 卡片选 | | SD SCK | 7 | SPI 时钟 | | SD MISO | 8 | SPI MISO | | SD MOSI | 9 | SPI MOSI | | Mesh RX | 4 | Meshtastic UART 接收 | | Mesh TX | 5 | Meshtastic UART 发送 |三角定位命令
| 命令 | 参数 | 示例 | |---------|------------|---------| | `TRIANGULATE_START` | `目标:持续时间[:rfEnv[:wifiPwr:blePwr]]` rfEnv:0=开阔天空,1=郊区,2=室内,3=密集室内,4=工业区。wifiPwr/blePwr:0.1-5.0 | `@AH01 TRIANGULATE_START:AA:BB:CC:DD:EE:FF:60:2:1.5:0.8` | | `TRIANGULATE_STOP` | 无 | `@ALL TRIANGULATE_STOP` | | `TRIANGULATE_RESULTS` | 无 | `@AH01 TRIANGULATE_RESULTS` |安全命令
| 命令 | 参数 | 示例 | |---------|------------|---------| | `ERASE_REQUEST` | 无 | `@AH01 ERASE_REQUEST` | | `ERASE_FORCE` | 认证令牌 | `@AH02 ERASE_FORCE:AH_12345678_87654321_00001234` | | `ERASE_CANCEL` | 无 | `@AH01 ERASE_CANCEL` | | `AUTOERASE_ENABLE` | `部署延迟:擦除延迟:震动次数:检测窗口:冷却期`(以秒为单位,震动次数除外) | `@AH01 AUTOERASE_ENABLE:60:30:3:30:300` | | `AUTOERASE_DISABLE` | 无 | `@AH01 AUTOERASE_DISABLE` | | `AUTOERASE_STATUS` | 无 | `@AH01 AUTOERASE_STATUS` | | `VIBRATION_STATUS` | 无 | `@AH01 VIBRATION_STATUS` | | `VIBRATION_ON` | 无 | `@AH01 VIBRATION_ON` | | `VIBRATION_OFF` | 无 | `@AH01 VIBRATION_OFF` |省电模式命令
| 命令 | 参数 |示例 | |---------|------------|---------| | `BATTERY_SAVER_START` | `间隔分钟`(1-30,默认 5) | `@AH01 BATTERY_SAVER_START:10` | | `BATTERY_SAVER_STOP` | 无 | `@AH01 BATTERY_SAVER_STOP` | | `BATTERY_SAVER_STATUS` | 无 | `@AH01 BATTERY_SAVER_STATUS` | 停止 WiFi/BLE 扫描,将 CPU 降至 80MHz,启用轻度休眠,每分钟轮询一次 GPS。Mesh UART 保持活动。心跳格式: ``` NODE_ID: HEARTBEAT: Temp:XXC GPS:lat,lon Battery:SAVER ```心跳命令
通过 mesh 周期性广播状态。**默认禁用。** | 命令 | 参数 | 示例 | |---------|------------|---------| | `HB_ON` | 无 | `@AH01 HB_ON` | | `HB_OFF` | 无 | `@AH01 HB_OFF` | | `HB_INTERVAL` | `分钟`(1-60) | `@AH01 HB_INTERVAL:10` | 格式:`NODE_ID: Time:YYYY-MM-DD_HH:MM:SS Temp:XX.XC [GPS:lat,lon]`告警消息格式
| 告警类型 | 格式 | |------------|--------| | 目标检测 | `NODE_ID: Target: TYPE MAC RSSI:dBm [Name:name] [GPS=lat,lon]` | | 基线异常 | `NODE_ID: ANOMALY-NEW/RETURN/RSSI: TYPE MAC RSSI:dBm [details]` | | Deauth 攻击 | `NODE_ID: ATTACK: DEAUTH SRC:MAC DST:MAC RSSI:dBm CH:N` | | 三角定位数据 | `NODE_ID: T_D: MAC RSSI:dBm Type:WiFi/BLE GPS=lat,lon HDOP=X.XX` | | 三角定位完成 | `NODE_ID: T_F: MAC=addr GPS=lat,lon CONF=85.5 UNC=12.3` | | 三角定位结束 | `NODE_ID: T_C: MAC=addr Nodes=N [Google Maps link]` | | 探测监控命中 | `NODE_ID: PROBE_HIT: MAC RSSI:dBm SSID:"network" [GHOST] [GPS=lat,lon]` | | 篡改检测 | `NODE_ID: TAMPER_DETECTED: Auto-erase in Xs [GPS:lat,lon]` | | 状态响应 | `NODE_ID: STATUS: Mode:TYPE Scan:STATE Hits:N Temp:XXC Up:HH:MM:SS GPS=lat,lon` |配置端点
| 端点 | 方法 | 描述 | |----------|--------|-------------| | `/node-id` | GET/POST | 获取/设置节点 ID(1-16 个字符) | | `/mesh-interval` | GET/POST | 获取/设置 mesh 发送间隔(1500-30000ms) | | `/save` | POST | 保存目标配置 | | `/export` | GET | 导出目标 MAC 列表 | | `/allowlist-export` | GET | 导出白名单 | | `/allowlist-save` | POST | 保存白名单 | | `/api/time` | POST | 从 Unix 时间戳设置 RTC 时间 |RF 配置端点
| 端点 | 方法 | 参数 | 描述 | |----------|--------|------------|-------------| | `/rf-config` | GET | - | RF 配置(JSON) | | `/rf-config` | POST | `preset`(0-2) | 应用预设:0=均衡,1=标准,2=激进 | | `/rf-config` | POST | `wifiChannelTime`、`wifiScanInterval`、`bleScanInterval`、`bleScanDuration`、`wifiChannels`、`globalRssiThreshold` | 完整自定义配置 | | `/rf-config` | POST | `globalRssiThreshold`(-100 至 -10) | 仅 RSSI 阈值 | | `/wifi-config` | GET | - | WiFi AP 设置(JSON) | | `/wifi-config` | POST | `ssid`(1-32),`pass`(8-63 或留空) | 更新 AP 凭据(会触发重启) |基线端点
| 端点 | 方法 | 描述 | |----------|--------|-------------| | `/baseline/status` | GET | 基线扫描状态(JSON) | | `/baseline/stats` | GET | 基线统计(JSON) | | `/baseline/config` | GET/POST | 基线配置(`rssiThreshold`、`baselineDuration`、`ramCacheSize`、`sdMaxDevices`、`absenceThreshold`、`reappearanceWindow`、`rssiChangeDelta`) | | `/baseline/reset` | POST | 重置基线 |三角定位端点
| 端点 | 方法 | 描述 | |----------|--------|-------------| | `/triangulate/start` | POST | 启动(`mac`、`duration`、`rfEnv`,可选 `wifiPwr`/`blePwr` 0.1-5.0) | | `/triangulate/stop` | POST | 停止三角定位 | | `/triangulate/status` | GET | 状态(JSON) | | `/triangulate/results` | GET | 结果 | | `/triangulate/nodes` | GET | 已连接的三角定位节点 | | `/triangulate/calibrate` | POST | 校准路径损耗(`mac`、`distance`) |随机化、安全和硬件端点
**随机化:** | 端点 | 方法 | 描述 | |----------|--------|-------------| | `/randomization/reset` | POST | 重置随机化检测 | | `/randomization/clear-old` | POST | 清除旧的身份(可选 `age`) | | `/randomization/identities` | GET | 跟踪的身份(JSON) | **安全:** | 端点 | 方法 | 描述 | |----------|--------|-------------| | `/erase/status` | GET | 擦除状态 | | `/erase/request` | POST | 请求安全擦除(`confirm`=WIPE_ALL_DATA,可选 `reason`) | | `/erase/cancel` | POST | 取消擦除序列 | | `/secure/status` | GET | 防拆检测状态 | | `/secure/abort` | POST | 中止防拆序列 | | `/config/autoerase` | GET/POST | 自动擦除配置 | | `/battery-saver` | GET | 省电模式(`action`=start/stop/status,`interval`) | **硬件:** | 端点 | 方法 | 描述 | |----------|--------|-------------| | `/gps` | GET | GPS 状态与位置 | | `/sd-status` | GET | SD 卡状态 | | `/drone/status` | GET | 无人机检测状态(JSON) | | `/mesh` | POST | 启用/禁用 mesh | | `/mesh-test` | GET | 测试 mesh 连通性 | | `/mesh-hb` | POST | 启用/禁用心跳(`enabled=true\|false`) | | `/mesh-hb-interval` | POST | 设置心跳间隔(`interval=1-60` 分钟) | | `/vibration` | POST | 切换震动传感器 |完整免责声明
``` AntiHunter (AH) is provided for lawful, authorized use only -- such as research, training, and security operations on systems and radio spectrum you own or have explicit written permission to assess. You are solely responsible for compliance with all applicable laws and policies, including privacy/data-protection (e.g., GDPR), radio/telecom regulations (LoRa ISM band limits, duty cycle), and export controls. Do not use AH to track, surveil, or target individuals, or to collect personal data without a valid legal basis and consent where required. Authors and contributors are not liable for misuse, damages, or legal consequences arising from use of this project. By using AH, you accept full responsibility for your actions and agree to indemnify the authors and contributors against any claims related to your use. These tools are designed for ethical blue team use, such as securing events, auditing networks, or training exercises. THE SOFTWARE IS PROVIDED "AS IS" AND "AS AVAILABLE," WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL THE DEVELOPERS, MAINTAINERS, OR CONTRIBUTORS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, STRICT LIABILITY, OR OTHERWISE, ARISING FROM OR IN CONNECTION WITH THE SOFTWARE, INCLUDING ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES. BY ACCESSING, DOWNLOADING, INSTALLING, COMPILING, EXECUTING, OR OTHERWISE USING THE SOFTWARE, YOU ACCEPT THIS DISCLAIMER AND THESE LIMITATIONS OF LIABILITY. ```标签:2.4GHz射频, C/C++, DIY硬件, ESP32, Mesh网络, PlatformIO, RF配置, SIGINT, UML, WiFi检测, XIAO, 事务性I/O, 传感器集成, 反侦察, 反追踪, 固件开发, 安全数据销毁, 密码管理, 射频监测, 嵌入式系统, 开源硬件, 插件系统, 无线信号处理, 物理安全, 物联网安全, 硬件黑客, 网络安全, 网络安全, 自毁机制, 蓝牙检测, 边界防御, 边缘计算, 隐私保护, 隐私保护