El equipo de ThesisForge se toma muy en serio la seguridad de la información. Valoramos el apoyo de la comunidad de seguridad y de código abierto para mantener esta herramienta segura para investigadores y estudiantes.
Ofrecemos actualizaciones y parches de seguridad para las siguientes versiones:
Important
Por favor, NO reportes vulnerabilidades de seguridad a través de problemas (issues) públicos en GitHub.
Si descubres una vulnerabilidad en ThesisForge, repórtala de manera privada mediante:
- GitHub Security Advisory: Dirígete a la pestaña de Security Advisories de este repositorio y haz clic en "Report a vulnerability".
- Contacto Directo: Alternativamente, contacta directamente al mantenedor a través de su perfil de GitHub (@oscarbol09).
- Tipo de incidente (por ejemplo: bypass de SSRF, exposición de credenciales locales, inyección de fórmulas, ejecución remota o salto de validaciones).
- Rutas de los archivos fuente afectados.
- Pasos detallados para reproducir el problema (código de prueba de concepto o payload utilizado).
- Propuesta de mitigación o parche si la tienes identificada.
ThesisForge implementa defensas en profundidad:
- SSRF Guard (
thesisforge.core.security.assert_safe_academic_url):- Resuelve el DNS de toda URL externa antes de emitir peticiones HTTP.
- Bloquea estrictamente direcciones loopback (
127.0.0.1,::1), subredes privadas RFC 1918 (10.0.0.0/8,172.16.0.0/12,192.168.0.0/16), direcciones link-local (169.254.169.254) e interfaces reservadas.
- Bóveda Local de Claves (
thesisforge.repository.keystore_repository.SecureKeyStoreRepository):- Cifrado simétrico Fernet de 256 bits para todas las claves de API BYOK guardadas en SQLite local.
- Las claves se descifran en memoria solo al ejecutar llamadas al router LLM y nunca se devuelven en texto plano en la API.
- Defensa contra Log Injection (CWE-117):
- El logger estructurado JSON sanitiza retornos de carro (
\r,\n) de las entradas del usuario y enmascara tokens sensibles.
- El logger estructurado JSON sanitiza retornos de carro (
- Sanitización contra Inyección de Fórmulas:
- La capa de exportación prefija con un apóstrofe (
') cualquier celda de tabla que inicie con=,+,-,@o tabulaciones para proteger la apertura en Microsoft Word o Excel.
- La capa de exportación prefija con un apóstrofe (
- Integridad Criptográfica de Paquetes (
thesisforge.export.bundle.ProjectBundleService):- Validación estricta de sumas de verificación SHA-256 y esquemas de manifiesto en archivos
.thesisforgepara prevenir la manipulación o importación de paquetes corruptos.
- Validación estricta de sumas de verificación SHA-256 y esquemas de manifiesto en archivos
