Auditoría de seguridad de CASK
CASK security audit
Revisamos la seguridad de CASK de forma exhaustiva, área por área. Esta página resume qué verificamos y qué encontramos. El objetivo es simple: que puedas confiar en CASK porque entiendes cómo está construido.
We reviewed CASK's security thoroughly, area by area. This page summarizes what we verified and what we found. The goal is simple: that you can trust CASK because you understand how it's built.
Metodología
La revisión cubrió cinco áreas críticas para una billetera de auto-custodia: cómo se protegen las llaves, cómo se comporta el servidor, cómo se gestionan los accesos, cómo se protege la infraestructura, y cómo se verifican las transacciones. Cada área se examinó en detalle contra los estándares de la industria.
The review covered five critical areas for a self-custody wallet: how keys are protected, how the server behaves, how access is managed, how infrastructure is protected, and how transactions are verified. Each area was examined in detail against industry standards.
Áreas auditadas
Que el servidor nunca tenga acceso a tu frase de recuperación, tus llaves privadas ni tu contraseña.
That the server never has access to your recovery phrase, your private keys, or your password.
El servidor solo almacena datos cifrados que no puede leer. El cifrado y descifrado ocurren en tu navegador. Tu contraseña nunca se transmite. Se confirmó que ninguna parte del sistema del servidor maneja llaves ni frases en texto plano.
The server only stores encrypted data it cannot read. Encryption and decryption happen in your browser. Your password is never transmitted. It was confirmed that no part of the server system handles keys or phrases in plain text.
Veredicto: el servidor es solo un almacén de datos cifrados. Aunque fuera comprometido, no habría llaves que robar.
Verdict: the server is just a store of encrypted data. Even if compromised, there would be no keys to steal.
La protección de la conexión, la autenticación de las operaciones, y las defensas contra ataques web comunes.
Connection protection, operation authentication, and defenses against common web attacks.
Conexión cifrada por HTTPS forzado, con protecciones que impiden conexiones inseguras. Cookies de sesión protegidas contra acceso por scripts. Defensas activas contra clickjacking, inyección de contenido y falsificación de peticiones. Las operaciones sensibles requieren autenticación verificada.
HTTPS-forced encrypted connection, with protections that prevent insecure connections. Session cookies protected against script access. Active defenses against clickjacking, content injection, and request forgery. Sensitive operations require verified authentication.
Veredicto: las protecciones web recomendadas para aplicaciones que manejan valor están aplicadas.
Verdict: the web protections recommended for applications that handle value are in place.
Cómo se generan, almacenan y validan las claves de acceso a la API pública.
How access keys to the public API are generated, stored, and validated.
Las claves se generan con aleatoriedad criptográfica. Se almacenan cifradas, nunca en texto plano —si la base de datos fuera comprometida, las claves no serían utilizables. La validación usa comparación de tiempo constante, que protege contra ataques de temporización.
Keys are generated with cryptographic randomness. They're stored hashed, never in plain text —if the database were compromised, the keys would not be usable. Validation uses constant-time comparison, which protects against timing attacks.
Veredicto: gestión de claves de calidad profesional, al nivel de servicios financieros establecidos.
Verdict: professional-grade key management, on par with established financial services.
Cómo se protegen las claves internas del sistema (las que operan la infraestructura, distintas de las llaves de usuario).
How the system's internal keys are protected (those that operate the infrastructure, separate from user keys).
Las claves del sistema están fuera del código fuente y fuera del repositorio, con permisos restrictivos que limitan el acceso únicamente al proceso autorizado. Se confirmó que no hay ninguna clave sensible incrustada en el código.
The system keys are outside the source code and outside the repository, with restrictive permissions that limit access solely to the authorized process. It was confirmed that no sensitive key is embedded in the code.
Veredicto: las claves de infraestructura están correctamente aisladas y protegidas.
Verdict: infrastructure keys are properly isolated and protected.
Que ninguna transacción pueda ser manipulada entre lo que apruebas y lo que se firma.
That no transaction can be tampered with between what you approve and what gets signed.
Antes de firmar cualquier operación, tu dispositivo verifica de forma independiente que el destino y el monto sean exactamente los que aprobaste. Si algo no coincide, la operación se cancela. El control sobre qué se firma es siempre tuyo, del lado del cliente.
Before signing any operation, your device independently verifies that the destination and amount are exactly what you approved. If anything doesn't match, the operation is canceled. Control over what gets signed is always yours, on the client side.
Veredicto: aunque la comunicación fuera manipulada, nadie podría redirigir tus fondos.
Verdict: even if communication were tampered with, no one could redirect your funds.
El cifrado en detalle
La protección de tu frase de recuperación se basa en algoritmos estándar de la industria, con parámetros que siguen las recomendaciones actuales de seguridad:
The protection of your recovery phrase relies on industry-standard algorithms, with parameters that follow current security recommendations:
Cifrado: AES-GCM 256 bits (cifrado autenticado)
Protección: sal única por usuario · IV aleatorio por operación
Las 310,000 iteraciones de PBKDF2 siguen la recomendación de OWASP, haciendo que un ataque de fuerza bruta sea extremadamente costoso. AES-GCM garantiza tanto la confidencialidad como la integridad del dato. Además, tu frase solo existe descifrada en memoria durante el instante de la firma, y se descarta después; no queda almacenada en ningún caché.
The 310,000 PBKDF2 iterations follow the OWASP recommendation, making a brute-force attack extremely costly. AES-GCM guarantees both the confidentiality and integrity of the data. Also, your phrase only exists decrypted in memory during the instant of signing, and is discarded afterward; it isn't stored in any cache.
¿Quieres entender cómo protege CASK tu dinero en lenguaje simple? Visita la página de seguridad para usuarios.
Want to understand how CASK protects your money in plain language? Visit the user security page.