Proyecto / Código fuente

Todo está en GitHub

KalderaShield es código abierto con licencia Apache-2.0: la aplicación de escritorio, la de Android, la extensión del navegador, el host de nativeMessaging y este sitio. Cada afirmación de seguridad de este sitio web se puede trazar hasta el código o hasta una prueba que se ejecuta en CI público.

Qué es la base de código

Cuatro proyectos, un repositorio

La aplicación de escritorio combina una interfaz en React y TypeScript con un núcleo en Rust mediante Tauri 2: la interfaz se pinta en el WebView del sistema y el lado nativo gestiona el actualizador, el puente con la extensión y las integraciones de plataforma. La persistencia de la bóveda corre sobre wa-sqlite con un sobre de esquema versionado.

La extensión del navegador es una compilación TypeScript de Manifest V3 para Chromium y Firefox, y la aplicación de Android es un proyecto Tauri Android con vinculación biométrica por AndroidKeyStore. El host de nativeMessaging y el puente IPC viven en el workspace de Rust, donde la lógica del token de emparejamiento, el arrendamiento y el cifrado de tramas es más fácil de auditar.

El propio sitio es HTML plano subido al repositorio, sin paso de compilación para el despliegue, con scripts generadores y compuertas de calidad guardados junto a las páginas que producen.

Las compuertas que supera cada cambio

Comprobación de tipos y 2204 pruebas unitarias

248 archivos de prueba con umbrales de cobertura exigidos: 90 % de líneas, 90 % de sentencias, 85 % de funciones y 80 % de ramas. Una regresión por debajo del umbral hace fallar la compilación, no un panel.

Compuertas de fuzzing, mutación y seguridad

Las pruebas de propiedades con fast-check golpean las rutas del importador, de las copias de seguridad y de los adjuntos con entradas mal formadas. Las pruebas de mutación con Stryker califican la calidad de las pruebas. Compuertas específicas comprueban el endurecimiento de la CSP, los artefactos de versión, los marcadores de depuración y los secretos.

Análisis de la cadena de suministro en CI

CodeQL analiza el código, OpenSSF Scorecard califica la postura del repositorio, gitleaks bloquea los secretos que se suban, y la política de dependencias falla ante cualquier aviso alto o crítico, con aceptación documentada para el resto.

Arquitectura de Seguridad

Qué significa aquí el código abierto, y qué no

Una afirmación con su límite

El código abierto permite a cualquiera leer el código; no prueba por sí solo que alguien lo haya hecho. Leer es justo el objetivo: el modelo de amenazas, los registros de aceptación y el alcance de la auditoría están en el repositorio para que quien revise parta del mismo mapa. No se ha completado una auditoría independiente; la página de estado de la auditoría lo dice directamente.

TypeScript

Interfaz y extensión

Interfaz React, extensión y lógica compartida de la bóveda, con tipado estricto; sin estilos en línea de React, algo que hace cumplir la compuerta de la CSP.

Rust

Núcleo nativo

Comandos de Tauri 2, host de nativeMessaging, puente IPC de bucle local y mecánica del actualizador; cargo fmt y pruebas centradas en escrituras atómicas filtran cada versión.

Apache-2.0

Licencia

El proyecto entero más un archivo de licencias THIRD-PARTY para los componentes incluidos. Sin blobs propietarios en los instaladores.

Preguntas Frecuentes

Contribuir y avisar

¿Cómo aviso de una vulnerabilidad de seguridad?

En privado, nunca como incidencia pública: mediante los informes privados de vulnerabilidades de GitHub o el correo de SECURITY.md. Acuse de recibo en 48 horas, triaje en 7 días y divulgación coordinada en 90.

¿Puedo contribuir código?

Sí, mediante pull requests de GitHub. Las compuertas descritas antes se ejecutan en cada cambio, así que la forma más rápida de ayudar es un cambio que las mantenga en verde e incluya sus propias pruebas.

¿Puedo compilar los instaladores por mi cuenta?

Sí. La guía local de versiones documenta los comandos exactos por plataforma, y el script de versiones recoge los artefactos con sus sumas de verificación SHA-256 en release-local/<platform>/.

Páginas relacionadas

Descargar Instalador