C
CuanDeOro
Audit Orchestrator
Cross-validation

Comparativo · Stack-Qwen vs Stack-Gemma

Auditoría base00_consolidation_map · 00_consolidation_map_GEMMA
Snapshotsnapshot_20260531
Generado2026-06-01T03:40:24.811994+00:00

Resumen agregado

SeveridadStack-QwenStack-GemmaDiferencia
CRITICAL106+4
HIGH1910+9
MEDIUM154+11
LOW42+2
INFO01-1
TOTAL4823+25

Stacks

RolStack-QwenStack-Gemma
REASONERqwq:32bgemma4:31b
CODERqwen2.5-coder:32bgemma4:31b
ADVERSARYqwq:32bgemma4:31b
JUDGEgemma2:27bgemma2:27b

Findings por prompt

PromptStack-QwenStack-GemmaSolo ASolo B
CONS-Q1-inventory9090
CONS-Q2-bridge-stellar7070
CONS-Q3-ie-current3333
CONS-Q4-soroban9595
CONS-Q5-archivos-server7575
CONS-Q6-xlm-legacy910910
CONS-Q7-dependency-map4040

CONS-Q1-inventory

Stack-Qwen: 9 findings · Stack-Gemma: 0 findings

Solo Stack-Qwen (9)

Acceso Directo a Recursos en 'marketplace/*.jpg'
MEDIUM
Descripción: Archivos como 'marketplace/*.jpg' podrían permitir acceso directo a recursos sensibles sin autenticación.
Solo detectado por Stack-Qwen
Exposición de Datos de Usuarios en 'registro-vendedor.html'
HIGH
Descripción: Archivos como 'registro-vendedor.html' podrían contener datos de usuarios no encriptados o mal protegidos.
Solo detectado por Stack-Qwen
Exposición de Información Sensible: Directorio '.git'
CRITICAL
Descripción: El directorio '.git' está expuesto, lo que incluye metadatos, historial de commits y configuraciones.
Solo detectado por Stack-Qwen
Posible Exposición de Credenciales en 'acta_deposito_mexico.html'
HIGH
Descripción: El archivo 'acta_deposito_mexico.html' (17266 bytes) podría contener información sensible como contraseñas o claves de API.
Solo detectado por Stack-Qwen
Posible Inyección de Código en 'claude.md'
HIGH
Descripción: El archivo 'claude.md' tiene 2762 bytes y podría contener código malicioso o scripts no autorizados.
Solo detectado por Stack-Qwen
Posible Manipulación de Fondos en 'stellar-escrow.js'
HIGH
Descripción: El archivo 'stellar-escrow.js' (58225 bytes) podría manejar transacciones financieras y tener errores que permitan manipulación de fondos.
Solo detectado por Stack-Qwen
Posibles Servicios Obsoletos en 'outreach-margarita.html'
LOW
Descripción: El archivo 'outreach-margarita.html' podría contener referencias a servicios o APIs desactualizados.
Solo detectado por Stack-Qwen
Posibles Vulnerabilidades en Procesamiento de Pagos
HIGH
Descripción: El archivo 'pago/_index.html' podría manejar procesos de pago y tener vulnerabilidades como inyección SQL o XSS.
Solo detectado por Stack-Qwen
Vulnerabilidades en Plantillas de Hugo: Posible Inyección de Código o XSS
MEDIUM
Descripción: Los archivos de plantillas en 'layouts/partials' podrían tener inyecciones de código o XSS si no se sanitizan las entradas.
Solo detectado por Stack-Qwen

CONS-Q2-bridge-stellar

Stack-Qwen: 7 findings · Stack-Gemma: 0 findings

Solo Stack-Qwen (7)

Clave privada de Solana expuesta en archivo JSON no protegido
CRITICAL
Descripción: El archivo 'dallas_hot_keypair.json' contiene la clave privada de la cuenta de Solana que envía USDC al bridge, permitiendo a un atacante con acceso al servidor drenar todos los fondos.
Solo detectado por Stack-Qwen
Exposición crítica de semilla BIP-39 en archivos TOML
CRITICAL
Descripción: La semilla BIP-39 se almacena en texto plano en el archivo 'cuandeoro_deployer_mainnet.toml', permitiendo a un atacante con acceso al servidor clonar la cuenta principal (GBL4FJD...) y drenar todos sus fondos.
Solo detectado por Stack-Qwen
Exposición de direcciones de destino en código fuente
MEDIUM
Descripción: Las direcciones de las 'rosalba_key' están hardcodeadas en el código, permitiendo a un atacante con acceso al repositorio modificarlas y redirigir fondos.
Solo detectado por Stack-Qwen
Falta de manejo robusto de errores en Stellar
MEDIUM
Descripción: El código no maneja errores críticos en operaciones como 'swapUsdcToXlm' o 'distribute', lo que puede causar paralización del proceso y congelación de fondos.
Solo detectado por Stack-Qwen
Falta de validación de balances mínimos en swap
LOW
Descripción: El código no valida los rangos de balances durante el swap USDC→XLM, lo que puede causar errores por underflow o overflow.
Solo detectado por Stack-Qwen
Falta de validación de firmas en transacciones de distribución
HIGH
Descripción: El proceso de distribución no verifica si las transacciones a las 'rosalba_key' ya han sido ejecutadas, permitiendo ataques de replay que duplican envíos y causan pérdidas.
Solo detectado por Stack-Qwen
Uso de seed_phrase en path predeterminado
MEDIUM
Descripción: El archivo .toml está en un path predecible, facilitando la búsqueda de claves por parte de un atacante con acceso al servidor.
Solo detectado por Stack-Qwen

CONS-Q3-ie-current

Stack-Qwen: 3 findings · Stack-Gemma: 3 findings

Solo Stack-Qwen (3)

Escrow Integration: Configuraciones de Testnet
MEDIUM
Descripción: El script 'stellar-escrow.js' utiliza configuraciones de testnet en lugar de mainnet para la integración con Stellar.
Solo detectado por Stack-Qwen
Redundancia en archivos de idioma
LOW
Descripción: Existen múltiples archivos para el manejo de idiomas ('lang-dropdown.js', 'lang-switcher.js'). Esto crea redundancia y dificulta el mantenimiento.
Solo detectado por Stack-Qwen
Widget de llamadas vulnerable a XSS
HIGH
Descripción: El widget de llamadas (vapi-voice-widget.js) utiliza un parámetro 'phonePh' que no se sanitiza, permitiendo la inyección de código JavaScript malicioso. Esto podría permitir ejecutar código arbitrario en nombre de usuarios.
Solo detectado por Stack-Qwen

Solo Stack-Gemma (3)

Escrow logic vulnerabilities
HIGH
Descripción: Se requiere análisis en profundidad de la lógica de Escrow para identificar posibles vulnerabilidades que puedan ser explotadas.
Solo detectado por Stack-Gemma
Posible exposición de secretos en código fuente
MEDIUM
Descripción: Se requiere análisis del código fuente para determinar si existen claves API, tokens o información sensible expuesta directamente.
Solo detectado por Stack-Gemma
Tokenization process security review
HIGH
Descripción: Se requiere un análisis exhaustivo del proceso de tokenización para identificar posibles vulnerabilidades y asegurar la integridad de los tokens.
Solo detectado por Stack-Gemma

CONS-Q4-soroban

Stack-Qwen: 9 findings · Stack-Gemma: 5 findings

Solo Stack-Qwen (9)

Deployer Key Exposure via deploy_testnet.sh
HIGH
Descripción: El script deploy_testnet.sh expone la variable DEPLOYER_KEY en logs o outputs. Al ejecutar 'stellar keys address $DEPLOYER_KEY', el nombre de la clave (cuandeoro-testnet) queda en logs, permitiendo correlación con la dirección real. Si el script se ejecuta en un entorno no seguro (ej: CI/CD con logs públicos), el atacante puede asociar el nombre clave con la dirección y usarla para ataques de ingeniería social o phishing contra el wallet principal.
Solo detectado por Stack-Qwen
Falta de autorización en funciones críticas
HIGH
Descripción: La función block_jurisdiction no requiere autorización del admin, permitiendo bloquear jurisdicciones sin permiso.
Solo detectado por Stack-Qwen
Falta de validación en apostille_hash para nivel Notarial
HIGH
Descripción: El contrato no verifica que apostille_hash esté presente cuando verification_level es Notarial (nivel 2). Esto permite transacciones con verificación incompleta.
Solo detectado por Stack-Qwen
KycRecord Validation Bypass
HIGH
Descripción: El campo apostille_hash en KycRecord es opcional para VerificationLevel::Notarial (nivel 2). Sin embargo, el código no verifica que apostille_hash esté presente cuando verification_level=2, permitiendo KYC fraudulento con nivel elevado sin documentación real.
Solo detectado por Stack-Qwen
Manejo inseguro de timeouts en refunds
MEDIUM
Descripción: El timeout para refunds no se verifica en la función refund, permitiendo posibles reembolsos anticipados o retrasados.
Solo detectado por Stack-Qwen
Missing Multi-Sig on Admin Initialization
CRITICAL
Descripción: El contrato se inicializa con un único administrador (DEPLOYER_ADDR) sin requerir multi-firma. El método initialize permite establecer al admin con una sola firma, lo que permite a un atacante que comprometa la cuenta deployer tomar control total del contrato, modificando parámetros críticos como timeouts o direcciones de distribución.
Solo detectado por Stack-Qwen
Posible desbordamiento en cálculos de montos
MEDIUM
Descripción: La suma de los montos en Amounts no se verifica en el contrato, lo que podría causar desbordamientos o distribuciones incorrectas.
Solo detectado por Stack-Qwen
Timeout Bypass via Ledger Timestamp Manipulation
MEDIUM
Descripción: El timeout se basa en env.ledger().timestamp(), vulnerable a manipulación en entornos no consensuados. En testnet, un atacante con control sobre el ledger podría forzar un timeout antes de lo esperado, forzando un reembolso prematuro o un commit fraudulento.
Solo detectado por Stack-Qwen
Unbounded TaxEscrow Address Manipulation
HIGH
Descripción: La dirección tax_escrow en PartyAddrs puede ser configurada por el admin sin validación. Un admin malicioso (o comprometido) podría cambiar la dirección de tax_escrow a una controlada por el atacante, dirigiendo fondos de impuestos a su billetera. El método set_tax_escrow no existe, pero el admin podría deployar una versión actualizada del contrato con direcciones alteradas.
Solo detectado por Stack-Qwen

Solo Stack-Gemma (5)

Ausencia de funciones de gestión de KYC y Admin
CRITICAL
Descripción: El código fuente proporcionado en `lib.rs` está truncado, pero incluso analizando la parte visible, faltan las implementaciones de `set_kyc`, `block_jurisdiction`, `get_admin` y `get_tx`. Las llamadas a estas funciones en `test.rs` y `deploy_testnet.sh` sugieren que existen, pero no están en el código fuente.
Solo detectado por Stack-Gemma
Inconsistencia de Versión en Metadatos
INFO
Descripción: Existe una discrepancia entre la versión declarada en el comentario de cabecera y la versión declarada en `contractmeta!`. El comentario indica V1.2, mientras que el `contractmeta!` indica 1.1.0.
Solo detectado por Stack-Gemma
Truncamiento de código fuente en `lib.rs`
CRITICAL
Descripción: El archivo `lib.rs` termina abruptamente en la línea 218, cortando la implementación de la función `initialize` y el resto de la lógica del contrato. No hay cierre de llaves ni finalización de la lógica de eventos.
Solo detectado por Stack-Gemma
Truncamiento de código fuente en `test.rs`
HIGH
Descripción: El archivo `test.rs` termina abruptamente en la línea 147, cortando la mitad de una línea de código (`f.env.ledger().set_timestamp(f.env.ledger().timestamp() + TIMEOUT_`), dejando el test case `rto4_refund_after_timeout` incompleto.
Solo detectado por Stack-Gemma
Uso de `i128` para montos en `Amounts` y `AtomicTx` sin validación de signo
MEDIUM
Descripción: En la Soroban SDK, los montos de tokens suelen ser `i128`. Sin embargo, el código no muestra validaciones explicitamente para evitar que se pasen montos negativos en la función `prepare` (aunque la parte truncada podría contenerlas), en lo que respecta a la estructura `Amounts`, no hay guardias contra valores negativos.
Solo detectado por Stack-Gemma

CONS-Q5-archivos-server

Stack-Qwen: 7 findings · Stack-Gemma: 5 findings

Solo Stack-Qwen (7)

Bypass de autenticación en endpoints /api/upload y /api/list
CRITICAL
Descripción: Los endpoints /api/upload y /api/list no incluyen la dependencia 'auth()' en sus definiciones. FastAPI no fuerza automáticamente la autenticación a menos que se especifique en cada ruta. Esto permite omitir la autenticación y acceder a funciones críticas.
Solo detectado por Stack-Qwen
Exposición de archivos estáticos debido a montaje incorrecto de rutas
MEDIUM
Descripción: El servicio no incluye un middleware para proteger archivos estáticos. Un atacante podría acceder a archivos como '.env' o código fuente mediante rutas como '/.git/' o '/server.py' si el servidor está configurado con permisos amplios.
Solo detectado por Stack-Qwen
Falta de encriptación en la transmisión de credenciales HTTP Basic
MEDIUM
Descripción: El servicio no fuerza HTTPS en todas las conexiones, permitiendo que credenciales HTTP Basic sean interceptadas en tráfico no cifrado. Aunque la URL pública menciona HTTPS, no hay validación de que las solicitudes sean solo HTTPS.
Solo detectado por Stack-Qwen
Falta de validación de tamaño de archivo en frontend y backend
HIGH
Descripción: El frontend no limita el tamaño de archivos antes de iniciar la subida, permitiendo envíos superiores a MAX_MB sin notificación. El backend tampoco valida el tamaño del archivo durante la subida.
Solo detectado por Stack-Qwen
Falta de validación de variables de entorno
LOW
Descripción: Las variables de entorno (USER, PASS, MAX_MB) se usan directamente sin verificar su presencia o formato.
Solo detectado por Stack-Qwen
Inyección de directorios a través de nombres de archivo manipulados
HIGH
Descripción: El método 'safe_filename()' reemplaza caracteres no permitidos pero no evita secuencias como '../' si son introducidos en el nombre del archivo. Un atacante podría subir un archivo con nombre 'malicious/../file.txt' para sobrescribir archivos fuera del directorio /uploads.
Solo detectado por Stack-Qwen
Ruta pública '/f/<filename>' sin autenticación
HIGH
Descripción: Los archivos subidos son accesibles públicamente mediante URL estática, sin verificar credenciales.
Solo detectado por Stack-Qwen

Solo Stack-Gemma (5)

Hardcoded Default Credentials
CRITICAL
Descripción: El servidor utiliza credenciales predeterminadas hardcoded en el código fuente si las variables de entorno no están configuradas.
Solo detectado por Stack-Gemma
Insecure File Storage Path
LOW
Descripción: El servidor guarda los archivos en una ruta absoluta hardcoded que puede no ser compatible con todos los entornos de despliegue.
Solo detectado por Stack-Gemma
Lack of File Size Validation on Server-Side
HIGH
Descripción: Aunque se define una variable `MAX_MB`, el servidor no implementa ninguna validación de tamaño de archivo en el endpoint de upload.
Solo detectado por Stack-Gemma
Lack of Rate Limiting on Upload Endpoint
HIGH
Descripción: El servidor no implementa ningún límite de tasa (rate limit) en el endpoint de subida de archivos, permitiendo que un usuario autenticado pueda saturar el servidor.
Solo detectado por Stack-Gemma
Unrestricted File Upload (Remote Code Execution potential)
CRITICAL
Descripción: El servidor permite la subida de cualquier tipo de archivo sin validar la extensión o el contenido (MIME type), guardándolos en un directorio que luego se sirve estáticamente.
Solo detectado por Stack-Gemma

CONS-Q6-xlm-legacy

Stack-Qwen: 9 findings · Stack-Gemma: 10 findings

Solo Stack-Qwen (9)

Acceso a claves de encriptación y contratos ZK
CRITICAL
Descripción: Los archivos en 'circuits/kyc-credential' contienen claves y parámetros de circuitos zk-SNARKS, incluyendo zkeys y ptaus. Estos archivos permiten a un atacante generar pruebas falsas o desencriptar datos sensibles.
Solo detectado por Stack-Qwen
Acceso no autorizado a servicios de inteligencia artificial
MEDIUM
Descripción: El servicio de IA en 'ai_service/main.py' podría tener endpoints expuestos sin autenticación, permitiendo al atacante acceder a modelos entrenados con datos sensibles o generar contenido falso.
Solo detectado por Stack-Qwen
Archivos sensibles en plaintext
CRITICAL
Descripción: El archivo .stellar_keys_backup.json contiene claves de Stellar en formato JSON sin cifrar.
Solo detectado por Stack-Qwen
Base de Datos de Chroma y Ollama
MEDIUM
Descripción: La carpeta ai_service/chroma_db y modelos Ollama no están en el bridge. Esto afecta el funcionamiento del chatbot.
Solo detectado por Stack-Qwen
Circuitos ZK y Verificadores Solidity
CRITICAL
Descripción: Existen componentes de zk-kyc-verifier en contracts/zk-kyc-verifier que no están en el bridge. Esto afecta procesos de KYC descentralizados.
Solo detectado por Stack-Qwen
Exposición de credenciales en archivos de configuración
CRITICAL
Descripción: El directorio .git contiene archivos como .env con secretos vigentes. El atacante accede a estos archivos para obtener claves de API, contraseñas o credenciales de acceso a servicios críticos.
Solo detectado por Stack-Qwen
Exposición de datos de clientes en bases de datos expuestas
HIGH
Descripción: Archivos como 'bot/cuandeoro_data.db' o 'ai_service/chroma.sqlite3' contienen datos de clientes y transacciones. Un atacante puede acceder a estos datos para realizar phishing o extorsión.
Solo detectado por Stack-Qwen
Presencia de servicios AI y Business Server
HIGH
Descripción: El módulo cuandeoro_xlm incluye componentes como ai_service y business_server que no están presentes en cuandeoro_bridge. Esto causa pérdida de funcionalidades clave como el chatbot basado en IA y verificación de KYC.
Solo detectado por Stack-Qwen
Vulnerabilidades en contratos inteligentes expuestos
HIGH
Descripción: El directorio 'contracts/zk-kyc-verifier' contiene código fuente de contratos inteligentes con posibles vulnerabilidades no parcheadas. Un atacante puede explotar fallos en validaciones o permisos.
Solo detectado por Stack-Qwen

Solo Stack-Gemma (10)

Abuso de scripts de despliegue legacy para escalada de privilegios
HIGH
Descripción: El atacante analiza `tools/deploy_to_old_vps.sh` y busca hardcoded credentials o IPs de servidores antiguos que aún responden. Si el servidor 'old_vps' sigue activo, el atacante utiliza las credenciales expuestas en los scripts para acceder via SSH y, desde allí, escalar privilegios a root o pivotar hacia la infraestructura actual.
Solo detectado por Stack-Gemma
Activos legales y documentación regulatoria no migrados
MEDIUM
Descripción: Existe una vasta cantidad de páginas HTML legales y documentos de cumplimiento en múltiples idiomas (es, en, de). El archivado del módulo eliminaría la interfaz pública de cumplimiento legal y los términos de servicio actuales.
Solo detectado por Stack-Gemma
Almacenamiento de base de datos SQLite en repositorio
MEDIUM
Descripción: Línea de tiempo de datos operativos en archivos .db y .sqlite3 comprometidos en el repositorio.
Solo detectado por Stack-Gemma
Componentes de ZK-KYC no migrados
HIGH
Descripción: El módulo contiene la lógica de circuitos Circom y el verificador de Groth16 que son fundamentales para la privacidad del KYC. Si se procede al ARCHIVE sin migrar los circuitos ZK, el sistema pierde la capacidad de generar nuevas pruebas de identidad sin revelar datos.
Solo detectado por Stack-Gemma
Exposición de claves privadas Stellar en backup JSON y .env
CRITICAL
Descripción: Se detectan archivos `.json` de backup de claves y `.env` con credenciales de API, claves de acceso a la red Stellar y claves privadas expuestas. Esto permite al atacante robar fondos del wallet GDGQ...AUF y obtener control total sobre la infraestructura de pagos.
Solo detectado por Stack-Gemma
Exposición de claves SSH en el servicio de IA
CRITICAL
Descripción: Se detectan claves privadas SSH en el directorio de datos de Ollama dentro del servicio de IA.
Solo detectado por Stack-Gemma
Habilitación de scripts de despliegue en VPS antiguo
LOW
Descripción: Se detectan scripts de despliegue manuales que podrían contener hardcoded credentials o rutas críticas.
Solo detectado por Stack-Gemma
Manipulación de la lógica de Escrow en el cliente via JS
HIGH
Descripción: El atacante, actuando como un usuario malicioso, analiza `js/stellar-escrow.js`. Al ser la lógica de control de Escrow en el lado del cliente, el atacante puede modificar las llamadas a las API y modificar las transacciones que fideicomisadas (claims) soient envoyées a través de un lado del cliente JS, evitando que el sistema de validación del backende se saltean.
Solo detectado por Stack-Gemma
Presencia de servicios críticos no migrados (AI y Business Server)
HIGH
Descripción: El módulo contiene implementaciones completas de 'ai_service' y 'business_server' que no forman parte del núcleo de bridge. Al archivar el módulo, se pierden los servicios de IA y el servidor de negocio con la API de KYC.
Solo detectado por Stack-Gemma
Sanciones internacionales via falta de control de Geo-blocking en servidor
HIGH
Descripción: El atacante, en el rol de Auditor Regulador, detecta que el geo-blocking se implementa exclusivamente en el lado del cliente via `js/geo-block-usa.js` y `js/geo-block-uae.js`. Un usuario en EE.UU. o EAU puede simplemente desactivar el JS o usar un VPN, haciendo que el sistema sea accepted. El esto constituye un incumplimiento grave de OFAC y SEC la regulacionesy.
Solo detectado por Stack-Gemma

CONS-Q7-dependency-map

Stack-Qwen: 4 findings · Stack-Gemma: 0 findings

Solo Stack-Qwen (4)

Exposición del Repositorio Git Completo
CRITICAL
Descripción: El directorio '.git' está completo, exponiendo historial de commits, claves y configuraciones potenciales. Esto fue detectado por CODER y ADVERSARY.
Solo detectado por Stack-Qwen
Falta de Protección contra Ataques XSS
MEDIUM
Descripción: Archivos HTML no utilizan funciones de sanitización de entrada, permitiendo inyección de scripts maliciosos. Esto fue detectado por ADVERSARY.
Solo detectado por Stack-Qwen
Posible Inyección de Código en Formularios o APIs
HIGH
Descripción: La configuración de Hugo podría permitir la inyección de código a través de formularios o APIs sin validaciones. Esto fue detectado por ADVERSARY.
Solo detectado por Stack-Qwen
Posibles Datos de Usuario No Enmascarados
MEDIUM
Descripción: Archivos en 'content/legal/' podrían contener datos de usuario no enmascarados como correos o identificadores. Esto fue detectado por ADVERSARY.
Solo detectado por Stack-Qwen