Arachnida: web scraping y análisis de metadatos en ciberseguridad
Dentro del bootcamp de ciberseguridad de 42Madrid, este proyecto combina dos disciplinas muy presentes en el mundo real: recolección automatizada de información y análisis de metadatos. El resultado son dos herramientas complementarias —Spider y Scorpion— pensadas para entender cuánta información sensible puede extraerse de forma pasiva a partir de contenido público en la web.
No se trata solo de descargar archivos, sino de aprender a mirar más allá de lo evidente y detectar datos que muchas veces se publican sin intención.
🌐 ¿Qué son los metadatos y por qué importan?
Los metadatos son información asociada a otros datos. En archivos como imágenes, PDFs o documentos ofimáticos pueden encontrarse detalles como:
-
Fecha y hora de creación
-
Software utilizado para generar el archivo
-
Usuario o autor
-
Modelo de cámara o dispositivo
-
Información del sistema operativo
-
Coordenadas GPS (en ciertos casos)
Desde el punto de vista de la ciberseguridad y el OSINT (Open Source Intelligence), estos datos pueden revelar información crítica sobre personas, empresas o infraestructuras sin necesidad de explotar ninguna vulnerabilidad.
🧩 Objetivo del proyecto
El objetivo principal es desarrollar dos herramientas que trabajen juntas para:
-
Extraer automáticamente archivos públicos desde un sitio web.
-
Analizar dichos archivos en busca de metadatos sensibles.
-
Mostrar de forma clara la información encontrada.
-
Concienciar sobre la importancia de eliminar metadatos antes de publicar contenido.
🕷️ Spider: extracción automática de archivos
Spider es la herramienta encargada de la fase de recolección.
Su función es:
-
Recibir una URL como parámetro.
-
Rastrear el sitio web de forma recursiva, siguiendo enlaces internos.
-
Descargar automáticamente archivos relevantes, como:
-
Imágenes
-
PDFs
-
Documentos
-
-
Guardar localmente los archivos para su posterior análisis.
Este comportamiento es muy similar al de herramientas reales utilizadas en auditorías de seguridad y procesos de recopilación de información pasiva y es denominado scraping.

🦂 Scorpion: análisis de metadatos
Una vez descargados los archivos, entra en juego Scorpion, la herramienta de análisis.
Scorpion se encarga de:
-
-
Recibir archivos como parámetros de entrada.
-
Analizar metadatos EXIF y otros datos embebidos.
-
Mostrar información básica como:
-
Fecha de creación
-
Autor
-
Software utilizado
-
-
-
Extraer cualquier otro metadato disponible.
-
Soportar, al menos, las mismas extensiones manejadas por Spider.
Aquí es donde el proyecto demuestra su verdadero valor educativo: archivos aparentemente inofensivos pueden revelar más información de la que deberían.

🔍 Aplicación real en ciberseguridad
El flujo Spider → Scorpion refleja un escenario muy común en el mundo profesional:
- Recolección de información pública desde la web.
- Análisis de archivos descargados.
- Identificación de datos sensibles expuestos.
- Evaluación de riesgos y recomendaciones de mitigación.
Estas técnicas se usan en pentesting, auditorías, forense digital, OSINT y tareas de concienciación en seguridad.
⚙️ Ejecución del proyecto
El proyecto está desarrollado en Python y utiliza librerías externas para el scraping y el análisis de metadatos.
Para ejecutar los scripts, es necesario instalar previamente las dependencias indicadas en el archivo requirements.txt:
Una vez instaladas, las herramientas pueden ejecutarse desde línea de comandos, facilitando pruebas rápidas y automatizadas.
🕷️ Spider
# Recursive mode python3 spider.py -r <URL> # Recursive mode + level depth python3 spider.py -r <URL> -l <Nº> # Recursive mode + directory download path python3 spider.py -r <URL> -p <PATH> # Recursive mode + Silent output python3 spider.py -r <URL> -S # File mode python3 spider.py -f <URL-RESOURCE> # Print help message python3 spider.py -h
Al ejecutar la herramienta, se generan las carpetas /data y /logs en el directorio del repositorio.
La carpeta /data contiene los archivos descargados desde el sitio web objetivo, mientras que /logs almacena el registro de acciones realizadas.
🦂 Scorpion
# Resources mode python3 scorpion.py FILE1 FILE2 FILE3 ... # Directory mode python3 scorpion.py -d <DIRECTORY-PATH>
🐳Ejecutar prueba con Docker
- Instala Docker Desktop y ejecuta la aplicación.
- Instala make y utiliza el Makefile para construir el contenedor y acceder a una sesión de bash:
make && make exec
# Build image and container ->> make # Get a bash from container ->> make exec # Build a new container ->> make dock # Build image ->> make image # Remove image and container ->> make fclean
Dentro del directorio /home del usuario en el contenedor, se crean dos directorios adicionales que se sincronizan con los directorios de ambas herramientas mediante volúmenes, permitiendo compartir y persistir los datos entre el entorno del contenedor y el sistema del usuario.
🚀Conclusión
Este proyecto es una excelente forma de aprender:
-
Web scraping de forma controlada
-
Análisis de metadatos y EXIF
-
Automatización con Python
-
Técnicas básicas de OSINT
-
Concienciación sobre privacidad y exposición de información
Más allá del código, deja una lección muy clara: en ciberseguridad, lo que no se ve a simple vista suele ser lo más interesante… y lo más peligroso 🕵️♂️💻.
📌 Código fuente disponible en GitHub
- Date: 2025-12-29
- Categories: Python - Seguridad
- Código Fuente goldcod3/Arachnida