Table of Contents

Un sensor pasivo del tamaño de un pulgar que le dice cuando algo lo está observando

Introducción: El panorama de vigilancia que no puede ver

El mundo físico está cada vez más instrumentado con dispositivos que observan, graban y rastrean. Lectores de matrículas en las esquinas de las calles, cámaras corporales en las fuerzas del orden, cámaras en propiedades de alquiler, rastreadores comerciales tipo AirTag ocultos en bolsas o autos, y cámaras de vigilancia comerciales en cada entrada de comercio. La mayoría de estos dispositivos se comunican de forma inalámbrica mediante Bluetooth LE o WiFi, y la mayoría de esas comunicaciones se transmiten al aire libre para que cualquiera con el receptor adecuado pueda detectarlas.

Eye Spy es una herramienta de detección de vigilancia pasiva que aprovecha exactamente este hecho. Ejecutándose en el M5Stack Atom Lite, una placa de desarrollo ESP32-PICO-D4 aproximadamente del tamaño de un terrón de azúcar, Eye Spy monitorea continuamente los espectros BLE y WiFi en busca de las firmas electrónicas de dispositivos de grabación, cámaras de vigilancia, sistemas ALPR (lectores automáticos de matrículas), drones y rastreadores personales. Cuando encuentra algo, su LED RGB cambia de color.

No se conecta a nada. No transmite. Observa, puntúa y se ilumina.

Este artículo es una referencia técnica completa: qué detecta Eye Spy, cómo funciona el sistema de puntuación de confianza, la ingeniería detrás de cada motor de detección, cómo construirlo y flashearlo, y cuáles son sus limitaciones prácticas.


Indicadores LED: La interfaz de usuario completa

Como el ESP32 WiFi Canary , la salida completa de Eye Spy es un único SK6812 RGB NeoPixel en GPIO 27 del M5Stack Atom Lite. El LED comunica en todo momento un nivel de amenaza de cuatro estados:

ColorSignificadoRango de puntuación
🔵 Pulso azulInicio / primer escaneo
🟢 Verde sólidoDespejado - nada detectado0–2
🟡 Amarillo sólidoPrecaución - posible dispositivo de grabación cercano3–5
🔴 Rojo parpadeanteAlerta - dispositivo de vigilancia/rastreo definitivo detectado6+

Una sola detección de alta confianza (cámara corporal Axon, cámara Flock Safety, coincidencia OUI ALPR, AirTag) acumula suficientes puntos para empujar inmediatamente el LED al rojo en un solo ciclo de detección.


Hardware

Objetivo principal: M5Stack Atom Lite

ComponenteDetalle
PlacaM5Stack Atom Lite
MCUESP32-PICO-D4
LEDSK6812 NeoPixel en GPIO 27
BotónGPIO 39 (solo entrada)
Flash4 MB

El Atom Lite es una plataforma completa autónoma. Sin soldadura, sin breadboard, sin componentes externos. Conéctelo al USB y funciona.


El sistema de puntuación

Eye Spy usa un modelo de puntuación de confianza que agrega señales de todos los motores de detección en un único entero. La puntuación controla el estado del LED (verde / amarillo / rojo) y está sujeta a dos mecanismos de gestión automática:

Decaimiento de puntuación

La puntuación cae −1 punto cada 60 segundos sin nuevas detecciones. Si se aleja de un dispositivo detectado, el LED vuelve al verde en pocos minutos sin intervención del usuario.

Tiempo de recarga

Cada tipo de detección tiene un tiempo de espera de 120 segundos antes de poder agregar puntos nuevamente desde la misma fuente. Esto evita que un solo dispositivo persistente acumule la puntuación indefinidamente.


Motores de detección

Eye Spy opera tres fases de escaneo distintas en rotación continua:

BLE pasivo (9 s) → Escaneo WiFi (~3 s) → Sniff promiscuo (5 s) → repetición


Motor 1: BLE - Escaneo pasivo

El escaneo BLE se implementa con NimBLE sin solicitudes de escaneo transmitidas. El dispositivo escucha paquetes de publicidad BLE sin enviar ninguna respuesta. Esto hace que Eye Spy sea electrónicamente invisible para el equipo que está escaneando.

Tabla de detección BLE

#ObjetivoMétodo de detecciónPuntuación
1Cámara corporal AxonOUI MAC BLE 00:25:df+5 🔴
2Ray-Ban Meta Smart GlassesUUID de servicio BLE 0xFD5F+5 🔴
3Flock Safety BLENombre del dispositivo BLE que contiene Flock, Penguin, Pigvision o FS Ext Battery+5 🔴
4Skimmer de tarjetas (HC-03/05/06)Coincidencia exacta del nombre del dispositivo BLE+5 🔴
5Apple AirTagDatos del fabricante 0x004C subtipo 0x12/0x1E+4 🔴
6Drone (OpenDroneID BLE)UUID de servicio BLE 0xFFFA+4 🔴
7Samsung SmartTagUUID de servicio BLE 0xFD5A+3 🟡
8Tile trackerUUID de servicio BLE 0xFEED o 0xFEEC+3 🟡
9Nodo MeshCorePrefijo del nombre del dispositivo BLE MeshCore-+2 🟡
10iBeacon (seguimiento en comercio/lugar)Datos del fabricante 0x004C 0x02 0x15+2 🟡
11Dispositivo persistente desconocidoCualquier MAC BLE no clasificada vista ≥3× durante ≥5 minutos+2 🟡

Motor 2: Escaneo WiFi - Escaneo activo de canales

El motor de escaneo WiFi usa la interfaz estándar de escaneo AP del ESP32 para enumerar los puntos de acceso cercanos y comparar sus BSSID y SSID con las huellas de dispositivos de vigilancia conocidos.

Tabla de detección del escaneo WiFi

#ObjetivoMétodo de detecciónPuntuación
12Cámara Flock Safety (OUI)BSSID coincide con la tabla OUI de Flock Safety de 22 entradas+5 🔴
13Cámara ALPR / LPR (OUI)BSSID coincide con Motorola Solutions / Vigilant Solutions OUI 00:0e:58+5 🔴
14SSID palabra clave FlockSSID contiene: flock, flocksafety, fs ext, penguin, pigvision+5 🔴
15SSID palabra clave ALPRSSID contiene: alpr, lpr, vigilant, plateread, licenseplat, motorola, automate+4 🔴
16Proveedor de cámara de vigilancia (OUI)BSSID coincide con tabla OUI de cámaras de 31 entradas - Hikvision, Dahua, Axis, Ring, Nest, Arlo, Wyze, Reolink, FLIR, Amcrest, Vivotek, Hanwha, Mobotix, Ubiquiti UniFi+3 🟡
17SSID palabra clave cámaraSSID contiene: cam, ipcam, cctv, nvr, dvr, doorbell, surv, blink, lorex, protect, genetec y más+2 🟡

Motor 3: WiFi Promiscuo - Captura pasiva de tramas

El motor promiscuo pone el radio ESP32 en modo monitor y captura tramas de gestión 802.11 sin procesar. Esto permite la detección de dispositivos que no publicitan un SSID, específicamente drones que usan el protocolo Remote ID sobre WiFi Neighbor Awareness Networking (NaN).

Tabla de detección en modo promiscuo

#ObjetivoMétodo de detecciónPuntuación
18Drone (OpenDroneID WiFi NaN)Trama de gestión 802.11 hacia el destino 51:6f:9a:01:00:00+4 🔴

Construcción y flasheo

Requisitos

  • PlatformIO (CLI o extensión de VS Code)
  • M5Stack Atom Lite o cualquier ESP32 DevKit
  • Cable USB-C

Flashear en M5Stack Atom Lite

git clone https://github.com/simeononsecurity/eye-spy.git
cd eye-spy

# Construir y flashear para Atom Lite
pio run -e atom-lite -t upload

# Monitor serie a 115200 baudios
pio device monitor -b 115200

Flashear en ESP32 DevKit genérico

pio run -e esp32dev -t upload

Notas de detección y limitaciones prácticas

Lo que Eye Spy no puede hacer

WiFi de 5 GHz: El ESP32 es un dispositivo solo de 2,4 GHz. Cualquier cámara de vigilancia, sistema ALPR o punto de acceso que opere exclusivamente en bandas de 5 GHz no será visible.

BLE cifrado: Varios productos de vigilancia de alta gama cifran u ocultan sus publicidades BLE.

Cámaras cableadas: Las cámaras IP conectadas mediante Ethernet sin radio WiFi no producen emisiones inalámbricas que Eye Spy pueda detectar.

Limitaciones de alcance: La antena ESP32 tiene un alcance de recepción interior práctico de 20 a 40 metros para señales fuertes.

Falsos positivos a esperar

Cámaras de consumidores en casas de vecinos: Las cámaras Ring, Nest, Wyze, Arlo y Reolink son omnipresentes en los barrios residenciales. Espere algunos resultados amarillos (+3) de las cámaras de timbre de los vecinos.

Despliegues de iBeacon en comercios: Los grandes minoristas despliegan infraestructura iBeacon en prácticamente cada tienda. Cualquier visita a un centro comercial probablemente activará la detección iBeacon (+2).


Casos de uso

Conciencia de contra-vigilancia

El público principal de Eye Spy es cualquier persona que quiera conciencia ambiental de la infraestructura de vigilancia en su entorno inmediato.

Detección de acoso con AirTag

El acoso mediante AirTag es un problema documentado. El motor de detección de seguidor de Eye Spy (MAC BLE persistente desconocida vista ≥3× durante ≥5 minutos) apunta específicamente a rastreadores modificados o personalizados.

Inspección de alquiler / habitación de hotel

Entrar en una nueva habitación de hotel o propiedad de alquiler con Eye Spy funcionando proporciona una primera indicación de dispositivos BLE y WiFi inesperados.

Seguridad en viajes

Como el WiFi Canary, Eye Spy está diseñado para el factor de forma de viaje. El Atom Lite cabe en cualquier bolsillo.


Conclusión

Eye Spy aborda un problema estrecho pero significativo: el entorno de vigilancia física a su alrededor está cada vez más instrumentado, y la mayor parte de esa instrumentación transmite firmas RF detectables. Un M5Stack Atom Lite de 15 dólares ejecutando el firmware Eye Spy se convierte en un escáner ambiental continuo que transforma la complejidad del análisis de paquetes BLE y las búsquedas OUI WiFi en un único LED RGB.

GitHub: github.com/simeononsecurity/eye-spy