packages/stats/core/drizzle.config.ts disables TLS certificate verification for the stats MySQL connection
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 66/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- bun, mysql, typescript
Línea de trabajo
Lee packages/stats/core/drizzle.config.ts y los scripts db:generate, db:push y db:studio de packages/stats/core/package.json. Confirma qué CA usa la base de datos de stats y, después, ejecuta bun run --cwd packages/stats/core db:studio o db:generate con la verificación habilitada. El objetivo se cumple cuando las herramientas verifican el certificado de la base de datos y se conectan correctamente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
packages/stats/core/drizzle.config.ts sets rejectUnauthorized: false in its MySQL ssl options (lines 16-18). The db:generate, db:push and db:studio scripts in packages/stats/core/package.json use this config, so the connection to the stats database skips server certificate verification whenever those scripts run.
Why it matters
A connection that skips certificate verification will accept any certificate presented by the server. Someone positioned on the network path between the machine running these scripts and the database could impersonate the database, read or alter the traffic, and capture the database credentials that the config reads from SST resources. Real-world exposure depends on where these scripts run and how the database is reached, which is why this is a hardening request rather than a confirmed exploit.
Suggested change
- Remove
rejectUnauthorized: false, so verification is on by default. - If the database uses a private or self-signed CA, configure that CA explicitly (for example, a
cavalue read from a resource), rather than disabling verification.
How to check
Confirm that the stats database presents a certificate issued by a CA the tooling trusts, then run bun run --cwd packages/stats/core db:studio or db:generate with verification enabled.
Notes
- Found with static analysis; the connection was not exercised.
- No CI job invokes this config directly, as far as the repository shows.
- Lenguaje dominante
- TypeScript
- Estrellas
- 221k
- Forks
- 29.6k
- Merge medio
- 4 h 55 min
- PR fusionados (30 d)
- 500
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de anomalyco/opencode
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
anomalyco/opencode#59826 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
anomalyco/opencode#59677 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
desktop: directory picker submits home directory instead of typed path when adding a projectAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
anomalyco/opencode#59589 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 61/100
anomalyco/opencode#59557 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
anomalyco/opencode#59302 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de anomalyco/opencode
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
gnosis/gnosis_vpn#661 ·
Los mantenedores suelen responder en 1 día
-
content-freshness: staleOwnedContent doc comments still say 'complete receipt' (follow-up to #7912)Abiertotriage:bug-verified
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
Los mantenedores suelen responder en 1 día
-
fix: reject sourceStorage/packagedStorage bucket that differs from the stack default (fail loud)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Eyevinn/open-videocore#1300 ·
Los mantenedores suelen responder en 1 día
-
nextjs-tracking
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
cloudflare/vinext#4390 ·
Los mantenedores suelen responder en 1 día
-
kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
kubernetes-sigs/headlamp#8175 ·
Los mantenedores suelen responder en 2 días