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