httpx loguea la URL completa de cada request a nivel INFO. La URL de búsqueda de GNews lleva la API key como query param ?token=..., así que GNEWS_API_KEY quedaba escrita en texto plano en los logs del pod en cada consulta de noticias. Cualquier lectura de logs exponía la credencial.
Fix
Subir los loggers httpx/httpcore a WARNING justo tras basicConfig en bot/main.py, para que las URLs de request nunca lleguen a INFO. Cobertura genérica: protege también cualquier credencial futura en URLs, no solo GNews.
Las líneas de log propias del bot (bot/data/news.py) solo imprimen la query saneada de _build_query, nunca el token, así que no se ven afectadas.
## Problema
httpx loguea la URL completa de cada request a nivel INFO. La URL de búsqueda de GNews lleva la API key como query param `?token=...`, así que `GNEWS_API_KEY` quedaba escrita en texto plano en los logs del pod en cada consulta de noticias. Cualquier lectura de logs exponía la credencial.
## Fix
Subir los loggers `httpx`/`httpcore` a `WARNING` justo tras `basicConfig` en `bot/main.py`, para que las URLs de request nunca lleguen a INFO. Cobertura genérica: protege también cualquier credencial futura en URLs, no solo GNews.
Las líneas de log propias del bot (`bot/data/news.py`) solo imprimen la query saneada de `_build_query`, nunca el token, así que no se ven afectadas.
## Validación tras deploy
```
kubectl logs -n polymarket-bot deploy/bot --tail=100 | grep -i "token="
```
No debe aparecer ninguna línea con el token de GNews.
Tests: 66 passed.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
httpx logs every request URL at INFO level, and the GNews search URL
carries the API key as a `?token=` query param, so GNEWS_API_KEY was
written in plaintext into the pod logs on every news query. Raise the
httpx/httpcore loggers to WARNING so request URLs never reach INFO.
The bot's own GNews log lines only print the sanitised keyword query
(NewsClient._build_query), never the token, so they are unaffected.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
chemavx
merged commit 9e21ecac21 into main2026-06-26 15:15:44 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problema
httpx loguea la URL completa de cada request a nivel INFO. La URL de búsqueda de GNews lleva la API key como query param
?token=..., así queGNEWS_API_KEYquedaba escrita en texto plano en los logs del pod en cada consulta de noticias. Cualquier lectura de logs exponía la credencial.Fix
Subir los loggers
httpx/httpcoreaWARNINGjusto trasbasicConfigenbot/main.py, para que las URLs de request nunca lleguen a INFO. Cobertura genérica: protege también cualquier credencial futura en URLs, no solo GNews.Las líneas de log propias del bot (
bot/data/news.py) solo imprimen la query saneada de_build_query, nunca el token, así que no se ven afectadas.Validación tras deploy
No debe aparecer ninguna línea con el token de GNews.
Tests: 66 passed.
🤖 Generated with Claude Code