VibeSense

VibeSense Security Audit

Reporte de Auditoría de Seguridad · v2.0

Proyecto: SISTWEB_PlataformaEmpresarial

Fecha: 5/3/2026, 7:08:13 p.m.

Motor: Semgrep + Gitleaks + Claude AI

10 / 100

🚨 Crítico

Grade: F

18875 hallazgos totales en 57 archivos · 21 tipos de vulnerabilidades

🧪 PENTEST
VULNERABILIDADES CRÍTICAS
1161
🔴 Críticos
17578
🟡 Advertencias
108
🔵 Informativos
28
🔑 Secretos
57
📁 Archivos
21
⚡ Tipos

📊 OWASP Top 10 — Categorías Afectadas

📈 Historial de Score — SISTWEB_PlataformaEmpresarial

🛡️ Análisis por Categoría OWASP Top 10:2021
A07:2021-Identification-Auth-Failures 10787

A07:2021-Identification-Auth-Failures

A03:2021-Injection 5758

A03:2021-Injection

A01:2021-Broken-Access-Control 1018

A01:2021-Broken-Access-Control

A05:2021-Security-Misconfiguration 860

A05:2021-Security-Misconfiguration

A03:2021 359

Injection

A02:2021 56

Cryptographic Failures

A01:2021 34

Broken Access Control

A09:2021-Security-Logging 2

A09:2021-Security-Logging

A07:2021-XSS 1

A07:2021-XSS

🔍 Hallazgos de Seguridad
Severidad Cantidad Vulnerabilidad · Detalle · Mitigación
🟡 WARNING
HIGH
28 A02:2021
Variable de entorno usada en frontend (posible exposición)
📁 10 archivos afectados
  • /src/plataformaEmpresarial/config/env.js : L4
  • /src/plataformaEmpresarial/config/env.js : L8
  • /src/plataformaEmpresarial/config/env.js : L8
  • /src/plataformaEmpresarial/config/env.js : L9
  • /src/plataformaEmpresarial/config/env.js : L9
  • /src/plataformaEmpresarial/pages/helpers/validateToken.js : L50
  • /src/plataformaEmpresarial/pages/helpers/validateToken.js : L52
  • /src/plataformaEmpresarial/pages/helpers/validateToken.js : L52
  • /src/plataformaEmpresarial/services/api.service.js : L14
  • /src/plataformaEmpresarial/services/api.service.js : L17
🛠 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:

  1. Solo exponer variables con prefijo público (VITE_PUBLIC_*, REACT_APP_PUBLIC_*).
  2. Nunca colocar secretos, tokens privados ni credenciales en el frontend.
  3. Mover toda lógica sensible al backend.
  4. Auditar el bundle de producción para verificar exposición.
  5. Usar un proxy backend para llamadas a APIs externas.

Ejemplo de código:

const apiUrl = import.meta.env.VITE_PUBLIC_API_URL;

🎯 Vector de Pentest: Client-Side Secret Extraction, Bundle Analysis

🟡 WARNING
HIGH
950 A01:2021-Broken-Access-Control CWE-285
API Gateway sin whitelist de rutas — todas las acciones expuestas por defecto
📁 10 archivos afectados
  • /src/plataformaEmpresarial/moleculer.config.js : L161
  • /src/plataformaEmpresarial/pages/assets/js/pages/apexcharts-line.init.js : L822
  • /src/plataformaEmpresarial/pages/assets/js/pages/plugins/lord-icon-2.1.0.js : L1
  • /src/plataformaEmpresarial/pages/assets/js/pages/plugins/lord-icon-2.1.0.js : L1
  • /src/plataformaEmpresarial/pages/assets/js/pages/plugins/lord-icon-2.1.0.js : L1
  • /src/plataformaEmpresarial/pages/assets/js/pages/plugins/lord-icon-2.1.0.js : L1
  • /src/plataformaEmpresarial/pages/assets/libs/gmaps/lib/gmaps.geometry.js : L16
  • /src/plataformaEmpresarial/pages/assets/libs/gmaps/lib/gmaps.routes.js : L71
  • /src/plataformaEmpresarial/pages/assets/libs/gmaps/lib/gmaps.routes.js : L100
  • /src/plataformaEmpresarial/pages/assets/libs/gmaps/lib/gmaps.routes.js : L159
🛠 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:

  1. Definir whitelist explícita con las rutas permitidas.
  2. Usar aliases para mapear rutas HTTP a acciones específicas.
  3. Marcar acciones internas con visibility: 'protected' o 'private'.
  4. Revisar periódicamente qué acciones están expuestas en el gateway.
  5. Implementar el hook authorize() para verificar permisos por ruta.

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
MEDIUM
10787 A07:2021-Identification-Auth-Failures CWE-208
Comparación de secretos con === — vulnerable a Timing Attack, usar crypto.timingSafeEqual
📁 10 archivos afectados
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L116
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L143
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L181
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L255
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L266
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L277
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L288
  • /src/plataformaEmpresarial/pages/assets/classes/ExtraFunctions.js : L45
  • /src/plataformaEmpresarial/pages/assets/classes/Validator.js : L26
  • /src/plataformaEmpresarial/pages/assets/classes/Validator.js : L27
🛠 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:

  1. Usar crypto.timingSafeEqual() para comparar tokens y hashes.
  2. Convertir ambos strings a Buffer antes de comparar.
  3. Nunca comparar tokens JWT o API keys con === o ==.
  4. Para contraseñas, usar bcrypt.compare() que ya es timing-safe.

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 252 A03:2021-Injection CWE-95
setTimeout/setInterval con string en lugar de función — eval implícito
📁 10 archivos afectados
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1122
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1704
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1712
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1797
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L2015
  • /src/plataformaEmpresarial/pages/assets/js/pages/api-key.init.js : L206
  • /src/plataformaEmpresarial/pages/assets/js/pages/api-key.init.js : L223
  • /src/plataformaEmpresarial/pages/assets/js/pages/apps-nft-auction.init.js : L68
  • /src/plataformaEmpresarial/pages/assets/js/pages/apps-nft-auction.init.js : L72
  • /src/plataformaEmpresarial/pages/assets/js/pages/apps-nft-auction.init.js : L76
🟡 WARNING 4675 A03:2021-Injection CWE-1321
Asignación con propiedad dinámica puede contaminar __proto__
📁 10 archivos afectados
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1872
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1884
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1885
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1886
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1887
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1888
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1889
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1890
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1891
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1892
🟡 WARNING 61 A01:2021-Broken-Access-Control CWE-601
window.location con datos sin validar — posible Open Redirect
📁 10 archivos afectados
  • /src/plataformaEmpresarial/pages/assets/js/pages/invoicecreate.init.js : L556
  • /src/plataformaEmpresarial/pages/assets/libs/toastify-js/src/toastify-es.js : L312
  • /src/plataformaEmpresarial/pages/assets/libs/toastify-js/src/toastify.js : L234
  • /src/plataformaEmpresarial/pages/helpers/alerts.js : L112
  • /src/plataformaEmpresarial/pages/helpers/alerts.js : L321
  • /src/plataformaEmpresarial/pages/js/detalleProductoServicio.js : L305
  • /src/plataformaEmpresarial/pages/js/detalleProductoServicio.js : L334
  • /src/plataformaEmpresarial/pages/js/empresasAdmin.js : L1071
  • /src/plataformaEmpresarial/pages/js/empresasAdmin.js : L1075
  • /src/plataformaEmpresarial/pages/js/header.js : L503
🟡 WARNING 29 A03:2021-Injection CWE-1321
Object.assign con datos externos puede contaminar el prototipo
📁 10 archivos afectados
  • /src/plataformaEmpresarial/pages/assets/js/pages/plugins/lord-icon-2.1.0.js : L1
  • /src/plataformaEmpresarial/pages/assets/libs/chart.js/chart.cjs : L563
  • /src/plataformaEmpresarial/pages/assets/libs/chart.js/chart.cjs : L995
  • /src/plataformaEmpresarial/pages/assets/libs/chart.js/chart.cjs : L3123
  • /src/plataformaEmpresarial/pages/assets/libs/chart.js/chart.cjs : L3125
  • /src/plataformaEmpresarial/pages/assets/libs/chart.js/chart.cjs : L3857
  • /src/plataformaEmpresarial/pages/assets/libs/chart.js/chart.cjs : L10440
  • /src/plataformaEmpresarial/pages/assets/libs/chart.js/chart.js : L561
  • /src/plataformaEmpresarial/pages/assets/libs/chart.js/chart.js : L993
  • /src/plataformaEmpresarial/pages/assets/libs/chart.js/chart.js : L3121
🟡 WARNING
HIGH
1 A07:2021-XSS
Salida directa sin sanitización (posible XSS)
📁 1 archivo afectado
  • /src/plataformaEmpresarial/pages/assets/lang-php/en.php : L194
🛠 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:

  1. Usar htmlspecialchars() con ENT_QUOTES y charset UTF-8.
  2. Usar htmlentities() como alternativa más completa.
  3. Implementar una Content Security Policy (CSP) en el servidor.
  4. Considerar usar un template engine que escape automáticamente (Twig).
  5. Nunca imprimir directamente datos de $_GET, $_POST, $_COOKIE.

Ejemplo de código:

echo htmlspecialchars($var, ENT_QUOTES, 'UTF-8');

🎯 Vector de Pentest: Reflected XSS, Stored XSS, Cookie Theft

🟡 WARNING 760 A05:2021-Security-Misconfiguration CWE-1333
RegExp construido con input del usuario — posible ReDoS
📁 10 archivos afectados
  • /src/plataformaEmpresarial/pages/assets/libs/choices.js/src/scripts/choices.ts : L210
  • /src/plataformaEmpresarial/pages/assets/libs/cleave.js/addons/cleave-phone.ac.js : L35
  • /src/plataformaEmpresarial/pages/assets/libs/cleave.js/addons/cleave-phone.ac.js : L35
  • /src/plataformaEmpresarial/pages/assets/libs/cleave.js/addons/cleave-phone.ac.js : L35
  • /src/plataformaEmpresarial/pages/assets/libs/cleave.js/addons/cleave-phone.ad.js : L35
  • /src/plataformaEmpresarial/pages/assets/libs/cleave.js/addons/cleave-phone.ad.js : L35
  • /src/plataformaEmpresarial/pages/assets/libs/cleave.js/addons/cleave-phone.ad.js : L35
  • /src/plataformaEmpresarial/pages/assets/libs/cleave.js/addons/cleave-phone.ae.js : L35
  • /src/plataformaEmpresarial/pages/assets/libs/cleave.js/addons/cleave-phone.ae.js : L35
  • /src/plataformaEmpresarial/pages/assets/libs/cleave.js/addons/cleave-phone.ae.js : L35
🟡 WARNING
HIGH
34 A01:2021
Action Moleculer expuesta sin autenticación
📁 10 archivos afectados
  • /src/plataformaEmpresarial/services/actividadesAdmin.service.js : L13
  • /src/plataformaEmpresarial/services/actividadesCliente.service.js : L9
  • /src/plataformaEmpresarial/services/actividadesRotario.service.js : L11
  • /src/plataformaEmpresarial/services/aprobacionExperienciasAdmin.service.js : L13
  • /src/plataformaEmpresarial/services/authProxy.service.js : L14
  • /src/plataformaEmpresarial/services/beneficiosCliente.service.js : L8
  • /src/plataformaEmpresarial/services/beneficiosRotariosAdmin.service.js : L10
  • /src/plataformaEmpresarial/services/benefits.service.js : L9
  • /src/plataformaEmpresarial/services/categoriasAdmin.service.js : L9
  • /src/plataformaEmpresarial/services/change_password.service.js : L10
🛠 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:

  1. Validar autenticación verificando ctx.meta.user.
  2. Usar middlewares de autorización globales en el broker.
  3. Definir visibility: 'protected' o 'private' en acciones sensibles.
  4. Separar acciones públicas de privadas explícitamente.

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 1 A05:2021-Security-Misconfiguration CWE-942
API Gateway con CORS abierto a todos los orígenes
📁 1 archivo afectado
  • /src/plataformaEmpresarial/services/api.service.js : L42
🔵 INFO 99 A05:2021-Security-Misconfiguration CWE-755
JSON.parse sin try/catch puede crashear la aplicación con input malformado
📁 10 archivos afectados
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L67
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L368
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L856
  • /src/plataformaEmpresarial/pages/assets/js/pages/apexcharts-area.init.js : L13
  • /src/plataformaEmpresarial/pages/assets/js/pages/apexcharts-bar.init.js : L13
  • /src/plataformaEmpresarial/pages/assets/js/pages/apexcharts-boxplot.init.js : L13
  • /src/plataformaEmpresarial/pages/assets/js/pages/apexcharts-bubble.init.js : L14
  • /src/plataformaEmpresarial/pages/assets/js/pages/apexcharts-candlestick.init.js : L14
  • /src/plataformaEmpresarial/pages/assets/js/pages/apexcharts-column.init.js : L14
  • /src/plataformaEmpresarial/pages/assets/js/pages/apexcharts-funnel.init.js : L13
🔵 INFO 2 A09:2021-Security-Logging CWE-312
console.log de estado de Redux/Zustand con posibles datos sensibles
📁 2 archivos afectados
  • /src/plataformaEmpresarial/pages/js/collaborators.js : L213
  • /src/plataformaEmpresarial/pages/js/empresaCategoriasAdmin.js : L801
🔵 INFO 7 A01:2021-Broken-Access-Control CWE-285
fetch() a API interna sin header de Authorization — petición no autenticada
📁 7 archivos afectados
  • /src/plataformaEmpresarial/pages/js/detalleProductoServicio.js : L53
  • /src/plataformaEmpresarial/pages/js/detalleProductoServicio.js : L213
  • /src/plataformaEmpresarial/pages/js/detalleProductoServicio.js : L550
  • /src/plataformaEmpresarial/pages/js/empresasMaster.js : L370
  • /src/plataformaEmpresarial/pages/js/empresasMaster.js : L518
  • /src/plataformaEmpresarial/services/authProxy.service.js : L43
  • /src/plataformaEmpresarial/services/authProxy.service.js : L90
🔴 ERROR
HIGH
743 A03:2021-Injection CWE-79
innerHTML/outerHTML con datos sin sanitizar — DOM XSS
📁 10 archivos afectados
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L125
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L126
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L154
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L156
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L233
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L349
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L373
  • /src/plataformaEmpresarial/pages/assets/classes/AutoComplete.js : L388
  • /src/plataformaEmpresarial/pages/assets/classes/Drawer.js : L29
  • /src/plataformaEmpresarial/pages/assets/classes/Drawer.js : L327
🛠 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:

  1. Usar textContent en lugar de innerHTML para texto plano.
  2. Si se necesita HTML, sanitizar con DOMPurify antes de asignar.
  3. Crear elementos DOM con createElement() y appendChild() en lugar de innerHTML.
  4. Implementar una Content Security Policy (CSP) como defensa en profundidad.

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 19 A03:2021-Injection CWE-79
insertAdjacentHTML con datos sin sanitizar — DOM XSS
📁 10 archivos afectados
  • /src/plataformaEmpresarial/pages/assets/js/app.js : L1162
  • /src/plataformaEmpresarial/pages/assets/js/pages/card.init.js : L17
  • /src/plataformaEmpresarial/pages/assets/js/pages/card.init.js : L36
  • /src/plataformaEmpresarial/pages/assets/js/pages/card.init.js : L56
  • /src/plataformaEmpresarial/pages/assets/js/pages/chat.init.js : L732
  • /src/plataformaEmpresarial/pages/assets/js/pages/chat.init.js : L831
  • /src/plataformaEmpresarial/pages/assets/js/pages/file-manager.init.js : L270
  • /src/plataformaEmpresarial/pages/assets/js/pages/job-grid-list.init.js : L54
  • /src/plataformaEmpresarial/pages/assets/js/pages/tasks-kanban.init.js : L124
  • /src/plataformaEmpresarial/pages/assets/js/pages/tasks-kanban.init.js : L166
🔴 ERROR
CRITICAL
1 A03:2021-Injection CWE-95
eval() ejecuta código arbitrario — nunca usar con datos externos
📁 1 archivo afectado
  • /src/plataformaEmpresarial/pages/assets/js/pages/plugins/lord-icon-2.1.0.js : L1
🛠 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:

  1. Eliminar completamente el uso de eval().
  2. Para JSON, usar JSON.parse() en lugar de eval().
  3. Para expresiones matemáticas, usar una librería segura o parsear manualmente.
  4. Configurar CSP con 'unsafe-eval' prohibido.
  5. Para plantillas dinámicas, usar un motor de templates seguro.

Ejemplo de código:

// Correcto
const data = JSON.parse(userInput);

// Incorrecto
const data = eval(userInput);

🎯 Vector de Pentest: XSS, Code Injection, Data Exfiltration

🔴 ERROR 3 A03:2021-Injection CWE-79
document.write() con datos dinámicos — DOM XSS
📁 3 archivos afectados
  • /src/plataformaEmpresarial/pages/assets/js/plugins.js : L12
  • /src/plataformaEmpresarial/pages/assets/js/plugins.js : L13
  • /src/plataformaEmpresarial/pages/assets/js/plugins.js : L14
🔴 ERROR 2 A03:2021-Injection CWE-95
new Function() equivale a eval() — posible inyección de código
📁 2 archivos afectados
  • /src/plataformaEmpresarial/pages/assets/libs/card/card.js : L1
  • /src/plataformaEmpresarial/pages/assets/libs/card/jquery.card.js : L1
🔴 ERROR
HIGH
34 A03:2021-Injection CWE-20
Action Moleculer sin schema params definido — sin validación de tipos ni restricciones
📁 10 archivos afectados
  • /src/plataformaEmpresarial/services/actividadesAdmin.service.js : L13
  • /src/plataformaEmpresarial/services/actividadesCliente.service.js : L9
  • /src/plataformaEmpresarial/services/actividadesRotario.service.js : L11
  • /src/plataformaEmpresarial/services/aprobacionExperienciasAdmin.service.js : L13
  • /src/plataformaEmpresarial/services/authProxy.service.js : L14
  • /src/plataformaEmpresarial/services/beneficiosCliente.service.js : L8
  • /src/plataformaEmpresarial/services/beneficiosRotariosAdmin.service.js : L10
  • /src/plataformaEmpresarial/services/benefits.service.js : L9
  • /src/plataformaEmpresarial/services/categoriasAdmin.service.js : L9
  • /src/plataformaEmpresarial/services/change_password.service.js : L10
🛠 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:

  1. Definir params schema en cada action con tipos y restricciones.
  2. Usar $$strict: true para rechazar campos no definidos en el schema.
  3. Usar $$root: true para schemas de tipo primitivo en la raíz.
  4. Especificar min/max para strings y números.
  5. Marcar campos opcionales con optional: true explícitamente.

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
359 A03:2021
ctx.params usado sin validación explícita
📁 10 archivos afectados
  • /src/plataformaEmpresarial/services/actividadesAdmin.service.js : L25
  • /src/plataformaEmpresarial/services/actividadesAdmin.service.js : L70
  • /src/plataformaEmpresarial/services/actividadesAdmin.service.js : L76
  • /src/plataformaEmpresarial/services/actividadesAdmin.service.js : L80
  • /src/plataformaEmpresarial/services/actividadesAdmin.service.js : L81
  • /src/plataformaEmpresarial/services/actividadesAdmin.service.js : L82
  • /src/plataformaEmpresarial/services/actividadesAdmin.service.js : L83
  • /src/plataformaEmpresarial/services/actividadesAdmin.service.js : L84
  • /src/plataformaEmpresarial/services/actividadesAdmin.service.js : L85
  • /src/plataformaEmpresarial/services/actividadesAdmin.service.js : L86
🛠 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:

  1. Definir schema params en cada action con tipos y restricciones.
  2. Usar FastestValidator o Zod para validación estricta.
  3. Rechazar parámetros no definidos en el esquema ($$strict: true).
  4. Sanitizar datos de entrada antes de procesarlos.

Ejemplo de código:

params: { id: 'number|positive', name: 'string|min:3|max:100', $$strict: true }

🎯 Vector de Pentest: Mass Assignment, Parameter Pollution

🔑 Secretos y Credenciales Expuestas (Gitleaks)
⚠️ Acción requerida: Se encontraron 28 secreto(s) expuesto(s). Rotar inmediatamente todas las credenciales detectadas.
Severidad Tipo Archivo : Línea Descripción Preview
HIGH gcp-api-key plataformaEmpresarial/pages/js/rotaryInfo.js : L15 Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. AIzaSy***
HIGH gcp-api-key plataformaEmpresarial/pages/js/actividadesRotario.js : L1058 Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. AIzaSy***
HIGH gcp-api-key plataformaEmpresarial/pages/js/actividadesAdmin.js : L1163 Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. AIzaSy***
HIGH generic-api-key plataformaEmpresarial/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 plataformaEmpresarial/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 plataformaEmpresarial/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 plataformaEmpresarial/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 plataformaEmpresarial/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 plataformaEmpresarial/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 plataformaEmpresarial/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 plataformaEmpresarial/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 plataformaEmpresarial/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 plataformaEmpresarial/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 plataformaEmpresarial/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 plataformaEmpresarial/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 plataformaEmpresarial/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 plataformaEmpresarial/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 plataformaEmpresarial/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 gcp-api-key plataformaEmpresarial/pages/js/actividadesAdmin.js : L808 Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. AIzaSy***
HIGH gcp-api-key plataformaEmpresarial/pages/js/actividadesAdmin.js : L859 Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. AIzaSy***
HIGH gcp-api-key plataformaEmpresarial/pages/js/actividadesAdmin.js : L931 Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. AIzaSy***
HIGH gcp-api-key plataformaEmpresarial/pages/js/actividadesAdmin.js : L1000 Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. AIzaSy***
HIGH gcp-api-key plataformaEmpresarial/pages/js/actividadesRotario.js : L896 Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. AIzaSy***
HIGH gcp-api-key plataformaEmpresarial/pages/js/actividadesRotario.js : L953 Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. AIzaSy***
HIGH gcp-api-key plataformaEmpresarial/pages/js/actividadesRotario.js : L1029 Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. AIzaSy***
HIGH gcp-api-key plataformaEmpresarial/pages/js/actividadesRotario.js : L1103 Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. AIzaSy***
HIGH gcp-api-key plataformaEmpresarial/pages/js/rotaryInfo.js : L15 Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches. AIzaSy***
HIGH generic-api-key plataformaEmpresarial/services/mailer.service.js : L48 Detected a Generic API Key, potentially exposing access to various services and sensitive operations. 50f502***

🤖 Análisis Inteligente

Powered by Claude

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.

✅ Tracker de Remediaciones

Registra el estado de cada remediación aplicada. Los datos se guardan en el navegador.

WARNING A02:2021
Variable de entorno usada en frontend (posible exposición)

28 ocurrencias en 10 archivo(s)

⏳ Pendiente
WARNING A01:2021-Broken-Access-Control
API Gateway sin whitelist de rutas — todas las acciones expuestas por defecto

950 ocurrencias en 10 archivo(s)

⏳ Pendiente
WARNING A07:2021-Identification-Auth-Failures
Comparación de secretos con === — vulnerable a Timing Attack, usar crypto.timingSafeEqual

10787 ocurrencias en 10 archivo(s)

⏳ Pendiente
WARNING A03:2021-Injection
setTimeout/setInterval con string en lugar de función — eval implícito

252 ocurrencias en 10 archivo(s)

⏳ Pendiente
WARNING A03:2021-Injection
Asignación con propiedad dinámica puede contaminar __proto__

4675 ocurrencias en 10 archivo(s)

⏳ Pendiente
WARNING A01:2021-Broken-Access-Control
window.location con datos sin validar — posible Open Redirect

61 ocurrencias en 10 archivo(s)

⏳ Pendiente
WARNING A03:2021-Injection
Object.assign con datos externos puede contaminar el prototipo

29 ocurrencias en 10 archivo(s)

⏳ Pendiente
WARNING A07:2021-XSS
Salida directa sin sanitización (posible XSS)

1 ocurrencias en 1 archivo(s)

⏳ Pendiente
WARNING A05:2021-Security-Misconfiguration
RegExp construido con input del usuario — posible ReDoS

760 ocurrencias en 10 archivo(s)

⏳ Pendiente
WARNING A01:2021
Action Moleculer expuesta sin autenticación

34 ocurrencias en 10 archivo(s)

⏳ Pendiente
WARNING A05:2021-Security-Misconfiguration
API Gateway con CORS abierto a todos los orígenes

1 ocurrencias en 1 archivo(s)

⏳ Pendiente
ERROR A03:2021-Injection
innerHTML/outerHTML con datos sin sanitizar — DOM XSS

743 ocurrencias en 10 archivo(s)

⏳ Pendiente
ERROR A03:2021-Injection
insertAdjacentHTML con datos sin sanitizar — DOM XSS

19 ocurrencias en 10 archivo(s)

⏳ Pendiente
ERROR A03:2021-Injection
eval() ejecuta código arbitrario — nunca usar con datos externos

1 ocurrencias en 1 archivo(s)

⏳ Pendiente
ERROR A03:2021-Injection
document.write() con datos dinámicos — DOM XSS

3 ocurrencias en 3 archivo(s)

⏳ Pendiente
ERROR A03:2021-Injection
new Function() equivale a eval() — posible inyección de código

2 ocurrencias en 2 archivo(s)

⏳ Pendiente
ERROR A03:2021-Injection
Action Moleculer sin schema params definido — sin validación de tipos ni restricciones

34 ocurrencias en 10 archivo(s)

⏳ Pendiente
ERROR A03:2021
ctx.params usado sin validación explícita

359 ocurrencias en 10 archivo(s)

⏳ Pendiente
📋 Histórico de Auditorías
Fecha Proyecto Score Estado Críticos Secretos Reporte
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