Una API REST desarrollada en Python con Fla**URL de la API
Una vez desplegado, tu API estará disponible en:
https://tu-app-name.onrender.com
Endpoints principales (v2.0):
POST /api/detect
- Detección ultra-rápida (0.2-0.5s)POST /api/estimate-version
- Estimación de versión (0.3-0.8s)POST /api/get-exact-version
- Versión exacta (1-3s)POST /api/check-vulnerabilities
- Análisis de vulnerabilidades (0.1-0.2s)GET /api/health
- Health checkGET /api/info
- Documentación completa
Endpoints legacy (compatibilidad):
POST /api/analyze
- Análisis completo tradicionalPOST /api/batch-analyze
- Análisis en lote (máx. 10 URLs)rmite detectar si un sitio web utiliza Magento, identificar su versión y analizar posibles vulnerabilidades de seguridad. Versión 2.0 con 4 endpoints especializados ultra-rápidos optimizados para Clay y análisis masivo.
POST /api/detect
(0.2-0.5s) - Detección ultra-rápida de MagentoPOST /api/estimate-version
(0.3-0.8s) - Estimación inteligente de versión con análisis de riesgoPOST /api/get-exact-version
(1-3s) - Búsqueda exhaustiva de versión exactaPOST /api/check-vulnerabilities
(0.1-0.2s) - Análisis instantáneo de vulnerabilidades
- Rate Limits: Compatibles con 5 req/s de Clay
- Early Exit: Detiene análisis si no es Magento
- Timeouts ultra-cortos: 2-5 segundos máximo
- Workflow inteligente: Análisis progresivo según necesidad
- Detección Ultra-Rápida: 4 endpoints especializados con tiempos de respuesta optimizados
- Workflow Inteligente: Early exit para sitios no-Magento, análisis progresivo
- Clay Integration: Rate limits y timeouts optimizados para análisis masivo
- Detección de Magento: Analiza headers HTTP, contenido HTML, archivos específicos y patrones de URL
- Identificación de Versión: Detecta la versión específica de Magento con múltiples métodos
- Análisis de Vulnerabilidades: Base de datos de vulnerabilidades con análisis instantáneo
- Recomendaciones de Seguridad: Consejos específicos basados en versión y vulnerabilidades
- API RESTful: Endpoints legacy compatibles + nuevos endpoints especializados
- Análisis en Lote: Capacidad de analizar múltiples URLs (legacy)
- CORS Habilitado: Listo para integraciones cross-origin
- Backend: Python 3.11, Flask
- CORS: Flask-CORS para integraciones cross-origin
- HTTP Client: Requests con sesiones persistentes
- Deployment: Gunicorn, Render
- Clona el repositorio:
git clone https://github.com/Ckaox/magento-detector.git
cd magento-detector
- Crea un entorno virtual:
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
- Instala las dependencias:
pip install -r requirements.txt
- Ejecuta la aplicación:
python app.py
- La API estará disponible en
http://localhost:5000
- Ve a render.com y crea una cuenta
- Conecta tu cuenta de GitHub
- Crea un nuevo "Web Service"
- Selecciona este repositorio:
Ckaox/magento-detector
- Configura:
- Name:
magento-detector
(o el nombre que prefieras) - Environment:
Python 3
- Build Command:
pip install -r requirements.txt
- Start Command:
gunicorn app:app
- Instance Type:
Free
(suficiente para empezar)
- Name:
- Haz clic en "Create Web Service"
- Render construirá y desplegará automáticamente
- Haz fork de este repositorio a tu cuenta de GitHub
- Sigue los pasos anteriores pero selecciona tu fork
- Podrás hacer modificaciones personalizadas
Una vez desplegado, tu API estará disponible en:
https://tu-app-name.onrender.com
Endpoints principales:
POST /api/analyze
- Analizar una URLGET /api/health
- Health checkGET /api/info
- Información de la API
-
Análisis de Headers HTTP:
X-Magento-Cache-Control
X-Magento-Cache-Debug
X-Magento-Tags
-
Patrones en HTML:
- Referencias a archivos JavaScript específicos
- Rutas características (
skin/frontend
,media/catalog
) - Comentarios y meta tags
-
Archivos Específicos:
/app/etc/config.xml
/js/mage/cookies.js
/RELEASE_NOTES.txt
/app/Mage.php
-
Patrones de URL:
/customer/account/login
/checkout/cart
/catalogsearch/result
- Análisis de archivos de versión (
RELEASE_NOTES.txt
,app/Mage.php
) - Patrones en comentarios HTML
- Headers de respuesta específicos
La aplicación incluye una base de datos de vulnerabilidades conocidas para:
- Magento 1.x: Vulnerabilidades críticas y de alto riesgo
- Magento 2.x: Vulnerabilidades recientes y patches de seguridad
Lightning-fast Magento detection (0.2-0.5s)
Detección ultra-rápida solo de Magento. Ideal para filtrar grandes volúmenes de URLs.
Request:
{
"url": "https://ejemplo.com"
}
Response:
{
"is_magento": true,
"confidence": 95,
"detection_method": "magento_headers",
"response_time": "0.2-0.5s",
"endpoint": "detect"
}
Rate Limit Recomendado: 8 req/s
Fast version estimation (0.3-0.8s)
Estimación inteligente de versión con análisis de riesgo. Solo usar si is_magento=true
.
Request:
{
"url": "https://ejemplo.com"
}
Response:
{
"is_magento": true,
"estimated_version": "2.4",
"version_confidence": 80,
"risk_level": "low",
"detection_method": "pattern_match",
"response_time": "0.3-0.8s",
"endpoint": "estimate-version"
}
Rate Limit Recomendado: 6 req/s
Comprehensive version detection (1-3s)
Búsqueda exhaustiva de versión exacta. Solo para leads de alto valor.
Request:
{
"url": "https://ejemplo.com"
}
Response:
{
"is_magento": true,
"exact_version": "2.4.3",
"confidence": 95,
"methods_tried": [
"lightning_detect",
"/magento_version",
"main_page_deep_analysis"
],
"response_time": "1-3s",
"endpoint": "get-exact-version"
}
Rate Limit Recomendado: 3 req/s
Ultra-fast vulnerability analysis (0.1-0.2s)
Análisis instantáneo de vulnerabilidades basado en versión.
Request:
{
"url": "https://ejemplo.com",
"version": "2.4.3",
"estimated_version": "2.x"
}
Response:
{
"has_vulnerabilities": false,
"vulnerability_count": 0,
"risk_level": "low",
"vulnerabilities": [],
"recommendations": [
"Update to latest Magento 2.x version"
],
"checked_version": "2.4.3",
"response_time": "0.1-0.2s",
"endpoint": "check-vulnerabilities"
}
Rate Limit Recomendado: 10 req/s
# 1. Detección masiva (todas las URLs)
POST /api/detect → is_magento: true/false
# 2. Estimación de versión (solo Magento sites)
POST /api/estimate-version → estimated_version, risk_level
# 3. Versión exacta (solo leads importantes)
POST /api/get-exact-version → exact_version
# 4. Análisis de vulnerabilidades (con datos de versión)
POST /api/check-vulnerabilities → security_analysis
Análisis completo tradicional (más lento, para compatibilidad).
Request:
{
"url": "https://ejemplo.com"
}
Response:
{
"status": "success",
"url": "https://ejemplo.com",
"is_magento": true,
"version": "2.4.3",
"confidence": 85,
"evidence": [
"Magento header found: x-magento-cache-control",
"Magento pattern found: media/catalog"
],
"vulnerabilities": [
{
"id": "CVE-2023-29017",
"severity": "Medium",
"description": "Cross-site scripting (XSS) vulnerability",
"affected_versions": "< 2.4.6",
"recommendation": "Update to latest version"
}
],
"recommendations": [
"Mantenga Magento actualizado con los últimos parches de seguridad",
"Use HTTPS en todo el sitio"
],
"timestamp": "2025-09-25T10:30:00"
}
Analiza múltiples URLs en una sola request (máximo 10).
Request:
{
"urls": [
"https://sitio1.com",
"https://sitio2.com",
"https://sitio3.com"
]
}
Response:
{
"status": "success",
"total_analyzed": 3,
"results": [
{
"url": "https://sitio1.com",
"is_magento": true,
"version": "2.4.3",
"confidence": 85,
"evidence": [...],
"vulnerabilities": [...],
"recommendations": [...]
},
{
"url": "https://sitio2.com",
"is_magento": false,
"confidence": 0,
"evidence": []
}
],
"timestamp": "2025-09-25T10:30:00"
}
Health check endpoint.
Response:
{
"status": "healthy",
"service": "magento-detector",
"version": "1.0.0",
"timestamp": "2025-09-25T10:30:00"
}
Información completa sobre la API v2.0 y todos los endpoints disponibles.
Response:
{
"service": "Magento Detector API - Ultra-Fast Edition",
"version": "2.0.0",
"description": "API especializada para detectar Magento con 4 endpoints ultra-rápidos optimizados para Clay",
"specialized_endpoints": {
"POST /api/detect": {
"description": "Lightning detection (0.2-0.5s)",
"purpose": "Ultra-fast Magento detection only",
"rate_limit_recommended": "8 req/s"
},
"POST /api/estimate-version": {
"description": "Version estimation (0.3-0.8s)",
"purpose": "Smart version estimation with risk analysis",
"rate_limit_recommended": "6 req/s"
},
"POST /api/get-exact-version": {
"description": "Exact version detection (1-3s)",
"purpose": "Comprehensive version search",
"rate_limit_recommended": "3 req/s"
},
"POST /api/check-vulnerabilities": {
"description": "Vulnerability analysis (0.1-0.2s)",
"purpose": "Security assessment with recommendations",
"rate_limit_recommended": "10 req/s"
}
},
"clay_workflow": {
"step_1": "Use /api/detect for all URLs to identify Magento sites",
"step_2": "Use /api/estimate-version only for is_magento=true results",
"step_3": "Use /api/get-exact-version for high-value leads only",
"step_4": "Use /api/check-vulnerabilities with version data for security analysis"
}
}
La aplicación detecta vulnerabilidades comunes como:
- SQL Injection (CVE-2022-24086)
- Remote Code Execution (CVE-2020-24407)
- Cross-site Scripting (CVE-2023-29017)
- Y muchas más...
- Mantener Magento actualizado
- Usar HTTPS en todo el sitio
- Implementar autenticación de dos factores
- Configurar correctamente permisos de archivos
- Usar Web Application Firewall (WAF)
- Realizar copias de seguridad regulares
Las contribuciones son bienvenidas. Por favor:
- Haz fork del proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature
) - Commit tus cambios (
git commit -m 'Add some AmazingFeature'
) - Push a la rama (
git push origin feature/AmazingFeature
) - Abre un Pull Request
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE
para más detalles.
Esta herramienta es solo para fines educativos y de investigación de seguridad. Úsala únicamente en sitios web de tu propiedad o con autorización explícita del propietario. El uso malintencionado está prohibido.
El proyecto incluye un script de prueba para validar los 4 endpoints especializados:
# Hacer el script ejecutable
chmod +x test_specialized_endpoints.sh
# Ejecutar pruebas
./test_specialized_endpoints.sh
El script prueba:
- ⚡ Lightning Detection con medición de tiempo real
- 🔢 Version Estimation (solo si es Magento)
- 🎯 Exact Version Detection (solo para leads importantes)
- 🛡️ Vulnerability Analysis con recomendaciones
- 📊 Rate limits y tiempos de respuesta reales
# 1. Detección ultra-rápida
curl -X POST -H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}' \
https://tu-app.onrender.com/api/detect
# 2. Estimación de versión
curl -X POST -H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}' \
https://tu-app.onrender.com/api/estimate-version
# 3. Versión exacta
curl -X POST -H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}' \
https://tu-app.onrender.com/api/get-exact-version
# 4. Análisis de vulnerabilidades
curl -X POST -H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com","estimated_version":"2.x"}' \
https://tu-app.onrender.com/api/check-vulnerabilities
Tiempos de respuesta medidos:
/api/detect
: 83-289ms ⚡/api/estimate-version
: 300-800ms 🔢/api/get-exact-version
: 1000-3000ms 🎯/api/check-vulnerabilities
: 100-200ms 🛡️
Optimizaciones implementadas:
- Early exit para sitios no-Magento
- Timeouts ultra-cortos (2-5s máximo)
- Detección por prioridad (headers → cookies → patrones)
- Rate limits compatibles con Clay (5 req/s)
Si encuentras algún problema o tienes sugerencias, por favor abre un issue en GitHub.
- ⚡ 4 nuevos endpoints especializados ultra-rápidos
- 🚀 Optimizado para Clay integration (5 req/s)
- 📊 80%+ más rápido que endpoints legacy
- 🎯 Early exit strategy y timeouts optimizados
- 📖 Documentación completa en
/api/info
- 🔍 Detección básica de Magento
- 📡 Endpoints legacy
/api/analyze
y/api/batch-analyze
- 🛡️ Análisis de vulnerabilidades
- 🌐 Deploy en Render
Desarrollado con ❤️ para la comunidad de seguridad web y análisis masivo con Clay