Reporte de Auditoría de Seguridad · v2.0
Grade: F
34344 hallazgos totales en 74 archivos · 25 tipos de vulnerabilidades
A07:2021-Identification-Auth-Failures
19274
A07:2021-Identification-Auth-Failures
A03:2021-Injection
10987
A03:2021-Injection
A01:2021-Broken-Access-Control
2059
A01:2021-Broken-Access-Control
A05:2021-Security-Misconfiguration
1726
A05:2021-Security-Misconfiguration
A02:2021
234
Cryptographic Failures
A01:2021
28
Broken Access Control
A09:2021-Security-Logging
13
A09:2021-Security-Logging
A03:2021
13
Injection
A02:2021-Cryptographic-Failures
9
A02:2021-Cryptographic-Failures
A07:2021-XSS
1
A07:2021-XSS
| Severidad | Cantidad | Vulnerabilidad · Detalle · Mitigación |
|---|---|---|
|
🟡 WARNING
HIGH |
185 |
A02:2021
Variable de entorno usada en frontend (posible exposición) 📁 10 archivos afectados
🛠 Mitigación recomendada — Variable de entorno sensible expuesta en frontend⚠️ Riesgo: Las variables de entorno en frontend pueden exponer secretos, claves de API o configuración interna al cliente y a atacantes. Pasos de remediación:
Ejemplo de código: const apiUrl = import.meta.env.VITE_PUBLIC_API_URL; 🎯 Vector de Pentest: Client-Side Secret Extraction, Bundle Analysis |
|
🟡 WARNING
MEDIUM |
19274 |
A07:2021-Identification-Auth-Failures
CWE-208
Comparación de secretos con === — vulnerable a Timing Attack, usar crypto.timingSafeEqual 📁 10 archivos afectados
🛠 Mitigación recomendada — Timing Attack en comparación de secretos⚠️ Riesgo: La comparación con === tiene tiempo variable según el punto de fallo, permitiendo a un atacante adivinar tokens o hashes bit a bit mediante análisis de tiempo de respuesta. Pasos de remediación:
Ejemplo de código: const crypto = require('crypto');
const expected = Buffer.from(process.env.API_TOKEN);
const received = Buffer.from(req.headers['x-api-key'] || '');
if (expected.length !== received.length || !crypto.timingSafeEqual(expected, received)) {
return res.status(401).json({ error: 'Unauthorized' });
}
🎯 Vector de Pentest: Timing Attack, Token Brute Force |
|
🟡 WARNING
HIGH |
1611 |
A01:2021-Broken-Access-Control
CWE-285
API Gateway sin whitelist de rutas — todas las acciones expuestas por defecto 📁 10 archivos afectados
🛠 Mitigación recomendada — API Gateway Moleculer sin whitelist de rutas⚠️ Riesgo: Sin whitelist, el gateway expone automáticamente todas las acciones de todos los servicios registrados, incluyendo acciones internas o de administración. Pasos de remediación:
Ejemplo de código: // Correcto
{
path: '/api',
whitelist: [
'users.login',
'users.register',
'products.list'
],
aliases: {
'POST /login': 'users.login',
'GET /products': 'products.list'
}
}
🎯 Vector de Pentest: Unauthorized API Access, Internal Action Exposure |
| 🟡 WARNING | 500 |
A03:2021-Injection
CWE-95
setTimeout/setInterval con string en lugar de función — eval implícito 📁 10 archivos afectados
|
| 🟡 WARNING | 9033 |
A03:2021-Injection
CWE-1321
Asignación con propiedad dinámica puede contaminar __proto__ 📁 10 archivos afectados
|
| 🟡 WARNING | 126 |
A01:2021-Broken-Access-Control
CWE-601
window.location con datos sin validar — posible Open Redirect 📁 10 archivos afectados
|
| 🟡 WARNING | 42 |
A03:2021-Injection
CWE-1321
Object.assign con datos externos puede contaminar el prototipo 📁 10 archivos afectados
|
| 🟡 WARNING | 1509 |
A05:2021-Security-Misconfiguration
CWE-1333
RegExp construido con input del usuario — posible ReDoS 📁 10 archivos afectados
|
|
🟡 WARNING
HIGH |
3 |
A02:2021-Cryptographic-Failures
CWE-312
Datos sensibles (token/password/secret) en localStorage — accesible por XSS 📁 3 archivos afectados
🛠 Mitigación recomendada — Tokens JWT en localStorage — accesibles por XSS⚠️ Riesgo: localStorage es accesible por cualquier JavaScript en la página, incluyendo scripts de terceros y payloads XSS. Un token robado permite impersonar al usuario. Pasos de remediación:
Ejemplo de código: // Correcto — cookie httpOnly (se maneja desde el backend)
res.cookie('token', jwt, {
httpOnly: true,
secure: true,
sameSite: 'strict',
maxAge: 3600000
});
// Incorrecto
localStorage.setItem('token', jwt);
🎯 Vector de Pentest: XSS Token Theft, Session Hijacking |
|
🟡 WARNING
HIGH |
1 |
A07:2021-XSS
Salida directa sin sanitización (posible XSS) 📁 1 archivo afectado
🛠 Mitigación recomendada — Salida directa sin sanitización (XSS)⚠️ Riesgo: Imprimir datos sin sanitizar permite ataques Cross-Site Scripting que pueden robar sesiones o ejecutar código malicioso. Pasos de remediación:
Ejemplo de código: echo htmlspecialchars($var, ENT_QUOTES, 'UTF-8'); 🎯 Vector de Pentest: Reflected XSS, Stored XSS, Cookie Theft |
| 🟡 WARNING | 1 |
A01:2021-Broken-Access-Control
CWE-285
ServiceBroker sin strategyAuth definida — autenticación de nodos no configurada 📁 1 archivo afectado
|
|
🟡 WARNING
HIGH |
28 |
A01:2021
Action Moleculer expuesta sin autenticación 📁 10 archivos afectados
🛠 Mitigación recomendada — Action Moleculer expuesta sin autenticación⚠️ Riesgo: Acciones sin autenticación permiten acceso no autorizado a la lógica del sistema. Pasos de remediación:
Ejemplo de código: actions: { myAction: { visibility: 'protected', handler(ctx) { if (!ctx.meta.user) throw new MoleculerError('Unauthorized', 401); }}}
🎯 Vector de Pentest: Unauthorized API Access, Privilege Escalation |
| 🟡 WARNING | 32 |
A05:2021-Security-Misconfiguration
CWE-770
Ruta POST sin rate limiting — expuesta a fuerza bruta y DoS 📁 10 archivos afectados
|
| 🟡 WARNING | 1 |
A05:2021-Security-Misconfiguration
CWE-942
API Gateway con CORS abierto a todos los orígenes 📁 1 archivo afectado
|
| 🔵 INFO | 184 |
A05:2021-Security-Misconfiguration
CWE-755
JSON.parse sin try/catch puede crashear la aplicación con input malformado 📁 10 archivos afectados
|
| 🔵 INFO | 321 |
A01:2021-Broken-Access-Control
CWE-285
fetch() a API interna sin header de Authorization — petición no autenticada 📁 10 archivos afectados
|
| 🔵 INFO | 13 |
A09:2021-Security-Logging
CWE-312
console.log de estado de Redux/Zustand con posibles datos sensibles 📁 10 archivos afectados
|
|
🔴 ERROR
HIGH |
1328 |
A03:2021-Injection
CWE-79
innerHTML/outerHTML con datos sin sanitizar — DOM XSS 📁 10 archivos afectados
🛠 Mitigación recomendada — innerHTML con datos sin sanitizar — DOM XSS⚠️ Riesgo: Asignar contenido sin sanitizar a innerHTML permite DOM-based XSS que ejecuta en el contexto del usuario, pudiendo robar cookies, tokens o realizar acciones en su nombre. Pasos de remediación:
Ejemplo de código: // Correcto — texto plano element.textContent = userInput; // Correcto — HTML sanitizado import DOMPurify from 'dompurify'; element.innerHTML = DOMPurify.sanitize(userInput); // Incorrecto element.innerHTML = userInput; 🎯 Vector de Pentest: DOM XSS, Cookie Theft, Session Hijacking |
| 🔴 ERROR | 44 |
A03:2021-Injection
CWE-79
insertAdjacentHTML con datos sin sanitizar — DOM XSS 📁 10 archivos afectados
|
|
🔴 ERROR
CRITICAL |
2 |
A03:2021-Injection
CWE-95
eval() ejecuta código arbitrario — nunca usar con datos externos 📁 2 archivos afectados
🛠 Mitigación recomendada — eval() con datos externos — Code Injection⚠️ Riesgo: eval() ejecuta cualquier JavaScript como código. Con datos externos, un atacante puede ejecutar código arbitrario en el contexto del usuario. Pasos de remediación:
Ejemplo de código: // Correcto const data = JSON.parse(userInput); // Incorrecto const data = eval(userInput); 🎯 Vector de Pentest: XSS, Code Injection, Data Exfiltration |
| 🔴 ERROR | 6 |
A03:2021-Injection
CWE-79
document.write() con datos dinámicos — DOM XSS 📁 6 archivos afectados
|
| 🔴 ERROR | 4 |
A03:2021-Injection
CWE-95
new Function() equivale a eval() — posible inyección de código 📁 4 archivos afectados
|
| 🔴 ERROR | 6 |
A02:2021-Cryptographic-Failures
CWE-798
Posible API key o token hardcodeado en JS cliente 📁 6 archivos afectados
|
|
🔴 ERROR
HIGH |
28 |
A03:2021-Injection
CWE-20
Action Moleculer sin schema params definido — sin validación de tipos ni restricciones 📁 10 archivos afectados
🛠 Mitigación recomendada — Action Moleculer sin schema de validación⚠️ Riesgo: Sin schema, Moleculer acepta cualquier parámetro sin validar tipo, rango ni presencia. Permite mass assignment, inyección de datos y errores de lógica de negocio. Pasos de remediación:
Ejemplo de código: params: {
id: 'number|positive|integer',
name: 'string|min:2|max:100',
email: 'email',
role: { type: 'enum', values: ['user', 'admin'], optional: true },
$$strict: true
}
🎯 Vector de Pentest: Mass Assignment, Parameter Pollution, Business Logic Bypass |
|
🔴 ERROR
MEDIUM |
13 |
A03:2021
ctx.params usado sin validación explícita 📁 10 archivos afectados
🛠 Mitigación recomendada — ctx.params sin validación de esquema⚠️ Riesgo: La falta de validación permite inyección de datos, errores de negocio y acceso a campos no autorizados. Pasos de remediación:
Ejemplo de código: params: { id: 'number|positive', name: 'string|min:3|max:100', $$strict: true }
🎯 Vector de Pentest: Mass Assignment, Parameter Pollution |
| Severidad | Tipo | Archivo : Línea | Descripción | Preview |
|---|---|---|---|---|
| HIGH | generic-api-key |
portalClientesABC/.env_prev : L40 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | P0rt4l*** |
| HIGH | generic-api-key |
portalClientesABC/.env_prev : L155 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | EqJlNJ*** |
| HIGH | aws-access-token |
portalClientesABC/.env_prev : L154 | Identified a pattern that may indicate AWS credentials, risking unauthorized cloud resource access and data breaches on AWS platforms. | AKIA2Z*** |
| HIGH | gcp-api-key |
portalClientesABC/pages/js/cyber_power_v2 - copia.js : L546 | Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. | AIzaSy*** |
| HIGH | generic-api-key |
portalClientesABC/.env.vlad : L11 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | P0rt4l*** |
| HIGH | generic-api-key |
portalClientesABC/.env.vlad : L52 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | EqJlNJ*** |
| HIGH | aws-access-token |
portalClientesABC/.env.vlad : L51 | Identified a pattern that may indicate AWS credentials, risking unauthorized cloud resource access and data breaches on AWS platforms. | AKIA2Z*** |
| HIGH | gcp-api-key |
portalClientesABC/pages/js/cyber_power_v2.js : L675 | Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. | AIzaSy*** |
| HIGH | gcp-api-key |
portalClientesABC/pages/js/nueva-orden-bol.js : L405 | Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. | AIzaSy*** |
| HIGH | gcp-api-key |
portalClientesABC/pages/js/cyber_power copy.js : L526 | Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. | AIzaSy*** |
| HIGH | gcp-api-key |
portalClientesABC/pages/js/direcciones.js : L209 | Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. | AIzaSy*** |
| HIGH | gcp-api-key |
portalClientesABC/pages/js/carga-bol.js : L385 | Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. | AIzaSy*** |
| HIGH | gcp-api-key |
portalClientesABC/pages-abc/cyber-power.html : L878 | Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. | AIzaSy*** |
| HIGH | gcp-api-key |
portalClientesABC/pages/cyber-power.html : L895 | Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. | AIzaSy*** |
| HIGH | gcp-api-key |
portalClientesABC/pages/js/nueva-orden-bol.js : L390 | Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. | AIzaSy*** |
| HIGH | gcp-api-key |
portalClientesABC/pages/js/nueva-orden-bol.js : L468 | Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. | AIzaSy*** |
| HIGH | gcp-api-key |
portalClientesABC/pages/js/nueva-orden.js : L2221 | Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. | AIzaSy*** |
| HIGH | gcp-api-key |
portalClientesABC/pages/js/nueva-orden copy 2.js : L2248 | Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. | AIzaSy*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/js/pages/leaflet-map.init.js : L12 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | pk.eyJ*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/js/pages/leaflet-map.init.js : L25 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | pk.eyJ*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/js/pages/leaflet-map.init.js : L57 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | pk.eyJ*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/js/pages/leaflet-map.init.js : L113 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | pk.eyJ*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/js/pages/leaflet-map.init.js : L162 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | pk.eyJ*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/json/api-key-list.json : L6 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | fef670*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/json/api-key-list.json : L14 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | ed4c0d*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/json/api-key-list.json : L22 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | 0b53e8*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/json/api-key-list.json : L30 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | b69ee2*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/json/api-key-list.json : L38 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | 33ec3a*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/json/api-key-list.json : L46 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | 845403*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/json/api-key-list.json : L54 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | aecc1e*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/json/api-key-list.json : L62 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | 8abba6*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/json/api-key-list.json : L70 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | 9e6d33*** |
| HIGH | generic-api-key |
portalClientesABC/pages-abc/assets/libs/quill/quill.min.js : L7 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | e.defa*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/js/pages/leaflet-map.init.js : L12 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | pk.eyJ*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/js/pages/leaflet-map.init.js : L25 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | pk.eyJ*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/js/pages/leaflet-map.init.js : L57 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | pk.eyJ*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/js/pages/leaflet-map.init.js : L113 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | pk.eyJ*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/js/pages/leaflet-map.init.js : L162 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | pk.eyJ*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/json/api-key-list.json : L6 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | fef670*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/json/api-key-list.json : L14 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | ed4c0d*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/json/api-key-list.json : L22 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | 0b53e8*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/json/api-key-list.json : L30 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | b69ee2*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/json/api-key-list.json : L38 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | 33ec3a*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/json/api-key-list.json : L46 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | 845403*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/json/api-key-list.json : L54 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | aecc1e*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/json/api-key-list.json : L62 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | 8abba6*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/json/api-key-list.json : L70 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | 9e6d33*** |
| HIGH | generic-api-key |
portalClientesABC/pages/assets/libs/quill/quill.min.js : L7 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | e.defa*** |
| HIGH | generic-api-key |
portalClientesABC/services/mailer.service.js : L48 | Detected a Generic API Key, potentially exposing access to various services and sensitive operations. | 50f502*** |
El agente IA analiza los hallazgos del proyecto y genera un reporte ejecutivo con contexto, priorización y recomendaciones de remediación específicas al stack detectado.
Registra el estado de cada remediación aplicada. Los datos se guardan en el navegador.
185 ocurrencias en 10 archivo(s)
19274 ocurrencias en 10 archivo(s)
1611 ocurrencias en 10 archivo(s)
500 ocurrencias en 10 archivo(s)
9033 ocurrencias en 10 archivo(s)
126 ocurrencias en 10 archivo(s)
42 ocurrencias en 10 archivo(s)
1509 ocurrencias en 10 archivo(s)
3 ocurrencias en 3 archivo(s)
1 ocurrencias en 1 archivo(s)
1 ocurrencias en 1 archivo(s)
28 ocurrencias en 10 archivo(s)
32 ocurrencias en 10 archivo(s)
1 ocurrencias en 1 archivo(s)
1328 ocurrencias en 10 archivo(s)
44 ocurrencias en 10 archivo(s)
2 ocurrencias en 2 archivo(s)
6 ocurrencias en 6 archivo(s)
4 ocurrencias en 4 archivo(s)
6 ocurrencias en 6 archivo(s)
28 ocurrencias en 10 archivo(s)
13 ocurrencias en 10 archivo(s)
| Fecha | Proyecto | Score | Estado | Críticos | Secretos | Reporte |
|---|---|---|---|---|---|---|
| 05/03/2026 19:38 | SISTWEB_PortalClientesABC | 10 (F) | 🚨 Crítico | 1431 | 49 | Ver |
| 05/03/2026 19:08 | SISTWEB_PlataformaEmpresarial | 10 (F) | 🚨 Crítico | 1161 | 28 | Ver |
| 05/03/2026 18:55 | SISTWEB_Ciudadano360 | 10 (F) | 🚨 Crítico | 641 | 17 | Ver |
| 05/03/2026 18:42 | PAGWEB_InglesYa | 10 (F) | 🚨 Crítico | 728 | 15 | Ver |
| 05/03/2026 18:25 | PAGWEB_Beyserin26 | 88 (A) | 🟢 Excelente | 0 | 0 | Ver |
| 05/03/2026 18:21 | SISTWEB_TrackIt_Back | 10 (F) | 🚨 Crítico | 546 | 18 | Ver |
| 05/03/2026 16:57 | SISTWEB_Masterlock | 10 (F) | 🚨 Crítico | 508 | 15 | Ver |
| 05/03/2026 16:31 | SISTWEB_ChecadorVLIM | 10 (F) | 🚨 Crítico | 676 | 39 | Ver |
| 05/03/2026 16:16 | SISTWEB_ChecadorVLIM | 100 (A) | 🟢 Excelente | 0 | 0 | Ver |
| 03/03/2026 15:23 | SISTWEB_Test | 100 (A) | 🟢 Excelente | 0 | 0 | Ver |
| 03/03/2026 14:25 | SISTWEB_HenP_26 | 100 (A) | 🟢 Excelente | 0 | 0 | Ver |
| 03/03/2026 14:10 | TEST_Proyecto | 100 (A) | 🟢 Excelente | 0 | 0 | Ver |